function resolveBuiltin(target) { var resolved = lassoResolveFrom(__dirname, target); if (!resolved) { throw new Error('Missing builtin: ' + target); } return resolved.path; }
transform: function (code, context) { var file = context.dependency.file; if (!file || file.includes('node_modules/') || file.includes('test/') || file.includes('coverage/') || file.includes('benchmark/')) return code; var unwrappedCode; if (context.dependency.type === 'commonjs-def') { unwrappedCode = code.replace(/^\$\_mod[^\n]+?\{ /, '').replace(/\n\}\);$/, ''); } var actualFile = resolve(__dirname, file).path; var instrumentedCode = instrumenter.instrumentSync(unwrappedCode || code, actualFile); return unwrappedCode ? code.replace(unwrappedCode, instrumentedCode) : instrumentedCode; }
async function defaultUrlResolver (url, lassoContext) { if (url.indexOf('//') !== -1) { return url; } var queryStart = url.indexOf('?'); var query; var target = url; if (queryStart !== -1) { query = url.substring(queryStart + 1); target = url.substring(0, queryStart); } if (target.charAt(0) === '/' && target.charAt(1) !== '/') { target = nodePath.join(lassoContext.getProjectRoot(), target); } else if (target.startsWith(REQUIRE_PREFIX)) { target = target.substring(REQUIRE_PREFIX.length).trim(); var from; if (lassoContext.dependency) { from = lassoContext.dependency.getDir(lassoContext); } else { from = lassoContext.getProjectRoot(); } var resolved = lassoResolveFrom(from, target); if (resolved) { target = resolved.path; } else { var err = new Error('Module not found: ' + target + ' (from: ' + from + ')'); err.target = target; err.from = from; err.code = 'MODULE_NOT_FOUND'; throw err; } } if (query) { // Add back the query string target += '?' + query; } return target; }