remix-project mirror
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
remix-project/libs/remix-url-resolver
aniket-engg 7bae5a93d8 build command working for all ts libs 5 years ago
..
src Moved files to libs/ 5 years ago
tests Moved files to libs/ 5 years ago
.gitignore Moved files to libs/ 5 years ago
.npmignore Moved files to libs/ 5 years ago
README.md Moved files to libs/ 5 years ago
package-lock.json Moved files to libs/ 5 years ago
package.json Moved files to libs/ 5 years ago
tsconfig.json build command working for all ts libs 5 years ago
tslint.json Moved files to libs/ 5 years ago

README.md

Remix URL resolver engine

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'
}

Usage

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
	})

References