The project has been moved to https://github.com/ethereum/remix-project/tree/master/libs/remix-url-resolver
resolve(url, urlHandler)
Returns json
object with exact same path as import
statement.
Output
{
content: 'pragma solidity ^0.5.0;\nimport "./mortal.sol";\n\ncontract Greeter is Mortal {\n /* Define variable greeting of the type string */\n string greeting;\n\n /* This runs when the contract is executed */\n constructor(string memory _greeting) public {\n greeting = _greeting;\n }\n\n /* Main function */\n function greet() public view returns (string memory) {\n return greeting;\n }\n}\n',
cleanURL: '../greeter.sol',
type: 'local'
}
resolve(url, urlHandler)
function should be called from within handleImportCb
function of solc.compile(input, handleImportCb)
.
import { RemixURLResolver } from 'remix-url-resolver'
const urlResolver = new RemixURLResolver()
const fileName: string = '../greeter.sol'
urlResolver.resolve(fileName, urlHandler)
.then((sources: object) => {
console.log(sources)
})
.catch((e: Error) => {
throw e
})