Next Phenomenal Microbrewery

    embark-compiler
    TypeScript icon, indicating that this package has built-in type declarations

    6.0.0 • Public • Published

    embark-compiler

    Embark compiler module

    Abstracts the compiler interface and exposes a plugin api to register contract extensions and how to handle them. It accepts command requests to compile and returns the aggregated compilation result.

    API

    command: compiler:contracts:compile

    arguments:

    • contractFiles -
    • options - config object {isCoverage: boolean (default: false)}

    response:

    • error
    • compiledObject - compilation result
      {
        runtimeBytecode: <deployed bytecode>
        realRuntimeByteCode: <deployed bytecode without swarm hash>
        code: <bytecode>
        abiDefinition: <abi object>
    
        swarmHash: (optional)
        gasEstimates: (optional)
        functionHashes: (optional)
        filename: (optional) <contract relative filename>
        originalFilename: (optional) <contract real filename>
      }
    

    example:

    import { File } from 'src/lib/core/file.js';
    const contractFiles = [(new File({path: "simplestorage.sol", type: "custom", resolver: (cb) => { return cb(".. contract code...") }}))];
    
    embark.events.request("compiler:contracts:compile", contractFiles, {}, (err, compiledObject) => {
    })
    
    

    Plugins

    This module enables the registerCompiler plugin API. see documentation

    embark.registerCompiler

    arguments:

    • extension - extension of the contract language (e.g .sol)
    • response callback
      • contractFiles: filenames matching the extension
      • callback(error, compiledObject)

    Visit framework.embarklabs.io to get started with Embark.

    Install

    npm i embark-compiler

    DownloadsWeekly Downloads

    46

    Version

    6.0.0

    License

    MIT

    Unpacked Size

    31.9 kB

    Total Files

    9

    Last publish

    Collaborators

    • andremedeiros
    • embarkbot
    • emizzle
    • iurimatias
    • jrainville
    • michaelsbradleyjr
    • pascalprecht