querysub 0.165.0 → 0.166.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "querysub",
3
- "version": "0.165.0",
3
+ "version": "0.166.0",
4
4
  "main": "index.js",
5
5
  "license": "MIT",
6
6
  "note1": "note on node-forge fork, see https://github.com/digitalbazaar/forge/issues/744 for details",
@@ -279,19 +279,26 @@ export async function waitForImportBlockers() {
279
279
  }
280
280
  }
281
281
 
282
+ function getDirname(fileName: string) {
283
+ fileName = fileName.replaceAll("\\", "/");
284
+ let lastSlash = fileName.lastIndexOf("/");
285
+ if (lastSlash === -1) return "";
286
+ return fileName.slice(0, lastSlash);
287
+ }
288
+
282
289
  // On import every parent folder is set to the spec. For root folders this makes
283
290
  // the spec useless, but for unique folders it will only be set once, making it very useful!
284
291
  // "overlapping" means multiple folders mapped to this spec
285
292
  let folderToSpec = new Map<string, LoadFunctionSpec | "overlapping">();
286
293
  function registerSpec(fileName: string, spec: LoadFunctionSpec | "overlapping") {
287
- let folder = path.dirname(fileName);
294
+ let folder = getDirname(fileName);
288
295
  while (true) {
289
296
  if (folderToSpec.has(folder)) {
290
297
  folderToSpec.set(folder, "overlapping");
291
298
  } else {
292
299
  folderToSpec.set(folder, spec);
293
300
  }
294
- let parentFolder = path.dirname(folder);
301
+ let parentFolder = getDirname(folder);
295
302
  if (parentFolder === folder) {
296
303
  break;
297
304
  }
@@ -300,11 +307,11 @@ function registerSpec(fileName: string, spec: LoadFunctionSpec | "overlapping")
300
307
  }
301
308
 
302
309
  export function getSpecFromModule(module: NodeJS.Module): LoadFunctionSpec | undefined {
303
- let folder = path.dirname(module.filename);
310
+ let folder = getDirname(module.filename);
304
311
  while (true) {
305
312
  let spec = folderToSpec.get(folder);
306
313
  if (spec && typeof spec !== "string") return spec;
307
- let parentFolder = path.dirname(folder);
314
+ let parentFolder = getDirname(folder);
308
315
  if (parentFolder === folder) break;
309
316
  folder = parentFolder;
310
317
  }