diff options
Diffstat (limited to 'loader.js')
| -rw-r--r-- | loader.js | 22 |
1 files changed, 18 insertions, 4 deletions
@@ -1,8 +1,22 @@ import path from 'path' import fs from 'fs' -export function resolve (specifier, parentModuleURL, defaultResolver) { - specifier = specifier.replace(/^\$/, path.resolve('.') + "/") - specifier = fs.existsSync(specifier) && fs.lstatSync(specifier).isDirectory() ? `${specifier}/index` : specifier - return defaultResolver(specifier, parentModuleURL) +export function resolve (specifier, context, nextResolve) { + const { parentURL = null } = context; + + if (specifier.startsWith('$')) { + if (specifier.startsWith('$config')) { + specifier = 'file://' + path.resolve('.') + "/config.js"; + } + else if (specifier.startsWith('$')) { + specifier = specifier.replace(/^\$/, 'file://' + path.resolve('.') + '/') + '.js'; + } + + return { + shortCircuit: true, + url: new URL(specifier).href + }; + } + + return nextResolve(specifier, context) } |
