one 1.17.11 → 1.18.1
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/cjs/cli/build.cjs +41 -2
- package/dist/cjs/cli/build.native.js +50 -2
- package/dist/cjs/cli/build.native.js.map +1 -1
- package/dist/cjs/getURL.native.js +6 -5
- package/dist/cjs/getURL.native.js.map +1 -1
- package/dist/cjs/getURL.native.test.cjs +26 -0
- package/dist/cjs/getURL.native.test.native.js +33 -0
- package/dist/cjs/getURL.native.test.native.js.map +1 -0
- package/dist/cjs/vite/constants.cjs +0 -2
- package/dist/cjs/vite/constants.native.js +0 -2
- package/dist/cjs/vite/constants.native.js.map +1 -1
- package/dist/cjs/vite/plugins/environmentGuardPlugin.cjs +25 -15
- package/dist/cjs/vite/plugins/environmentGuardPlugin.native.js +26 -16
- package/dist/cjs/vite/plugins/environmentGuardPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/environmentGuardPlugin.test.cjs +44 -31
- package/dist/cjs/vite/plugins/environmentGuardPlugin.test.native.js +44 -31
- package/dist/cjs/vite/plugins/environmentGuardPlugin.test.native.js.map +1 -1
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.cjs +8 -3
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +8 -3
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
- package/dist/esm/cli/build.mjs +41 -2
- package/dist/esm/cli/build.mjs.map +1 -1
- package/dist/esm/cli/build.native.js +50 -2
- package/dist/esm/cli/build.native.js.map +1 -1
- package/dist/esm/getURL.native.js +6 -5
- package/dist/esm/getURL.native.js.map +1 -1
- package/dist/esm/getURL.native.test.js +27 -0
- package/dist/esm/getURL.native.test.js.map +6 -0
- package/dist/esm/getURL.native.test.mjs +27 -0
- package/dist/esm/getURL.native.test.mjs.map +1 -0
- package/dist/esm/getURL.native.test.native.js +31 -0
- package/dist/esm/getURL.native.test.native.js.map +1 -0
- package/dist/esm/vite/constants.mjs +1 -2
- package/dist/esm/vite/constants.mjs.map +1 -1
- package/dist/esm/vite/constants.native.js +1 -2
- package/dist/esm/vite/constants.native.js.map +1 -1
- package/dist/esm/vite/plugins/environmentGuardPlugin.mjs +25 -15
- package/dist/esm/vite/plugins/environmentGuardPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/environmentGuardPlugin.native.js +26 -16
- package/dist/esm/vite/plugins/environmentGuardPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/environmentGuardPlugin.test.mjs +44 -31
- package/dist/esm/vite/plugins/environmentGuardPlugin.test.mjs.map +1 -1
- package/dist/esm/vite/plugins/environmentGuardPlugin.test.native.js +44 -31
- package/dist/esm/vite/plugins/environmentGuardPlugin.test.native.js.map +1 -1
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs +8 -3
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +8 -3
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
- package/env.d.ts +2 -0
- package/package.json +10 -10
- package/src/cli/build.ts +58 -1
- package/src/getURL.native.test.ts +33 -0
- package/src/getURL.native.ts +9 -7
- package/src/vite/constants.ts +0 -2
- package/src/vite/plugins/environmentGuardPlugin.test.ts +58 -33
- package/src/vite/plugins/environmentGuardPlugin.ts +50 -20
- package/src/vite/plugins/fileSystemRouterPlugin.tsx +18 -4
- package/types/cli/build.d.ts.map +1 -1
- package/types/getURL.native.d.ts.map +1 -1
- package/types/getURL.native.test.d.ts +2 -0
- package/types/getURL.native.test.d.ts.map +1 -0
- package/types/vite/constants.d.ts +0 -1
- package/types/vite/constants.d.ts.map +1 -1
- package/types/vite/plugins/environmentGuardPlugin.d.ts +16 -4
- package/types/vite/plugins/environmentGuardPlugin.d.ts.map +1 -1
- package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
|
@@ -31,13 +31,15 @@ __export(environmentGuardPlugin_exports, {
|
|
|
31
31
|
module.exports = __toCommonJS(environmentGuardPlugin_exports);
|
|
32
32
|
var VIRTUAL_PREFIX = "\0one-env-guard:";
|
|
33
33
|
var GUARD_SPECIFIERS = ["server-only", "client-only", "native-only", "web-only"];
|
|
34
|
-
var
|
|
35
|
-
"server-only": ["ssr"],
|
|
36
|
-
"client-only": ["client"],
|
|
34
|
+
var ALLOWED_BY_NAME = {
|
|
37
35
|
"native-only": ["ios", "android"],
|
|
38
36
|
"web-only": ["client", "ssr"]
|
|
39
37
|
};
|
|
40
|
-
|
|
38
|
+
var ALLOWED_BY_CONSUMER = {
|
|
39
|
+
"server-only": "server",
|
|
40
|
+
"client-only": "client"
|
|
41
|
+
};
|
|
42
|
+
function resolveEnvironmentGuard(specifier, envName, consumer, options) {
|
|
41
43
|
var _options_disableGuards;
|
|
42
44
|
if (!GUARD_SPECIFIERS.includes(specifier)) {
|
|
43
45
|
return null;
|
|
@@ -45,25 +47,32 @@ function resolveEnvironmentGuard(specifier, envName, options) {
|
|
|
45
47
|
if ((options === null || options === void 0 ? void 0 : options.disabled) || (options === null || options === void 0 ? void 0 : (_options_disableGuards = options.disableGuards) === null || _options_disableGuards === void 0 ? void 0 : _options_disableGuards.includes(specifier))) {
|
|
46
48
|
return `${VIRTUAL_PREFIX}${specifier}:disabled`;
|
|
47
49
|
}
|
|
48
|
-
return `${VIRTUAL_PREFIX}${specifier}:${envName}`;
|
|
50
|
+
return `${VIRTUAL_PREFIX}${specifier}:${envName}:${consumer !== null && consumer !== void 0 ? consumer : "unknown"}`;
|
|
49
51
|
}
|
|
50
52
|
function loadEnvironmentGuard(id) {
|
|
51
53
|
if (!id.startsWith(VIRTUAL_PREFIX)) {
|
|
52
54
|
return null;
|
|
53
55
|
}
|
|
54
56
|
var rest = id.slice(VIRTUAL_PREFIX.length);
|
|
55
|
-
var
|
|
56
|
-
if (
|
|
57
|
-
var specifier = rest.slice(0, lastColon);
|
|
58
|
-
var envName = rest.slice(lastColon + 1);
|
|
59
|
-
if (envName === "disabled") {
|
|
57
|
+
var parts = rest.split(":");
|
|
58
|
+
if (parts.length === 2 && parts[1] === "disabled") {
|
|
60
59
|
return "export {}";
|
|
61
60
|
}
|
|
62
|
-
var
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
61
|
+
var specifier = parts[0];
|
|
62
|
+
var envName = parts[1];
|
|
63
|
+
var consumer = parts[2];
|
|
64
|
+
var requiredConsumer = ALLOWED_BY_CONSUMER[specifier];
|
|
65
|
+
if (requiredConsumer) {
|
|
66
|
+
if (consumer === requiredConsumer) return "export {}";
|
|
67
|
+
if (!consumer || consumer === "unknown") {
|
|
68
|
+
var legacyAllowed = requiredConsumer === "server" ? ["ssr"] : ["client"];
|
|
69
|
+
if (legacyAllowed.includes(envName)) return "export {}";
|
|
70
|
+
}
|
|
71
|
+
return `throw new Error("${specifier} cannot be imported in the \\"${envName}\\" environment")`;
|
|
66
72
|
}
|
|
73
|
+
var allowedNames = ALLOWED_BY_NAME[specifier];
|
|
74
|
+
if (!allowedNames) return null;
|
|
75
|
+
if (allowedNames.includes(envName)) return "export {}";
|
|
67
76
|
return `throw new Error("${specifier} cannot be imported in the \\"${envName}\\" environment")`;
|
|
68
77
|
}
|
|
69
78
|
function environmentGuardPlugin(options) {
|
|
@@ -71,10 +80,11 @@ function environmentGuardPlugin(options) {
|
|
|
71
80
|
name: "one:environment-guard",
|
|
72
81
|
enforce: "pre",
|
|
73
82
|
resolveId(source) {
|
|
74
|
-
var _this_environment;
|
|
83
|
+
var _this_environment, _this_environment_config, _this_environment1;
|
|
75
84
|
var envName = (_this_environment = this.environment) === null || _this_environment === void 0 ? void 0 : _this_environment.name;
|
|
76
85
|
if (!envName) return null;
|
|
77
|
-
|
|
86
|
+
var consumer = (_this_environment1 = this.environment) === null || _this_environment1 === void 0 ? void 0 : (_this_environment_config = _this_environment1.config) === null || _this_environment_config === void 0 ? void 0 : _this_environment_config.consumer;
|
|
87
|
+
return resolveEnvironmentGuard(source, envName, consumer, options);
|
|
78
88
|
},
|
|
79
89
|
load(id) {
|
|
80
90
|
return loadEnvironmentGuard(id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","environmentGuardPlugin_exports","__export","environmentGuardPlugin","loadEnvironmentGuard","resolveEnvironmentGuard","module","exports","VIRTUAL_PREFIX","GUARD_SPECIFIERS","
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","environmentGuardPlugin_exports","__export","environmentGuardPlugin","loadEnvironmentGuard","resolveEnvironmentGuard","module","exports","VIRTUAL_PREFIX","GUARD_SPECIFIERS","ALLOWED_BY_NAME","ALLOWED_BY_CONSUMER","specifier","envName","consumer","options","_options_disableGuards","includes","disabled","disableGuards","id","startsWith","rest","slice","length","parts","split","requiredConsumer","legacyAllowed","allowedNames","name"],"sources":["../../../../src/vite/plugins/environmentGuardPlugin.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,8BAAA;AAAAC,QAAA,CAAAD,8BAAA;EAAAE,sBAAA,EAAAA,CAAA,KAAAA,sBAAA;EAAAC,oBAAA,EAAAA,CAAA,KAAAA,oBAAA;EAAAC,uBAAA,EAAAA,CAAA,KAAAA;AAAA;AAuBAC,MAAM,CAAAC,OAAA,GAAAX,YAAiB,CAAAK,8BAAA;AAEvB,IAAAO,cAAM,qBAAmB;AAAA,IACvBC,gBAAA,IACA,eACA,eACA,eACF,WAKA;AAAqF,IACnFC,eAAgB;EAChB,aAAa,GACf,OAEA,SAAM,CACJ;EACA,aACF,UA8BO,KAAS;AAOZ;AAAO,IACTC,mBAAA;EAGA,aACW;EAGT,aAAU;AAA0B;AAGtC,SAAON,uBAAoBA,CAAAO,SAAa,EAAAC,OAAO,EAAIC,QAAA,EAAAC,OAAY;EACjE,IAAAC,sBAAA;EAMO,KAAAP,gBAAS,CAAAQ,QAAqB,CAAAL,SAA2B;IAC9D,OAAQ;EACN;EACF,KAAAG,OAAA,aAAAA,OAAA,uBAAAA,OAAA,CAAAG,QAAA,MAAAH,OAAA,aAAAA,OAAA,wBAAAC,sBAAA,GAAAD,OAAA,CAAAI,aAAA,cAAAH,sBAAA,uBAAAA,sBAAA,CAAAC,QAAA,CAAAL,SAAA;IAEA,OAAM,GAAAJ,cAAgB,GAAAI,SAAe,WAAM;EAC3C;EAGA,OAAI,GAAMJ,cAAW,GAAKI,SAAO,IAAMC,OAAA,IAAYC,QAAA,aAAAA,QAAA,cAAAA,QAAA;AACjD;AAAO,SACTV,qBAAAgB,EAAA;EAEA,KAAAA,EAAM,CAAAC,UAAY,CAAAb,cAAO;IACzB,OAAM;EACN;EAKA,IAAAc,IAAM,GAAAF,EAAA,CAAAG,KAAA,CAAAf,cAAmB,CAAAgB,MAAA;EACzB,IAAIC,KAAA,GAAAH,IAAA,CAAAI,KAAkB;EACpB,IAAAD,KAAI,CAAAD,MAAA,KAAa,KAAAC,KAAA,QAAkB,UAAO;IAI1C,OAAK,WAAY;EACf;EACA,IAAAb,SAAI,GAAAa,KAAA,CAAc;EAA0B,IAC9CZ,OAAA,GAAAY,KAAA;EACA,IAAAX,QAAO,GAAAW,KAAA;EACT,IAAAE,gBAAA,GAAAhB,mBAAA,CAAAC,SAAA;EAGA,IAAAe,gBAAM,EAAe;IACrB,IAAKb,QAAA,KAAca,gBAAO;IAC1B,IAAI,CAAAb,QAAA,IAAaA,QAAS,cAA6B,EAAO;MAC9D,IAAOc,aAAA,GAAAD,gBAA6B,iBACtC,MAEO,GAAS,CACd,QAAO,CACL;MACA,IAAAC,aAAS,CAAAX,QAAA,CAAAJ,OAAA;IAET;IACE,2BAAqBD,SAAa,iCAAAC,OAAA;EAClC;EACA,IAAAgB,YAAM,GAAAnB,eAAgB,CAAAE,SAAa;EACnC,KAAAiB,YAAO;EAA0D,IACnEA,YAAA,CAAAZ,QAAA,CAAAJ,OAAA;EAAA,OAEK,oBAAID,SAAA,iCAAAC,OAAA;AACP;AAA8B,SAChCV,uBAAAY,OAAA;EACF;IACFe,IAAA","ignoreList":[]}
|
|
@@ -7,21 +7,25 @@ var import_environmentGuardPlugin = require("./environmentGuardPlugin.cjs");
|
|
|
7
7
|
(0, import_vitest.expect)((0, import_environmentGuardPlugin.resolveEnvironmentGuard)("vite", "ssr")).toBeNull();
|
|
8
8
|
(0, import_vitest.expect)((0, import_environmentGuardPlugin.resolveEnvironmentGuard)("some-other-pkg", "ios")).toBeNull();
|
|
9
9
|
});
|
|
10
|
-
(0, import_vitest.it)("returns virtual id for server-only", () => {
|
|
11
|
-
const id = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("server-only", "ssr");
|
|
12
|
-
(0, import_vitest.expect)(id).toBe("\0one-env-guard:server-only:ssr");
|
|
10
|
+
(0, import_vitest.it)("returns virtual id for server-only (with consumer)", () => {
|
|
11
|
+
const id = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("server-only", "ssr", "server");
|
|
12
|
+
(0, import_vitest.expect)(id).toBe("\0one-env-guard:server-only:ssr:server");
|
|
13
13
|
});
|
|
14
|
-
(0, import_vitest.it)("returns virtual id for client-only", () => {
|
|
15
|
-
const id = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("client-only", "client");
|
|
16
|
-
(0, import_vitest.expect)(id).toBe("\0one-env-guard:client-only:client");
|
|
14
|
+
(0, import_vitest.it)("returns virtual id for client-only (with consumer)", () => {
|
|
15
|
+
const id = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("client-only", "client", "client");
|
|
16
|
+
(0, import_vitest.expect)(id).toBe("\0one-env-guard:client-only:client:client");
|
|
17
17
|
});
|
|
18
18
|
(0, import_vitest.it)("returns virtual id for native-only", () => {
|
|
19
19
|
const id = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("native-only", "ios");
|
|
20
|
-
(0, import_vitest.expect)(id).toBe("\0one-env-guard:native-only:ios");
|
|
20
|
+
(0, import_vitest.expect)(id).toBe("\0one-env-guard:native-only:ios:unknown");
|
|
21
21
|
});
|
|
22
22
|
(0, import_vitest.it)("returns virtual id for web-only", () => {
|
|
23
23
|
const id = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("web-only", "client");
|
|
24
|
-
(0, import_vitest.expect)(id).toBe("\0one-env-guard:web-only:client");
|
|
24
|
+
(0, import_vitest.expect)(id).toBe("\0one-env-guard:web-only:client:unknown");
|
|
25
|
+
});
|
|
26
|
+
(0, import_vitest.it)("encodes worker consumer for cloudflare deploy", () => {
|
|
27
|
+
const id = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("server-only", "worker", "server");
|
|
28
|
+
(0, import_vitest.expect)(id).toBe("\0one-env-guard:server-only:worker:server");
|
|
25
29
|
});
|
|
26
30
|
});
|
|
27
31
|
(0, import_vitest.describe)("loadEnvironmentGuard", () => {
|
|
@@ -29,70 +33,79 @@ var import_environmentGuardPlugin = require("./environmentGuardPlugin.cjs");
|
|
|
29
33
|
(0, import_vitest.expect)((0, import_environmentGuardPlugin.loadEnvironmentGuard)("react")).toBeNull();
|
|
30
34
|
(0, import_vitest.expect)((0, import_environmentGuardPlugin.loadEnvironmentGuard)("/some/path.ts")).toBeNull();
|
|
31
35
|
});
|
|
32
|
-
(0, import_vitest.it)("server-only: allowed in
|
|
36
|
+
(0, import_vitest.it)("server-only: allowed in any server-consumer env", () => {
|
|
37
|
+
(0, import_vitest.expect)((0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:server-only:ssr:server")).toBe("export {}");
|
|
38
|
+
(0, import_vitest.expect)((0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:server-only:worker:server")).toBe("export {}");
|
|
39
|
+
(0, import_vitest.expect)((0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:server-only:edge:server")).toBe("export {}");
|
|
40
|
+
});
|
|
41
|
+
(0, import_vitest.it)("server-only: legacy 2-part form still allowed in ssr", () => {
|
|
33
42
|
const result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:server-only:ssr");
|
|
34
43
|
(0, import_vitest.expect)(result).toBe("export {}");
|
|
35
44
|
});
|
|
36
45
|
(0, import_vitest.it)("server-only: forbidden in client", () => {
|
|
37
|
-
const result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:server-only:client");
|
|
46
|
+
const result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:server-only:client:client");
|
|
38
47
|
(0, import_vitest.expect)(result).toContain("throw new Error");
|
|
39
48
|
(0, import_vitest.expect)(result).toContain("server-only");
|
|
40
49
|
(0, import_vitest.expect)(result).toContain("client");
|
|
41
50
|
});
|
|
42
51
|
(0, import_vitest.it)("server-only: forbidden in ios", () => {
|
|
43
|
-
const result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:server-only:ios");
|
|
52
|
+
const result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:server-only:ios:client");
|
|
44
53
|
(0, import_vitest.expect)(result).toContain("throw new Error");
|
|
45
54
|
});
|
|
46
55
|
(0, import_vitest.it)("server-only: forbidden in android", () => {
|
|
47
|
-
const result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:server-only:android");
|
|
56
|
+
const result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:server-only:android:client");
|
|
48
57
|
(0, import_vitest.expect)(result).toContain("throw new Error");
|
|
49
58
|
});
|
|
50
59
|
(0, import_vitest.it)("client-only: allowed in client", () => {
|
|
60
|
+
const result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:client-only:client:client");
|
|
61
|
+
(0, import_vitest.expect)(result).toBe("export {}");
|
|
62
|
+
});
|
|
63
|
+
(0, import_vitest.it)("client-only: legacy 2-part form still allowed in client", () => {
|
|
51
64
|
const result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:client-only:client");
|
|
52
65
|
(0, import_vitest.expect)(result).toBe("export {}");
|
|
53
66
|
});
|
|
54
67
|
(0, import_vitest.it)("client-only: forbidden in ssr", () => {
|
|
55
|
-
const result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:client-only:ssr");
|
|
68
|
+
const result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:client-only:ssr:server");
|
|
56
69
|
(0, import_vitest.expect)(result).toContain("throw new Error");
|
|
57
70
|
});
|
|
58
71
|
(0, import_vitest.it)("client-only: forbidden in ios", () => {
|
|
59
|
-
const result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:client-only:ios");
|
|
72
|
+
const result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:client-only:ios:server");
|
|
60
73
|
(0, import_vitest.expect)(result).toContain("throw new Error");
|
|
61
74
|
});
|
|
62
75
|
(0, import_vitest.it)("client-only: forbidden in android", () => {
|
|
63
|
-
const result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:client-only:android");
|
|
76
|
+
const result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:client-only:android:server");
|
|
64
77
|
(0, import_vitest.expect)(result).toContain("throw new Error");
|
|
65
78
|
});
|
|
66
79
|
(0, import_vitest.it)("native-only: allowed in ios", () => {
|
|
67
|
-
const result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:native-only:ios");
|
|
80
|
+
const result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:native-only:ios:unknown");
|
|
68
81
|
(0, import_vitest.expect)(result).toBe("export {}");
|
|
69
82
|
});
|
|
70
83
|
(0, import_vitest.it)("native-only: allowed in android", () => {
|
|
71
|
-
const result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:native-only:android");
|
|
84
|
+
const result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:native-only:android:unknown");
|
|
72
85
|
(0, import_vitest.expect)(result).toBe("export {}");
|
|
73
86
|
});
|
|
74
87
|
(0, import_vitest.it)("native-only: forbidden in client", () => {
|
|
75
|
-
const result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:native-only:client");
|
|
88
|
+
const result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:native-only:client:client");
|
|
76
89
|
(0, import_vitest.expect)(result).toContain("throw new Error");
|
|
77
90
|
});
|
|
78
91
|
(0, import_vitest.it)("native-only: forbidden in ssr", () => {
|
|
79
|
-
const result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:native-only:ssr");
|
|
92
|
+
const result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:native-only:ssr:server");
|
|
80
93
|
(0, import_vitest.expect)(result).toContain("throw new Error");
|
|
81
94
|
});
|
|
82
95
|
(0, import_vitest.it)("web-only: allowed in client", () => {
|
|
83
|
-
const result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:web-only:client");
|
|
96
|
+
const result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:web-only:client:client");
|
|
84
97
|
(0, import_vitest.expect)(result).toBe("export {}");
|
|
85
98
|
});
|
|
86
99
|
(0, import_vitest.it)("web-only: allowed in ssr", () => {
|
|
87
|
-
const result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:web-only:ssr");
|
|
100
|
+
const result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:web-only:ssr:server");
|
|
88
101
|
(0, import_vitest.expect)(result).toBe("export {}");
|
|
89
102
|
});
|
|
90
103
|
(0, import_vitest.it)("web-only: forbidden in ios", () => {
|
|
91
|
-
const result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:web-only:ios");
|
|
104
|
+
const result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:web-only:ios:unknown");
|
|
92
105
|
(0, import_vitest.expect)(result).toContain("throw new Error");
|
|
93
106
|
});
|
|
94
107
|
(0, import_vitest.it)("web-only: forbidden in android", () => {
|
|
95
|
-
const result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:web-only:android");
|
|
108
|
+
const result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:web-only:android:unknown");
|
|
96
109
|
(0, import_vitest.expect)(result).toContain("throw new Error");
|
|
97
110
|
});
|
|
98
111
|
(0, import_vitest.it)("disabled guards always pass", () => {
|
|
@@ -102,36 +115,36 @@ var import_environmentGuardPlugin = require("./environmentGuardPlugin.cjs");
|
|
|
102
115
|
});
|
|
103
116
|
(0, import_vitest.describe)("options", () => {
|
|
104
117
|
(0, import_vitest.it)("disabled: true makes all guards no-ops", () => {
|
|
105
|
-
const id = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("client-only", "ssr", {
|
|
118
|
+
const id = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("client-only", "ssr", "server", {
|
|
106
119
|
disabled: true
|
|
107
120
|
});
|
|
108
121
|
(0, import_vitest.expect)(id).toBe("\0one-env-guard:client-only:disabled");
|
|
109
122
|
(0, import_vitest.expect)((0, import_environmentGuardPlugin.loadEnvironmentGuard)(id)).toBe("export {}");
|
|
110
123
|
});
|
|
111
124
|
(0, import_vitest.it)("disableGuards: disables specific guard types", () => {
|
|
112
|
-
const id1 = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("client-only", "ssr", {
|
|
125
|
+
const id1 = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("client-only", "ssr", "server", {
|
|
113
126
|
disableGuards: ["client-only"]
|
|
114
127
|
});
|
|
115
128
|
(0, import_vitest.expect)(id1).toBe("\0one-env-guard:client-only:disabled");
|
|
116
|
-
const id2 = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("server-only", "client", {
|
|
129
|
+
const id2 = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("server-only", "client", "client", {
|
|
117
130
|
disableGuards: ["client-only"]
|
|
118
131
|
});
|
|
119
|
-
(0, import_vitest.expect)(id2).toBe("\0one-env-guard:server-only:client");
|
|
132
|
+
(0, import_vitest.expect)(id2).toBe("\0one-env-guard:server-only:client:client");
|
|
120
133
|
(0, import_vitest.expect)((0, import_environmentGuardPlugin.loadEnvironmentGuard)(id2)).toContain("throw new Error");
|
|
121
134
|
});
|
|
122
135
|
(0, import_vitest.it)("disableGuards: can disable multiple guards", () => {
|
|
123
|
-
const id1 = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("client-only", "ssr", {
|
|
136
|
+
const id1 = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("client-only", "ssr", "server", {
|
|
124
137
|
disableGuards: ["client-only", "server-only"]
|
|
125
138
|
});
|
|
126
139
|
(0, import_vitest.expect)(id1).toBe("\0one-env-guard:client-only:disabled");
|
|
127
|
-
const id2 = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("server-only", "client", {
|
|
140
|
+
const id2 = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("server-only", "client", "client", {
|
|
128
141
|
disableGuards: ["client-only", "server-only"]
|
|
129
142
|
});
|
|
130
143
|
(0, import_vitest.expect)(id2).toBe("\0one-env-guard:server-only:disabled");
|
|
131
|
-
const id3 = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("native-only", "client", {
|
|
144
|
+
const id3 = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("native-only", "client", "client", {
|
|
132
145
|
disableGuards: ["client-only", "server-only"]
|
|
133
146
|
});
|
|
134
|
-
(0, import_vitest.expect)(id3).toBe("\0one-env-guard:native-only:client");
|
|
147
|
+
(0, import_vitest.expect)(id3).toBe("\0one-env-guard:native-only:client:client");
|
|
135
148
|
});
|
|
136
149
|
});
|
|
137
150
|
});
|
|
@@ -9,21 +9,25 @@ var import_environmentGuardPlugin = require("./environmentGuardPlugin.native.js"
|
|
|
9
9
|
(0, import_vitest.expect)((0, import_environmentGuardPlugin.resolveEnvironmentGuard)("vite", "ssr")).toBeNull();
|
|
10
10
|
(0, import_vitest.expect)((0, import_environmentGuardPlugin.resolveEnvironmentGuard)("some-other-pkg", "ios")).toBeNull();
|
|
11
11
|
});
|
|
12
|
-
(0, import_vitest.it)("returns virtual id for server-only", function () {
|
|
13
|
-
var id = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("server-only", "ssr");
|
|
14
|
-
(0, import_vitest.expect)(id).toBe("\0one-env-guard:server-only:ssr");
|
|
12
|
+
(0, import_vitest.it)("returns virtual id for server-only (with consumer)", function () {
|
|
13
|
+
var id = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("server-only", "ssr", "server");
|
|
14
|
+
(0, import_vitest.expect)(id).toBe("\0one-env-guard:server-only:ssr:server");
|
|
15
15
|
});
|
|
16
|
-
(0, import_vitest.it)("returns virtual id for client-only", function () {
|
|
17
|
-
var id = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("client-only", "client");
|
|
18
|
-
(0, import_vitest.expect)(id).toBe("\0one-env-guard:client-only:client");
|
|
16
|
+
(0, import_vitest.it)("returns virtual id for client-only (with consumer)", function () {
|
|
17
|
+
var id = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("client-only", "client", "client");
|
|
18
|
+
(0, import_vitest.expect)(id).toBe("\0one-env-guard:client-only:client:client");
|
|
19
19
|
});
|
|
20
20
|
(0, import_vitest.it)("returns virtual id for native-only", function () {
|
|
21
21
|
var id = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("native-only", "ios");
|
|
22
|
-
(0, import_vitest.expect)(id).toBe("\0one-env-guard:native-only:ios");
|
|
22
|
+
(0, import_vitest.expect)(id).toBe("\0one-env-guard:native-only:ios:unknown");
|
|
23
23
|
});
|
|
24
24
|
(0, import_vitest.it)("returns virtual id for web-only", function () {
|
|
25
25
|
var id = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("web-only", "client");
|
|
26
|
-
(0, import_vitest.expect)(id).toBe("\0one-env-guard:web-only:client");
|
|
26
|
+
(0, import_vitest.expect)(id).toBe("\0one-env-guard:web-only:client:unknown");
|
|
27
|
+
});
|
|
28
|
+
(0, import_vitest.it)("encodes worker consumer for cloudflare deploy", function () {
|
|
29
|
+
var id = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("server-only", "worker", "server");
|
|
30
|
+
(0, import_vitest.expect)(id).toBe("\0one-env-guard:server-only:worker:server");
|
|
27
31
|
});
|
|
28
32
|
});
|
|
29
33
|
(0, import_vitest.describe)("loadEnvironmentGuard", function () {
|
|
@@ -31,70 +35,79 @@ var import_environmentGuardPlugin = require("./environmentGuardPlugin.native.js"
|
|
|
31
35
|
(0, import_vitest.expect)((0, import_environmentGuardPlugin.loadEnvironmentGuard)("react")).toBeNull();
|
|
32
36
|
(0, import_vitest.expect)((0, import_environmentGuardPlugin.loadEnvironmentGuard)("/some/path.ts")).toBeNull();
|
|
33
37
|
});
|
|
34
|
-
(0, import_vitest.it)("server-only: allowed in
|
|
38
|
+
(0, import_vitest.it)("server-only: allowed in any server-consumer env", function () {
|
|
39
|
+
(0, import_vitest.expect)((0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:server-only:ssr:server")).toBe("export {}");
|
|
40
|
+
(0, import_vitest.expect)((0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:server-only:worker:server")).toBe("export {}");
|
|
41
|
+
(0, import_vitest.expect)((0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:server-only:edge:server")).toBe("export {}");
|
|
42
|
+
});
|
|
43
|
+
(0, import_vitest.it)("server-only: legacy 2-part form still allowed in ssr", function () {
|
|
35
44
|
var result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:server-only:ssr");
|
|
36
45
|
(0, import_vitest.expect)(result).toBe("export {}");
|
|
37
46
|
});
|
|
38
47
|
(0, import_vitest.it)("server-only: forbidden in client", function () {
|
|
39
|
-
var result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:server-only:client");
|
|
48
|
+
var result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:server-only:client:client");
|
|
40
49
|
(0, import_vitest.expect)(result).toContain("throw new Error");
|
|
41
50
|
(0, import_vitest.expect)(result).toContain("server-only");
|
|
42
51
|
(0, import_vitest.expect)(result).toContain("client");
|
|
43
52
|
});
|
|
44
53
|
(0, import_vitest.it)("server-only: forbidden in ios", function () {
|
|
45
|
-
var result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:server-only:ios");
|
|
54
|
+
var result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:server-only:ios:client");
|
|
46
55
|
(0, import_vitest.expect)(result).toContain("throw new Error");
|
|
47
56
|
});
|
|
48
57
|
(0, import_vitest.it)("server-only: forbidden in android", function () {
|
|
49
|
-
var result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:server-only:android");
|
|
58
|
+
var result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:server-only:android:client");
|
|
50
59
|
(0, import_vitest.expect)(result).toContain("throw new Error");
|
|
51
60
|
});
|
|
52
61
|
(0, import_vitest.it)("client-only: allowed in client", function () {
|
|
62
|
+
var result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:client-only:client:client");
|
|
63
|
+
(0, import_vitest.expect)(result).toBe("export {}");
|
|
64
|
+
});
|
|
65
|
+
(0, import_vitest.it)("client-only: legacy 2-part form still allowed in client", function () {
|
|
53
66
|
var result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:client-only:client");
|
|
54
67
|
(0, import_vitest.expect)(result).toBe("export {}");
|
|
55
68
|
});
|
|
56
69
|
(0, import_vitest.it)("client-only: forbidden in ssr", function () {
|
|
57
|
-
var result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:client-only:ssr");
|
|
70
|
+
var result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:client-only:ssr:server");
|
|
58
71
|
(0, import_vitest.expect)(result).toContain("throw new Error");
|
|
59
72
|
});
|
|
60
73
|
(0, import_vitest.it)("client-only: forbidden in ios", function () {
|
|
61
|
-
var result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:client-only:ios");
|
|
74
|
+
var result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:client-only:ios:server");
|
|
62
75
|
(0, import_vitest.expect)(result).toContain("throw new Error");
|
|
63
76
|
});
|
|
64
77
|
(0, import_vitest.it)("client-only: forbidden in android", function () {
|
|
65
|
-
var result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:client-only:android");
|
|
78
|
+
var result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:client-only:android:server");
|
|
66
79
|
(0, import_vitest.expect)(result).toContain("throw new Error");
|
|
67
80
|
});
|
|
68
81
|
(0, import_vitest.it)("native-only: allowed in ios", function () {
|
|
69
|
-
var result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:native-only:ios");
|
|
82
|
+
var result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:native-only:ios:unknown");
|
|
70
83
|
(0, import_vitest.expect)(result).toBe("export {}");
|
|
71
84
|
});
|
|
72
85
|
(0, import_vitest.it)("native-only: allowed in android", function () {
|
|
73
|
-
var result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:native-only:android");
|
|
86
|
+
var result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:native-only:android:unknown");
|
|
74
87
|
(0, import_vitest.expect)(result).toBe("export {}");
|
|
75
88
|
});
|
|
76
89
|
(0, import_vitest.it)("native-only: forbidden in client", function () {
|
|
77
|
-
var result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:native-only:client");
|
|
90
|
+
var result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:native-only:client:client");
|
|
78
91
|
(0, import_vitest.expect)(result).toContain("throw new Error");
|
|
79
92
|
});
|
|
80
93
|
(0, import_vitest.it)("native-only: forbidden in ssr", function () {
|
|
81
|
-
var result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:native-only:ssr");
|
|
94
|
+
var result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:native-only:ssr:server");
|
|
82
95
|
(0, import_vitest.expect)(result).toContain("throw new Error");
|
|
83
96
|
});
|
|
84
97
|
(0, import_vitest.it)("web-only: allowed in client", function () {
|
|
85
|
-
var result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:web-only:client");
|
|
98
|
+
var result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:web-only:client:client");
|
|
86
99
|
(0, import_vitest.expect)(result).toBe("export {}");
|
|
87
100
|
});
|
|
88
101
|
(0, import_vitest.it)("web-only: allowed in ssr", function () {
|
|
89
|
-
var result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:web-only:ssr");
|
|
102
|
+
var result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:web-only:ssr:server");
|
|
90
103
|
(0, import_vitest.expect)(result).toBe("export {}");
|
|
91
104
|
});
|
|
92
105
|
(0, import_vitest.it)("web-only: forbidden in ios", function () {
|
|
93
|
-
var result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:web-only:ios");
|
|
106
|
+
var result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:web-only:ios:unknown");
|
|
94
107
|
(0, import_vitest.expect)(result).toContain("throw new Error");
|
|
95
108
|
});
|
|
96
109
|
(0, import_vitest.it)("web-only: forbidden in android", function () {
|
|
97
|
-
var result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:web-only:android");
|
|
110
|
+
var result = (0, import_environmentGuardPlugin.loadEnvironmentGuard)("\0one-env-guard:web-only:android:unknown");
|
|
98
111
|
(0, import_vitest.expect)(result).toContain("throw new Error");
|
|
99
112
|
});
|
|
100
113
|
(0, import_vitest.it)("disabled guards always pass", function () {
|
|
@@ -104,36 +117,36 @@ var import_environmentGuardPlugin = require("./environmentGuardPlugin.native.js"
|
|
|
104
117
|
});
|
|
105
118
|
(0, import_vitest.describe)("options", function () {
|
|
106
119
|
(0, import_vitest.it)("disabled: true makes all guards no-ops", function () {
|
|
107
|
-
var id = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("client-only", "ssr", {
|
|
120
|
+
var id = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("client-only", "ssr", "server", {
|
|
108
121
|
disabled: true
|
|
109
122
|
});
|
|
110
123
|
(0, import_vitest.expect)(id).toBe("\0one-env-guard:client-only:disabled");
|
|
111
124
|
(0, import_vitest.expect)((0, import_environmentGuardPlugin.loadEnvironmentGuard)(id)).toBe("export {}");
|
|
112
125
|
});
|
|
113
126
|
(0, import_vitest.it)("disableGuards: disables specific guard types", function () {
|
|
114
|
-
var id1 = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("client-only", "ssr", {
|
|
127
|
+
var id1 = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("client-only", "ssr", "server", {
|
|
115
128
|
disableGuards: ["client-only"]
|
|
116
129
|
});
|
|
117
130
|
(0, import_vitest.expect)(id1).toBe("\0one-env-guard:client-only:disabled");
|
|
118
|
-
var id2 = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("server-only", "client", {
|
|
131
|
+
var id2 = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("server-only", "client", "client", {
|
|
119
132
|
disableGuards: ["client-only"]
|
|
120
133
|
});
|
|
121
|
-
(0, import_vitest.expect)(id2).toBe("\0one-env-guard:server-only:client");
|
|
134
|
+
(0, import_vitest.expect)(id2).toBe("\0one-env-guard:server-only:client:client");
|
|
122
135
|
(0, import_vitest.expect)((0, import_environmentGuardPlugin.loadEnvironmentGuard)(id2)).toContain("throw new Error");
|
|
123
136
|
});
|
|
124
137
|
(0, import_vitest.it)("disableGuards: can disable multiple guards", function () {
|
|
125
|
-
var id1 = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("client-only", "ssr", {
|
|
138
|
+
var id1 = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("client-only", "ssr", "server", {
|
|
126
139
|
disableGuards: ["client-only", "server-only"]
|
|
127
140
|
});
|
|
128
141
|
(0, import_vitest.expect)(id1).toBe("\0one-env-guard:client-only:disabled");
|
|
129
|
-
var id2 = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("server-only", "client", {
|
|
142
|
+
var id2 = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("server-only", "client", "client", {
|
|
130
143
|
disableGuards: ["client-only", "server-only"]
|
|
131
144
|
});
|
|
132
145
|
(0, import_vitest.expect)(id2).toBe("\0one-env-guard:server-only:disabled");
|
|
133
|
-
var id3 = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("native-only", "client", {
|
|
146
|
+
var id3 = (0, import_environmentGuardPlugin.resolveEnvironmentGuard)("native-only", "client", "client", {
|
|
134
147
|
disableGuards: ["client-only", "server-only"]
|
|
135
148
|
});
|
|
136
|
-
(0, import_vitest.expect)(id3).toBe("\0one-env-guard:native-only:client");
|
|
149
|
+
(0, import_vitest.expect)(id3).toBe("\0one-env-guard:native-only:client:client");
|
|
137
150
|
});
|
|
138
151
|
});
|
|
139
152
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["import_vitest","require","import_environmentGuardPlugin","describe","it","expect","resolveEnvironmentGuard","toBeNull","id","toBe","loadEnvironmentGuard","result","toContain","disabled","id1","disableGuards","id2"],"sources":["../../../../src/vite/plugins/environmentGuardPlugin.test.ts"],"sourcesContent":[null],"mappings":"AAAA;;AACA,IAAAA,aAAA,GAAAC,OAAA,SAA8D;AAAA,IAE9DC,6BAAS,GAAAD,OAAA,qCAAgC;AACvC,IAAAD,aAAA,CAAAG,QAAA,0BAAS,cAAiC;EACxC,IAAAH,aAAA,CAAAG,QAAG,yCAAyC;IAC1C,IAAAH,aAAA,CAAAI,EAAA,yCAAO;MACP,IAAAJ,aAAA,CAAAK,MAAA,MAAOH,6BAAA,CAAAI,uBAAA,EAAwB,SAAQ,QAAQ,GAAAC,QAAS;MACxD,IAAAP,aAAA,CAAAK,MAAA,MAAOH,6BAAA,CAAAI,uBAAA,EAAwB,gBAAAC,QAAwB,EAAE;MAC1D,IAAAP,aAAA,CAAAK,MAAA,MAAAH,6BAAA,CAAAI,uBAAA,4BAAAC,QAAA;IAED;IACE,IAAAP,aAAW,CAAAI,EAAA;
|
|
1
|
+
{"version":3,"names":["import_vitest","require","import_environmentGuardPlugin","describe","it","expect","resolveEnvironmentGuard","toBeNull","id","toBe","loadEnvironmentGuard","result","toContain","disabled","id1","disableGuards","id2","id3"],"sources":["../../../../src/vite/plugins/environmentGuardPlugin.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -50,7 +50,6 @@ var import_isStatus = require("../../utils/isStatus.cjs");
|
|
|
50
50
|
var import_promiseWithResolvers = require("../../utils/promiseWithResolvers.cjs");
|
|
51
51
|
var import_routeFileWatch = require("../../utils/routeFileWatch.cjs");
|
|
52
52
|
var import_trackLoaderDependencies = require("../../utils/trackLoaderDependencies.cjs");
|
|
53
|
-
var import_constants2 = require("../../vite/constants.cjs");
|
|
54
53
|
var import_replaceLoader = require("../../vite/replaceLoader.cjs");
|
|
55
54
|
var import_one_server_only = require("../one-server-only.cjs");
|
|
56
55
|
var import_virtualEntryConstants = require("./virtualEntryConstants.cjs");
|
|
@@ -68,6 +67,7 @@ function createFileSystemRouterPlugin(options) {
|
|
|
68
67
|
const preloads = ["/@vite/client", import_virtualEntryConstants.virtalEntryIdClient];
|
|
69
68
|
let runner;
|
|
70
69
|
let server;
|
|
70
|
+
let needsCacheClear = true;
|
|
71
71
|
const loaderFileDependencies = /* @__PURE__ */new Map();
|
|
72
72
|
const LOADER_DEPS_MAX = 2e3;
|
|
73
73
|
function setBoundedLoaderDep(filePath, routePath) {
|
|
@@ -149,7 +149,10 @@ function createFileSystemRouterPlugin(options) {
|
|
|
149
149
|
try {
|
|
150
150
|
const isGeneratedNotFound = route.file === "";
|
|
151
151
|
const routeFile = isGeneratedNotFound ? "" : import_node_path.default.join(routerRoot, route.file);
|
|
152
|
-
|
|
152
|
+
if (needsCacheClear) {
|
|
153
|
+
runner.clearCache();
|
|
154
|
+
needsCacheClear = false;
|
|
155
|
+
}
|
|
153
156
|
globalThis["__vxrnresetState"]?.();
|
|
154
157
|
const exported = isGeneratedNotFound ? {} : await runner.import(routeFile);
|
|
155
158
|
async function runLoaderWithTracking(routeNode, loaderFn) {
|
|
@@ -244,7 +247,6 @@ function createFileSystemRouterPlugin(options) {
|
|
|
244
247
|
loaderProps,
|
|
245
248
|
matches
|
|
246
249
|
});
|
|
247
|
-
import_constants2.LoaderDataCache[route.file] = loaderData;
|
|
248
250
|
const isDynamicRoute = Object.keys(route.routeKeys || {}).length > 0;
|
|
249
251
|
let isMissingSsgSlug = false;
|
|
250
252
|
if (route.type === "ssg" && isDynamicRoute && exported.generateStaticParams) {
|
|
@@ -476,6 +478,9 @@ ${stack}
|
|
|
476
478
|
server = serverIn;
|
|
477
479
|
runner = (0, import_vite.createServerModuleRunner)(USE_SERVER_ENV ? server.environments.server : server.environments.ssr);
|
|
478
480
|
const appDir = import_node_path.default.resolve(process.cwd(), (0, import_getRouterRootFromOneOptions.getRouterRootFromOneOptions)(options));
|
|
481
|
+
server.watcher.on("all", () => {
|
|
482
|
+
needsCacheClear = true;
|
|
483
|
+
});
|
|
479
484
|
const fileWatcherChangeListener = (0, import_perfect_debounce.debounce)((type, changedPath) => {
|
|
480
485
|
if ((0, import_routeFileWatch.isRouteFileWatchEvent)({
|
|
481
486
|
event: type,
|
|
@@ -52,7 +52,6 @@ var import_isStatus = require("../../utils/isStatus.native.js");
|
|
|
52
52
|
var import_promiseWithResolvers = require("../../utils/promiseWithResolvers.native.js");
|
|
53
53
|
var import_routeFileWatch = require("../../utils/routeFileWatch.native.js");
|
|
54
54
|
var import_trackLoaderDependencies = require("../../utils/trackLoaderDependencies.native.js");
|
|
55
|
-
var import_constants2 = require("../../vite/constants.native.js");
|
|
56
55
|
var import_replaceLoader = require("../../vite/replaceLoader.native.js");
|
|
57
56
|
var import_one_server_only = require("../one-server-only.native.js");
|
|
58
57
|
var import_virtualEntryConstants = require("./virtualEntryConstants.native.js");
|
|
@@ -82,6 +81,7 @@ function createFileSystemRouterPlugin(options) {
|
|
|
82
81
|
var preloads = ["/@vite/client", import_virtualEntryConstants.virtalEntryIdClient];
|
|
83
82
|
var runner;
|
|
84
83
|
var server;
|
|
84
|
+
var needsCacheClear = true;
|
|
85
85
|
var loaderFileDependencies = /* @__PURE__ */new Map();
|
|
86
86
|
var LOADER_DEPS_MAX = 2e3;
|
|
87
87
|
function setBoundedLoaderDep(filePath, routePath) {
|
|
@@ -170,7 +170,10 @@ function createFileSystemRouterPlugin(options) {
|
|
|
170
170
|
var _globalThis___vxrnresetState, _globalThis;
|
|
171
171
|
var isGeneratedNotFound = route.file === "";
|
|
172
172
|
var routeFile = isGeneratedNotFound ? "" : import_path.default.join(routerRoot, route.file);
|
|
173
|
-
|
|
173
|
+
if (needsCacheClear) {
|
|
174
|
+
runner.clearCache();
|
|
175
|
+
needsCacheClear = false;
|
|
176
|
+
}
|
|
174
177
|
(_globalThis___vxrnresetState = (_globalThis = globalThis)["__vxrnresetState"]) === null || _globalThis___vxrnresetState === void 0 ? void 0 : _globalThis___vxrnresetState.call(_globalThis);
|
|
175
178
|
var exported = isGeneratedNotFound ? {} : await runner.import(routeFile);
|
|
176
179
|
async function runLoaderWithTracking(routeNode, loaderFn) {
|
|
@@ -290,7 +293,6 @@ function createFileSystemRouterPlugin(options) {
|
|
|
290
293
|
loaderProps,
|
|
291
294
|
matches
|
|
292
295
|
});
|
|
293
|
-
import_constants2.LoaderDataCache[route.file] = loaderData;
|
|
294
296
|
var isDynamicRoute = Object.keys(route.routeKeys || {}).length > 0;
|
|
295
297
|
var isMissingSsgSlug = false;
|
|
296
298
|
if (route.type === "ssg" && isDynamicRoute && exported.generateStaticParams) {
|
|
@@ -560,6 +562,9 @@ ${stack}
|
|
|
560
562
|
server = serverIn;
|
|
561
563
|
runner = (0, import_vite.createServerModuleRunner)(USE_SERVER_ENV ? server.environments.server : server.environments.ssr);
|
|
562
564
|
var appDir = import_path.default.resolve(process.cwd(), (0, import_getRouterRootFromOneOptions.getRouterRootFromOneOptions)(options));
|
|
565
|
+
server.watcher.on("all", function () {
|
|
566
|
+
needsCacheClear = true;
|
|
567
|
+
});
|
|
563
568
|
var fileWatcherChangeListener = (0, import_perfect_debounce.debounce)(function (type, changedPath) {
|
|
564
569
|
if ((0, import_routeFileWatch.isRouteFileWatchEvent)({
|
|
565
570
|
event: type,
|