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.
Files changed (66) hide show
  1. package/dist/cjs/cli/build.cjs +41 -2
  2. package/dist/cjs/cli/build.native.js +50 -2
  3. package/dist/cjs/cli/build.native.js.map +1 -1
  4. package/dist/cjs/getURL.native.js +6 -5
  5. package/dist/cjs/getURL.native.js.map +1 -1
  6. package/dist/cjs/getURL.native.test.cjs +26 -0
  7. package/dist/cjs/getURL.native.test.native.js +33 -0
  8. package/dist/cjs/getURL.native.test.native.js.map +1 -0
  9. package/dist/cjs/vite/constants.cjs +0 -2
  10. package/dist/cjs/vite/constants.native.js +0 -2
  11. package/dist/cjs/vite/constants.native.js.map +1 -1
  12. package/dist/cjs/vite/plugins/environmentGuardPlugin.cjs +25 -15
  13. package/dist/cjs/vite/plugins/environmentGuardPlugin.native.js +26 -16
  14. package/dist/cjs/vite/plugins/environmentGuardPlugin.native.js.map +1 -1
  15. package/dist/cjs/vite/plugins/environmentGuardPlugin.test.cjs +44 -31
  16. package/dist/cjs/vite/plugins/environmentGuardPlugin.test.native.js +44 -31
  17. package/dist/cjs/vite/plugins/environmentGuardPlugin.test.native.js.map +1 -1
  18. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.cjs +8 -3
  19. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +8 -3
  20. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  21. package/dist/esm/cli/build.mjs +41 -2
  22. package/dist/esm/cli/build.mjs.map +1 -1
  23. package/dist/esm/cli/build.native.js +50 -2
  24. package/dist/esm/cli/build.native.js.map +1 -1
  25. package/dist/esm/getURL.native.js +6 -5
  26. package/dist/esm/getURL.native.js.map +1 -1
  27. package/dist/esm/getURL.native.test.js +27 -0
  28. package/dist/esm/getURL.native.test.js.map +6 -0
  29. package/dist/esm/getURL.native.test.mjs +27 -0
  30. package/dist/esm/getURL.native.test.mjs.map +1 -0
  31. package/dist/esm/getURL.native.test.native.js +31 -0
  32. package/dist/esm/getURL.native.test.native.js.map +1 -0
  33. package/dist/esm/vite/constants.mjs +1 -2
  34. package/dist/esm/vite/constants.mjs.map +1 -1
  35. package/dist/esm/vite/constants.native.js +1 -2
  36. package/dist/esm/vite/constants.native.js.map +1 -1
  37. package/dist/esm/vite/plugins/environmentGuardPlugin.mjs +25 -15
  38. package/dist/esm/vite/plugins/environmentGuardPlugin.mjs.map +1 -1
  39. package/dist/esm/vite/plugins/environmentGuardPlugin.native.js +26 -16
  40. package/dist/esm/vite/plugins/environmentGuardPlugin.native.js.map +1 -1
  41. package/dist/esm/vite/plugins/environmentGuardPlugin.test.mjs +44 -31
  42. package/dist/esm/vite/plugins/environmentGuardPlugin.test.mjs.map +1 -1
  43. package/dist/esm/vite/plugins/environmentGuardPlugin.test.native.js +44 -31
  44. package/dist/esm/vite/plugins/environmentGuardPlugin.test.native.js.map +1 -1
  45. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs +8 -3
  46. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
  47. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +8 -3
  48. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  49. package/env.d.ts +2 -0
  50. package/package.json +10 -10
  51. package/src/cli/build.ts +58 -1
  52. package/src/getURL.native.test.ts +33 -0
  53. package/src/getURL.native.ts +9 -7
  54. package/src/vite/constants.ts +0 -2
  55. package/src/vite/plugins/environmentGuardPlugin.test.ts +58 -33
  56. package/src/vite/plugins/environmentGuardPlugin.ts +50 -20
  57. package/src/vite/plugins/fileSystemRouterPlugin.tsx +18 -4
  58. package/types/cli/build.d.ts.map +1 -1
  59. package/types/getURL.native.d.ts.map +1 -1
  60. package/types/getURL.native.test.d.ts +2 -0
  61. package/types/getURL.native.test.d.ts.map +1 -0
  62. package/types/vite/constants.d.ts +0 -1
  63. package/types/vite/constants.d.ts.map +1 -1
  64. package/types/vite/plugins/environmentGuardPlugin.d.ts +16 -4
  65. package/types/vite/plugins/environmentGuardPlugin.d.ts.map +1 -1
  66. 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 ALLOWED_ENVIRONMENTS = {
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
- function resolveEnvironmentGuard(specifier, envName, options) {
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 lastColon = rest.lastIndexOf(":");
56
- if (lastColon === -1) return null;
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 allowed = ALLOWED_ENVIRONMENTS[specifier];
63
- if (!allowed) return null;
64
- if (allowed.includes(envName)) {
65
- return "export {}";
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
- return resolveEnvironmentGuard(source, envName, options);
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","ALLOWED_ENVIRONMENTS","specifier","envName","options","_options_disableGuards","includes","disabled","disableGuards","id","startsWith","rest","slice","length","lastColon","lastIndexOf","allowed"],"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;AAiBAC,MAAM,CAAAC,OAAA,GAAAX,YAAiB,CAAAK,8BAAA;AAEvB,IAAAO,cAAM,qBAAmB;AAAA,IACvBC,gBAAA,IACA,eACA,eACA,eACF,WAKA;AAAiF,IAC/EC,oBAAqB;EACrB,eAAe,CACf,MACA;EACF,gBAwBO,QAAS,CAKd;EACE,aAAO,GACT,OAGA,SACE,CAGA;EACF,aAEA,QAAU,EACZ;AAOE;AACE,SAAAL,uBAAOA,CAAAM,SAAA,EAAAC,OAAA,EAAAC,OAAA;EACT,IAAAC,sBAAA;EAEA,KAAAL,gBAAgB,CAAMM,QAAA,CAAAJ,SAAe,GAAM;IAC3C,OAAM;EACN;EAEA,KAAAE,OAAM,SAAY,IAAKA,OAAS,UAAS,aAAAA,OAAA,CAAAG,QAAA,MAAAH,OAAA,aAAAA,OAAA,wBAAAC,sBAAA,GAAAD,OAAA,CAAAI,aAAA,cAAAH,sBAAA,uBAAAA,sBAAA,CAAAC,QAAA,CAAAJ,SAAA;IACzC,OAAM,GAAAH,cAAe,GAAMG,SAAA,WAAa;EAGxC;EACE,UAAOH,cAAA,GAAAG,SAAA,IAAAC,OAAA;AAAA;AAGT,SAAMR,oBAAUA,CAAAc,EAAA;EAChB,IAAI,CAACA,EAAA,CAAAC,UAAS,CAAAX,cAAO;IAErB,OAAI,IAAQ;EACV;EACF,IAAAY,IAAA,GAAAF,EAAA,CAAAG,KAAA,CAAAb,cAAA,CAAAc,MAAA;EAEA,IAAAC,SAAO,GAAAH,IAAA,CAAAI,WAAoB,IAAS;EACtC,IAAAD,SAAA;EAEO,IAAAZ,SAAS,GAAAS,IAAA,CAAAC,KAAA,IAAuBE,SAA2C;EAChF,IAAAX,OAAO,GAAAQ,IAAA,CAAAC,KAAA,CAAAE,SAAA;EAAA,IACLX,OAAM;IACN,kBAAS;EAAA;EAGP,IAAAa,OAAM,GAAAf,oBAAe,CAAAC,SAAa;EAClC,KAAAc,OAAK,SAAS,IAAO;EACrB,IAAAA,OAAO,CAAAV,QAAA,CAAAH,OAAA;IACT;EAAA;EAGE,2BAAOD,SAAuB,iCAAAC,OAAA;AAAA;AAChC,SACFT,uBAAAU,OAAA;EACF","ignoreList":[]}
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 ssr", () => {
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 ssr", function () {
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":"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","ignoreList":[]}
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
- runner.clearCache();
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
- runner.clearCache();
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,