@mechris3/glassbox 0.1.53 → 0.1.55
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/dist/src/runner/run-all-journeys.d.ts.map +1 -1
- package/dist/src/runner/run-all-journeys.js +8 -2
- package/dist/src/runner/run-all-journeys.js.map +1 -1
- package/dist/src/runner/run-journey.js +5 -1
- package/dist/src/runner/run-journey.js.map +1 -1
- package/dist/src/server/test-executor.d.ts +19 -1
- package/dist/src/server/test-executor.d.ts.map +1 -1
- package/dist/src/server/test-executor.js +29 -6
- package/dist/src/server/test-executor.js.map +1 -1
- package/dist/src/utils/import-path.d.ts +26 -0
- package/dist/src/utils/import-path.d.ts.map +1 -0
- package/dist/src/utils/import-path.js +79 -0
- package/dist/src/utils/import-path.js.map +1 -0
- package/dist/src/utils/import-path.test.d.ts +2 -0
- package/dist/src/utils/import-path.test.d.ts.map +1 -0
- package/dist/src/utils/import-path.test.js +66 -0
- package/dist/src/utils/import-path.test.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-all-journeys.d.ts","sourceRoot":"","sources":["../../../src/runner/run-all-journeys.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"run-all-journeys.d.ts","sourceRoot":"","sources":["../../../src/runner/run-all-journeys.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,4CAA4C;IAC5C,MAAM,EAAE,OAAO,CAAC;IAChB,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,oGAAoG;IACpG,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC;IAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CA0GrD"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
*/
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.runAllJourneys = runAllJourneys;
|
|
13
|
+
const fs_1 = require("fs");
|
|
13
14
|
const launcher_js_1 = require("../cdp/launcher.js");
|
|
14
15
|
const browser_discovery_js_1 = require("../utils/browser-discovery.js");
|
|
15
16
|
const journey_discovery_js_1 = require("../server/journey-discovery.js");
|
|
@@ -36,8 +37,13 @@ async function runAllJourneys(config, options) {
|
|
|
36
37
|
console.log('No journeys match filter:', options.journeyFilter.join(', '));
|
|
37
38
|
return { results, exitCode: 1 };
|
|
38
39
|
}
|
|
39
|
-
// 2. Find a browser
|
|
40
|
-
|
|
40
|
+
// 2. Find a browser. An explicit config path is only honored when it exists
|
|
41
|
+
// on this machine — a path from a config shared across OSes (e.g. a macOS
|
|
42
|
+
// path in a Windows checkout) would otherwise fail at spawn() with ENOENT.
|
|
43
|
+
const configuredPath = config.browser.executablePath;
|
|
44
|
+
const browserPath = configuredPath && (0, fs_1.existsSync)(configuredPath)
|
|
45
|
+
? configuredPath
|
|
46
|
+
: autoDetectBrowser();
|
|
41
47
|
if (!browserPath) {
|
|
42
48
|
console.error('No Chromium browser found. Set browser.executablePath in config.');
|
|
43
49
|
return { results, exitCode: 1 };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-all-journeys.js","sourceRoot":"","sources":["../../../src/runner/run-all-journeys.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;
|
|
1
|
+
{"version":3,"file":"run-all-journeys.js","sourceRoot":"","sources":["../../../src/runner/run-all-journeys.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,7 @@ const domains_js_1 = require("../cdp/domains.js");
|
|
|
20
20
|
const cdp_adapter_js_1 = require("../adapters/cdp-adapter.js");
|
|
21
21
|
const collectors_js_1 = require("../ai/collectors.js");
|
|
22
22
|
const target_manager_js_1 = require("./target-manager.js");
|
|
23
|
+
const import_path_js_1 = require("../utils/import-path.js");
|
|
23
24
|
async function main() {
|
|
24
25
|
const journeyPath = process.env.GLASSBOX_JOURNEY_PATH;
|
|
25
26
|
const wsEndpoint = process.env.GLASSBOX_WS_ENDPOINT;
|
|
@@ -133,7 +134,10 @@ async function main() {
|
|
|
133
134
|
* Dynamically import a journey file and detect its export shape.
|
|
134
135
|
*/
|
|
135
136
|
async function importJourney(journeyPath) {
|
|
136
|
-
|
|
137
|
+
// Convert the absolute filesystem path to a file:// URL so the ESM loader
|
|
138
|
+
// accepts it on Windows (where a raw `D:\...` path is rejected as an
|
|
139
|
+
// unsupported URL scheme). No-op for already-valid specifiers/URLs.
|
|
140
|
+
const module = await import((0, import_path_js_1.toImportSpecifier)(journeyPath));
|
|
137
141
|
return module;
|
|
138
142
|
}
|
|
139
143
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-journey.js","sourceRoot":"","sources":["../../../src/runner/run-journey.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAEH,wDAAqD;AACrD,kDAAyH;AACzH,+DAAwD;AACxD,uDAA0D;AAC1D,2DAAyD;
|
|
1
|
+
{"version":3,"file":"run-journey.js","sourceRoot":"","sources":["../../../src/runner/run-journey.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,7 +45,25 @@ export declare class TestExecutor {
|
|
|
45
45
|
* from the current browser (e.g. headed vs headless), kills and relaunches.
|
|
46
46
|
*/
|
|
47
47
|
private ensureBrowser;
|
|
48
|
-
/**
|
|
48
|
+
/**
|
|
49
|
+
* Resolve the browser executable path for this machine.
|
|
50
|
+
*
|
|
51
|
+
* Preference order: runtime config → static config → auto-detection. A path
|
|
52
|
+
* from persisted/runtime settings (`.glassbox/settings.json`) or the config
|
|
53
|
+
* file can be an absolute path from a different machine — for example a
|
|
54
|
+
* macOS-shaped path carried into a Windows checkout. Such a path would fail
|
|
55
|
+
* at `spawn()` with ENOENT, so any explicit path is only honored when it
|
|
56
|
+
* actually exists here; otherwise we fall back to auto-detection.
|
|
57
|
+
*/
|
|
58
|
+
private resolveBrowserPath;
|
|
59
|
+
/**
|
|
60
|
+
* Extract the parent user data dir (without the profile subdirectory).
|
|
61
|
+
*
|
|
62
|
+
* A persisted `userDataDir` may point at a profile location on another
|
|
63
|
+
* machine. When the stored path does not exist here, it is ignored so the
|
|
64
|
+
* launcher provisions a fresh temporary profile instead of spawning against
|
|
65
|
+
* a non-existent directory.
|
|
66
|
+
*/
|
|
49
67
|
private resolveUserDataDir;
|
|
50
68
|
/** Extract the profile directory name from a full profile path. */
|
|
51
69
|
private resolveProfileDirectory;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-executor.d.ts","sourceRoot":"","sources":["../../../src/server/test-executor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"test-executor.d.ts","sourceRoot":"","sources":["../../../src/server/test-executor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,qBAAa,YAAY;IAcrB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,WAAW;IAfrB,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IAExB,mDAAmD;IACnD,IAAI,SAAS,IAAI,OAAO,CAEvB;gBAGS,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,gBAAgB,EAC3B,WAAW,EAAE,iBAAiB;IAGxC;;;OAGG;IACG,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA2EjF,2FAA2F;IAC3F,IAAI,IAAI,IAAI;IAQZ,uEAAuE;IACvE,KAAK,IAAI,IAAI;IAOb,wEAAwE;IACxE,MAAM,IAAI,IAAI;IAOd,6CAA6C;IAC7C,IAAI,CAAC,KAAK,SAAI,GAAG,IAAI;IAIrB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI;IAK5D,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAIzC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKvC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAInD,6CAA6C;IACvC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ/B;;;;OAIG;YACW,aAAa;IAoD3B;;;;;;;;;OASG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAY1B,mEAAmE;IACnE,OAAO,CAAC,uBAAuB;IAW/B,wDAAwD;IACxD,OAAO,CAAC,iBAAiB;IAKzB,2FAA2F;YAC7E,cAAc;IAW5B;;;OAGG;YACW,gBAAgB;IAuC9B,uEAAuE;IACvE,OAAO,CAAC,WAAW;CAKpB"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.TestExecutor = void 0;
|
|
10
|
+
const fs_1 = require("fs");
|
|
10
11
|
const path_1 = require("path");
|
|
11
12
|
const launcher_js_1 = require("../cdp/launcher.js");
|
|
12
13
|
const browser_discovery_js_1 = require("../utils/browser-discovery.js");
|
|
@@ -157,9 +158,7 @@ class TestExecutor {
|
|
|
157
158
|
async ensureBrowser(runConfig) {
|
|
158
159
|
const headless = runConfig?.headless ?? this.config.browser.headless;
|
|
159
160
|
const devtools = runConfig?.devtools ?? false;
|
|
160
|
-
const browserPath = runConfig
|
|
161
|
-
?? this.config.browser.executablePath
|
|
162
|
-
?? this.autoDetectBrowser();
|
|
161
|
+
const browserPath = this.resolveBrowserPath(runConfig);
|
|
163
162
|
const userDataDir = this.resolveUserDataDir(runConfig);
|
|
164
163
|
const profileDirectory = this.resolveProfileDirectory(runConfig);
|
|
165
164
|
// Create a fingerprint of the launch config to detect when we need to relaunch
|
|
@@ -201,10 +200,34 @@ class TestExecutor {
|
|
|
201
200
|
});
|
|
202
201
|
this.browserLaunchConfig = launchFingerprint;
|
|
203
202
|
}
|
|
204
|
-
/**
|
|
203
|
+
/**
|
|
204
|
+
* Resolve the browser executable path for this machine.
|
|
205
|
+
*
|
|
206
|
+
* Preference order: runtime config → static config → auto-detection. A path
|
|
207
|
+
* from persisted/runtime settings (`.glassbox/settings.json`) or the config
|
|
208
|
+
* file can be an absolute path from a different machine — for example a
|
|
209
|
+
* macOS-shaped path carried into a Windows checkout. Such a path would fail
|
|
210
|
+
* at `spawn()` with ENOENT, so any explicit path is only honored when it
|
|
211
|
+
* actually exists here; otherwise we fall back to auto-detection.
|
|
212
|
+
*/
|
|
213
|
+
resolveBrowserPath(runConfig) {
|
|
214
|
+
const explicitPath = runConfig?.browserPath ?? this.config.browser.executablePath;
|
|
215
|
+
if (explicitPath && (0, fs_1.existsSync)(explicitPath)) {
|
|
216
|
+
return explicitPath;
|
|
217
|
+
}
|
|
218
|
+
return this.autoDetectBrowser();
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Extract the parent user data dir (without the profile subdirectory).
|
|
222
|
+
*
|
|
223
|
+
* A persisted `userDataDir` may point at a profile location on another
|
|
224
|
+
* machine. When the stored path does not exist here, it is ignored so the
|
|
225
|
+
* launcher provisions a fresh temporary profile instead of spawning against
|
|
226
|
+
* a non-existent directory.
|
|
227
|
+
*/
|
|
205
228
|
resolveUserDataDir(runConfig) {
|
|
206
229
|
const raw = runConfig?.userDataDir ?? this.config.browser.userDataDir;
|
|
207
|
-
if (!raw)
|
|
230
|
+
if (!raw || !(0, fs_1.existsSync)(raw))
|
|
208
231
|
return undefined;
|
|
209
232
|
// If the path ends with a profile directory name (Default, Profile N), return the parent
|
|
210
233
|
const dirName = (0, path_1.basename)(raw);
|
|
@@ -216,7 +239,7 @@ class TestExecutor {
|
|
|
216
239
|
/** Extract the profile directory name from a full profile path. */
|
|
217
240
|
resolveProfileDirectory(runConfig) {
|
|
218
241
|
const raw = runConfig?.userDataDir ?? this.config.browser.userDataDir;
|
|
219
|
-
if (!raw)
|
|
242
|
+
if (!raw || !(0, fs_1.existsSync)(raw))
|
|
220
243
|
return undefined;
|
|
221
244
|
const dirName = (0, path_1.basename)(raw);
|
|
222
245
|
if (dirName === 'Default' || dirName.startsWith('Profile ')) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-executor.js","sourceRoot":"","sources":["../../../src/server/test-executor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"test-executor.js","sourceRoot":"","sources":["../../../src/server/test-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-platform helper for dynamic `import()` of filesystem paths.
|
|
3
|
+
*
|
|
4
|
+
* Node's ESM loader requires that dynamic imports of absolute filesystem paths
|
|
5
|
+
* be expressed as `file://` URLs. On macOS and Linux an absolute path starts
|
|
6
|
+
* with `/`, which the loader tolerates, but on Windows an absolute path starts
|
|
7
|
+
* with a drive letter (e.g. `D:\...`). The loader parses the leading `D:` as a
|
|
8
|
+
* URL scheme and throws `ERR_UNSUPPORTED_ESM_URL_SCHEME`. Converting the path
|
|
9
|
+
* to a `file://` URL first makes dynamic import behave identically on all three
|
|
10
|
+
* platforms.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Convert a value passed to `import()` into a specifier the Node ESM loader
|
|
14
|
+
* accepts on every platform.
|
|
15
|
+
*
|
|
16
|
+
* - Already-supported URLs (`file:`, `data:`, `node:`) pass through unchanged.
|
|
17
|
+
* - Bare package specifiers (e.g. `jiti`, `@scope/pkg`) pass through unchanged.
|
|
18
|
+
* - Filesystem paths — POSIX absolute (`/a/b`), Windows drive-letter
|
|
19
|
+
* (`D:\a\b`), or relative (`./a/b`) — are resolved to an absolute path and
|
|
20
|
+
* returned as a `file://` URL.
|
|
21
|
+
*
|
|
22
|
+
* @param pathOrSpecifier - The path or module specifier to import.
|
|
23
|
+
* @returns A specifier safe to hand to `import()` on any platform.
|
|
24
|
+
*/
|
|
25
|
+
export declare function toImportSpecifier(pathOrSpecifier: string): string;
|
|
26
|
+
//# sourceMappingURL=import-path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-path.d.ts","sourceRoot":"","sources":["../../../src/utils/import-path.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA+BH;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CA+BjE"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Cross-platform helper for dynamic `import()` of filesystem paths.
|
|
4
|
+
*
|
|
5
|
+
* Node's ESM loader requires that dynamic imports of absolute filesystem paths
|
|
6
|
+
* be expressed as `file://` URLs. On macOS and Linux an absolute path starts
|
|
7
|
+
* with `/`, which the loader tolerates, but on Windows an absolute path starts
|
|
8
|
+
* with a drive letter (e.g. `D:\...`). The loader parses the leading `D:` as a
|
|
9
|
+
* URL scheme and throws `ERR_UNSUPPORTED_ESM_URL_SCHEME`. Converting the path
|
|
10
|
+
* to a `file://` URL first makes dynamic import behave identically on all three
|
|
11
|
+
* platforms.
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.toImportSpecifier = toImportSpecifier;
|
|
15
|
+
const node_url_1 = require("node:url");
|
|
16
|
+
const node_path_1 = require("node:path");
|
|
17
|
+
/** URL schemes that `import()` accepts as-is. */
|
|
18
|
+
const IMPORTABLE_URL_SCHEME = /^(file|data|node):/;
|
|
19
|
+
/** Windows drive-letter prefix, e.g. `C:\` or `d:/`. */
|
|
20
|
+
const WINDOWS_DRIVE_LETTER = /^[a-zA-Z]:[\\/]/;
|
|
21
|
+
/**
|
|
22
|
+
* Build a `file://` URL from a Windows drive-letter path.
|
|
23
|
+
*
|
|
24
|
+
* `url.pathToFileURL` follows the host platform, so on a POSIX host it would
|
|
25
|
+
* mishandle a `D:\...` path (treating backslashes literally). This builds the
|
|
26
|
+
* URL directly so the conversion is correct regardless of where the code runs:
|
|
27
|
+
* normalize separators to `/`, percent-encode each segment, and prefix
|
|
28
|
+
* `file:///`.
|
|
29
|
+
*/
|
|
30
|
+
function windowsPathToFileUrl(windowsPath) {
|
|
31
|
+
const normalized = windowsPath.replace(/\\/g, '/');
|
|
32
|
+
const encoded = normalized
|
|
33
|
+
.split('/')
|
|
34
|
+
.map((segment) => encodeURIComponent(segment))
|
|
35
|
+
// encodeURIComponent escapes the drive-letter colon (`D%3A`); restore it.
|
|
36
|
+
.join('/')
|
|
37
|
+
.replace(/^([a-zA-Z])%3A/, '$1:');
|
|
38
|
+
return `file:///${encoded}`;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Convert a value passed to `import()` into a specifier the Node ESM loader
|
|
42
|
+
* accepts on every platform.
|
|
43
|
+
*
|
|
44
|
+
* - Already-supported URLs (`file:`, `data:`, `node:`) pass through unchanged.
|
|
45
|
+
* - Bare package specifiers (e.g. `jiti`, `@scope/pkg`) pass through unchanged.
|
|
46
|
+
* - Filesystem paths — POSIX absolute (`/a/b`), Windows drive-letter
|
|
47
|
+
* (`D:\a\b`), or relative (`./a/b`) — are resolved to an absolute path and
|
|
48
|
+
* returned as a `file://` URL.
|
|
49
|
+
*
|
|
50
|
+
* @param pathOrSpecifier - The path or module specifier to import.
|
|
51
|
+
* @returns A specifier safe to hand to `import()` on any platform.
|
|
52
|
+
*/
|
|
53
|
+
function toImportSpecifier(pathOrSpecifier) {
|
|
54
|
+
// Already an importable URL — leave it alone.
|
|
55
|
+
if (IMPORTABLE_URL_SCHEME.test(pathOrSpecifier)) {
|
|
56
|
+
return pathOrSpecifier;
|
|
57
|
+
}
|
|
58
|
+
// A Windows drive-letter path (e.g. `D:\a\b`) is already absolute. Build its
|
|
59
|
+
// file:// URL explicitly so the result is correct on any host OS (native
|
|
60
|
+
// pathToFileURL would mishandle backslashes when run on POSIX).
|
|
61
|
+
if (WINDOWS_DRIVE_LETTER.test(pathOrSpecifier)) {
|
|
62
|
+
return windowsPathToFileUrl(pathOrSpecifier);
|
|
63
|
+
}
|
|
64
|
+
const looksLikeRelativePath = pathOrSpecifier.startsWith('./') ||
|
|
65
|
+
pathOrSpecifier.startsWith('../') ||
|
|
66
|
+
pathOrSpecifier.startsWith('.\\') ||
|
|
67
|
+
pathOrSpecifier.startsWith('..\\');
|
|
68
|
+
// A POSIX absolute path can be converted straight to a file:// URL.
|
|
69
|
+
if ((0, node_path_1.isAbsolute)(pathOrSpecifier) && !looksLikeRelativePath) {
|
|
70
|
+
return (0, node_url_1.pathToFileURL)(pathOrSpecifier).href;
|
|
71
|
+
}
|
|
72
|
+
// A relative path is resolved against the current working directory.
|
|
73
|
+
if (looksLikeRelativePath) {
|
|
74
|
+
return (0, node_url_1.pathToFileURL)((0, node_path_1.resolve)(pathOrSpecifier)).href;
|
|
75
|
+
}
|
|
76
|
+
// Bare package specifier (e.g. `@scope/pkg`) — hand straight to the loader.
|
|
77
|
+
return pathOrSpecifier;
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=import-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-path.js","sourceRoot":"","sources":["../../../src/utils/import-path.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;AA4CH,8CA+BC;AAzED,uCAAyC;AACzC,yCAAgD;AAEhD,iDAAiD;AACjD,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AAEnD,wDAAwD;AACxD,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;AAE/C;;;;;;;;GAQG;AACH,SAAS,oBAAoB,CAAC,WAAmB;IAC/C,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,UAAU;SACvB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC9C,0EAA0E;SACzE,IAAI,CAAC,GAAG,CAAC;SACT,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IACpC,OAAO,WAAW,OAAO,EAAE,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,iBAAiB,CAAC,eAAuB;IACvD,8CAA8C;IAC9C,IAAI,qBAAqB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QAChD,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,6EAA6E;IAC7E,yEAAyE;IACzE,gEAAgE;IAChE,IAAI,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QAC/C,OAAO,oBAAoB,CAAC,eAAe,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,qBAAqB,GACzB,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC;QAChC,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC;QACjC,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC;QACjC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAErC,oEAAoE;IACpE,IAAI,IAAA,sBAAU,EAAC,eAAe,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC1D,OAAO,IAAA,wBAAa,EAAC,eAAe,CAAC,CAAC,IAAI,CAAC;IAC7C,CAAC;IAED,qEAAqE;IACrE,IAAI,qBAAqB,EAAE,CAAC;QAC1B,OAAO,IAAA,wBAAa,EAAC,IAAA,mBAAO,EAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;IACtD,CAAC;IAED,4EAA4E;IAC5E,OAAO,eAAe,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-path.test.d.ts","sourceRoot":"","sources":["../../../src/utils/import-path.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const node_url_1 = require("node:url");
|
|
5
|
+
const node_path_1 = require("node:path");
|
|
6
|
+
const node_fs_1 = require("node:fs");
|
|
7
|
+
const node_os_1 = require("node:os");
|
|
8
|
+
const import_path_js_1 = require("./import-path.js");
|
|
9
|
+
(0, vitest_1.describe)('toImportSpecifier', () => {
|
|
10
|
+
(0, vitest_1.it)('converts a Windows drive-letter path to a file:// URL', () => {
|
|
11
|
+
const result = (0, import_path_js_1.toImportSpecifier)('D:\\projects\\tests\\b.ts');
|
|
12
|
+
// Correct on any host OS, including this POSIX test machine.
|
|
13
|
+
(0, vitest_1.expect)(result).toBe('file:///D:/projects/tests/b.ts');
|
|
14
|
+
});
|
|
15
|
+
(0, vitest_1.it)('converts a lowercase drive-letter, forward-slash path to a file:// URL', () => {
|
|
16
|
+
const result = (0, import_path_js_1.toImportSpecifier)('c:/users/me/a.journey.ts');
|
|
17
|
+
(0, vitest_1.expect)(result).toBe('file:///c:/users/me/a.journey.ts');
|
|
18
|
+
});
|
|
19
|
+
(0, vitest_1.it)('converts a POSIX absolute path to a file:// URL', () => {
|
|
20
|
+
const result = (0, import_path_js_1.toImportSpecifier)('/home/user/tests/b.ts');
|
|
21
|
+
(0, vitest_1.expect)(result).toBe((0, node_url_1.pathToFileURL)('/home/user/tests/b.ts').href);
|
|
22
|
+
(0, vitest_1.expect)(result.startsWith('file://')).toBe(true);
|
|
23
|
+
});
|
|
24
|
+
(0, vitest_1.it)('converts a relative path to an absolute file:// URL', () => {
|
|
25
|
+
const result = (0, import_path_js_1.toImportSpecifier)('./tests/b.ts');
|
|
26
|
+
(0, vitest_1.expect)(result).toBe((0, node_url_1.pathToFileURL)((0, node_path_1.resolve)('./tests/b.ts')).href);
|
|
27
|
+
(0, vitest_1.expect)(result.startsWith('file://')).toBe(true);
|
|
28
|
+
});
|
|
29
|
+
(0, vitest_1.it)('passes an already-file:// URL through untouched', () => {
|
|
30
|
+
const url = 'file:///home/user/tests/b.ts';
|
|
31
|
+
(0, vitest_1.expect)((0, import_path_js_1.toImportSpecifier)(url)).toBe(url);
|
|
32
|
+
});
|
|
33
|
+
(0, vitest_1.it)('passes a data: URL through untouched', () => {
|
|
34
|
+
const url = 'data:text/javascript,export default 1';
|
|
35
|
+
(0, vitest_1.expect)((0, import_path_js_1.toImportSpecifier)(url)).toBe(url);
|
|
36
|
+
});
|
|
37
|
+
(0, vitest_1.it)('passes a node: specifier through untouched', () => {
|
|
38
|
+
(0, vitest_1.expect)((0, import_path_js_1.toImportSpecifier)('node:fs')).toBe('node:fs');
|
|
39
|
+
});
|
|
40
|
+
(0, vitest_1.it)('passes a scoped bare package specifier through untouched', () => {
|
|
41
|
+
(0, vitest_1.expect)((0, import_path_js_1.toImportSpecifier)('@scope/pkg')).toBe('@scope/pkg');
|
|
42
|
+
});
|
|
43
|
+
(0, vitest_1.it)('passes a plain bare package specifier through untouched', () => {
|
|
44
|
+
(0, vitest_1.expect)((0, import_path_js_1.toImportSpecifier)('jiti')).toBe('jiti');
|
|
45
|
+
});
|
|
46
|
+
// Regression: importing via an absolute filesystem path must succeed rather
|
|
47
|
+
// than throw ERR_UNSUPPORTED_ESM_URL_SCHEME. On Windows the equivalent path
|
|
48
|
+
// begins with a drive letter (e.g. D:\...); on POSIX it begins with `/`.
|
|
49
|
+
// Both must round-trip through toImportSpecifier into a working import().
|
|
50
|
+
(0, vitest_1.it)('dynamically imports a module given a raw absolute path without throwing', async () => {
|
|
51
|
+
const dir = (0, node_fs_1.mkdtempSync)((0, node_path_1.join)((0, node_os_1.tmpdir)(), 'glassbox-import-path-'));
|
|
52
|
+
const modulePath = (0, node_path_1.join)(dir, 'sample.journey.mjs');
|
|
53
|
+
(0, node_fs_1.writeFileSync)(modulePath, 'export default function () { return 42; }\n');
|
|
54
|
+
try {
|
|
55
|
+
// modulePath is an absolute OS path — on Windows this is a drive-letter
|
|
56
|
+
// path that raw import() would reject. The helper makes it importable.
|
|
57
|
+
const imported = await import((0, import_path_js_1.toImportSpecifier)(modulePath));
|
|
58
|
+
(0, vitest_1.expect)(typeof imported.default).toBe('function');
|
|
59
|
+
(0, vitest_1.expect)(imported.default()).toBe(42);
|
|
60
|
+
}
|
|
61
|
+
finally {
|
|
62
|
+
(0, node_fs_1.rmSync)(dir, { recursive: true, force: true });
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
//# sourceMappingURL=import-path.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-path.test.js","sourceRoot":"","sources":["../../../src/utils/import-path.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED