{"library":"solidity-compiler","title":"@0x/sol-compiler","type":"library","description":"Solidity compiler wrapper and artifactor that provides smart recompilation, project-wide compilation, per-file Solidity version management, and configurable artifact output. Current stable version: 7.0.1. Release cadence: irregular, part of 0x monorepo. Key differentiators: intelligent caching (only recompiles changed contracts), automatic version resolution from pragma statements, and standard input description support for flexible artifacts. Ships TypeScript types. Requires Node >=6.12. Suitable for both CLI and programmatic use.","language":"javascript","status":"active","last_verified":"Fri May 01","install":{"commands":["npm install solidity-compiler"],"cli":{"name":"solidity-compiler","version":null}},"imports":["import { Compiler } from '@0x/sol-compiler'","const { Compiler } = require('@0x/sol-compiler')","import { CompilerOptions } from '@0x/sol-compiler'"],"auth":{"required":false,"env_vars":[]},"links":{"homepage":null,"github":"https://github.com/LogvinovLeon/tools","docs":null,"changelog":null,"pypi":null,"npm":"https://www.npmjs.com/package/solidity-compiler","openapi_spec":null,"status_page":null,"smithery":null},"quickstart":{"code":"import { Compiler } from '@0x/sol-compiler';\n\nasync function compile(): Promise<void> {\n  const compiler = new Compiler({\n    contractsDir: './contracts',\n    artifactsDir: './artifacts',\n    compilerSettings: {\n      outputSelection: {\n        '*': {\n          '*': ['abi', 'evm.bytecode.object'],\n        },\n      },\n    },\n    solcVersion: '^0.8.0',\n    solcVersions: ['0.8.0', '0.8.1'],\n    useDockerisedSolc: false,\n    isOfflineMode: false,\n    shouldCompileIndividually: true,\n    shouldSaveStandardInput: true,\n    standardInput: { language: 'Solidity', sources: {}, settings: {} },\n  });\n\n  await compiler.compile();\n  console.log('Compilation succeeded');\n}\n\ncompile().catch(console.error);","lang":"typescript","description":"Shows basic programmatic usage: instantiate Compiler with paths and options, then call compile().","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}