aboutsummaryrefslogtreecommitdiffstats
path: root/loader.js
diff options
context:
space:
mode:
Diffstat (limited to 'loader.js')
-rw-r--r--loader.js22
1 files changed, 18 insertions, 4 deletions
diff --git a/loader.js b/loader.js
index 7deda005..e8f5036e 100644
--- a/loader.js
+++ b/loader.js
@@ -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)
}