resolver for remix-tests CLI

pull/5370/head
Aniket-Engg 3 years ago committed by Aniket
parent 503509a246
commit 091e2d035a
  1. 1
      libs/remix-tests/package.json
  2. 26
      libs/remix-tests/src/compiler.ts

@ -42,6 +42,7 @@
"@remix-project/remix-lib": "^0.5.15",
"@remix-project/remix-simulator": "^0.2.15",
"@remix-project/remix-solidity": "^0.5.1",
"@remix-project/remix-url-resolver": "^0.0.36",
"ansi-gray": "^0.1.1",
"async": "^2.6.0",
"axios": ">=0.21.1",

@ -4,6 +4,7 @@ import path from 'path'
import deepequal from 'deep-equal'
import Log from './logger'
import { Compiler as RemixCompiler } from '@remix-project/remix-solidity'
import { RemixURLResolver } from '@remix-project/remix-url-resolver'
import { SrcIfc, CompilerConfiguration, CompilationErrors } from './types'
const logger = new Log()
const log = logger.logger
@ -85,6 +86,23 @@ export function compileFileOrFiles (filename: string, isDirectory: boolean, opts
'remix_accounts.sol': { content: writeTestAccountsContract(accounts) }
}
const filepath: string = (isDirectory ? filename : path.dirname(filename))
const importsCallback = (url, cb) => {
try {
console.log('inside importsCallback----url--->', url)
if(fs.existsSync(url)) cb(null, fs.readFileSync(url, 'utf-8'))
else {
console.log('inside else------->')
const urlResolver = new RemixURLResolver()
urlResolver.resolve(url).then((result) => {
console.log('result------->', result)
cb(null, result.content)
})
.catch((error) => cb(error.message))
}
} catch (e) {
cb(e.message)
}
}
try {
if (!isDirectory && fs.existsSync(filename)) {
if (filename.split('.').pop() === 'sol') {
@ -114,13 +132,7 @@ export function compileFileOrFiles (filename: string, isDirectory: boolean, opts
} finally {
async.waterfall([
function loadCompiler (next) {
compiler = new RemixCompiler((url, cb) => {
try {
cb(null, fs.readFileSync(url, 'utf-8'))
} catch (e) {
cb(e.message)
}
})
compiler = new RemixCompiler(importsCallback)
if (compilerConfig) {
const { currentCompilerUrl, evmVersion, optimize, runs } = compilerConfig
if (evmVersion) compiler.set('evmVersion', evmVersion)

Loading…
Cancel
Save