vxrn 1.13.5 → 1.13.7

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.
@@ -36,7 +36,7 @@ const prebuild = async ({
36
36
  throw new Error(`Failed to prebuild native project: ${e}
37
37
  Is "expo" listed in your dependencies?`);
38
38
  }
39
- (!platform || platform === "ios") && validateSwift6Workaround(root), (!platform || platform === "ios") && console.info(`
39
+ (!platform || platform === "ios") && (process.env.ONE_METRO_MODE || globalThis.__vxrnMetroOptions__ || globalThis.__vxrnPluginConfig__?.native?.bundler === "metro" || ensureRolldownPodfileProperties(root)), (!platform || platform === "ios") && validateSwift6Workaround(root), (!platform || platform === "ios") && console.info(`
40
40
  iOS:
41
41
 
42
42
  Run \`open ios/*.xcworkspace\` in your terminal to open the prebuilt iOS project.
@@ -132,5 +132,16 @@ async function replaceInUTF8File(filePath, findThis, replaceWith) {
132
132
  replacedFileContent = fileContent.replace(findThis, replaceWith);
133
133
  fileContent !== replacedFileContent && (await FSExtra.writeFile(filePath, replacedFileContent, "utf8"));
134
134
  }
135
+ function ensureRolldownPodfileProperties(root) {
136
+ const propsPath = path.join(root, "ios", "Podfile.properties.json");
137
+ if (!FSExtra.existsSync(path.join(root, "ios"))) return;
138
+ let props = {};
139
+ if (FSExtra.existsSync(propsPath)) try {
140
+ props = JSON.parse(FSExtra.readFileSync(propsPath, "utf8"));
141
+ } catch {}
142
+ let changed = !1;
143
+ props["expo.useHermesV1"] !== "true" && (props["expo.useHermesV1"] = "true", changed = !0), props["ios.buildReactNativeFromSource"] !== "true" && (props["ios.buildReactNativeFromSource"] = "true", changed = !0), changed && (FSExtra.writeFileSync(propsPath, JSON.stringify(props, null, 2) + `
144
+ `, "utf8"), console.info(colors.cyan("[vxrn] Updated ios/Podfile.properties.json for rolldown mode (hermes v1 + build from source)")));
145
+ }
135
146
  export { prebuild, replaceInUTF8File };
136
147
  //# sourceMappingURL=prebuild.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["resolvePath","detectPackageManager","FSExtra","path","colors","fillOptions","applyBuiltInPatches","generateForPlatform","prebuild","root","platform","noInstall","expo","options","doesIOSExist","existsSync","resolve","doesAndroidExist","expoPrebuild","default","packageJsonPath","join","packageJsonContents","readFile","replace","writeFile","error","console","removeSync","e","Error","validateSwift6Workaround","info","devDependencies","JSON","parse","installCommand","found","bun","pnpm","yarn","appConfig","appConfigPath","appConfigContents","isMissingCliDependency","warnMissingCliDependency","podfilePath","propsPath","readFileSync","emcPkgPath","emcVersion","version","Number","parseInt","match","includes","warn","yellow","code","test","message","red","dim","white","bold","replaceInUTF8File","filePath","findThis","replaceWith","fileContent","replacedFileContent"],"sources":["../../src/exports/prebuild.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["resolvePath","detectPackageManager","FSExtra","path","colors","fillOptions","applyBuiltInPatches","generateForPlatform","prebuild","root","platform","noInstall","expo","options","doesIOSExist","existsSync","resolve","doesAndroidExist","expoPrebuild","default","packageJsonPath","join","packageJsonContents","readFile","replace","writeFile","error","console","removeSync","e","Error","process","env","ONE_METRO_MODE","globalThis","__vxrnMetroOptions__","__vxrnPluginConfig__","native","bundler","ensureRolldownPodfileProperties","validateSwift6Workaround","info","devDependencies","JSON","parse","installCommand","found","bun","pnpm","yarn","appConfig","appConfigPath","appConfigContents","isMissingCliDependency","warnMissingCliDependency","podfilePath","propsPath","readFileSync","emcPkgPath","emcVersion","version","Number","parseInt","match","includes","warn","yellow","code","test","message","red","dim","white","bold","replaceInUTF8File","filePath","findThis","replaceWith","fileContent","replacedFileContent","props","changed","writeFileSync","stringify","cyan"],"sources":["../../src/exports/prebuild.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -38,6 +38,12 @@ var prebuild = async function (param) {
38
38
  throw new Error(`Failed to prebuild native project: ${e}
39
39
  Is "expo" listed in your dependencies?`);
40
40
  }
41
+ if (!platform || platform === "ios") {
42
+ var _globalThis___vxrnPluginConfig___native,
43
+ _globalThis___vxrnPluginConfig__,
44
+ isMetro = process.env.ONE_METRO_MODE || globalThis.__vxrnMetroOptions__ || ((_globalThis___vxrnPluginConfig__ = globalThis.__vxrnPluginConfig__) === null || _globalThis___vxrnPluginConfig__ === void 0 || (_globalThis___vxrnPluginConfig___native = _globalThis___vxrnPluginConfig__.native) === null || _globalThis___vxrnPluginConfig___native === void 0 ? void 0 : _globalThis___vxrnPluginConfig___native.bundler) === "metro";
45
+ isMetro || ensureRolldownPodfileProperties(root);
46
+ }
41
47
  (!platform || platform === "ios") && validateSwift6Workaround(root), (!platform || platform === "ios") && console.info(`
42
48
  iOS:
43
49
 
@@ -139,5 +145,17 @@ async function replaceInUTF8File(filePath, findThis, replaceWith) {
139
145
  replacedFileContent = fileContent.replace(findThis, replaceWith);
140
146
  fileContent !== replacedFileContent && (await FSExtra.writeFile(filePath, replacedFileContent, "utf8"));
141
147
  }
148
+ function ensureRolldownPodfileProperties(root) {
149
+ var propsPath = path.join(root, "ios", "Podfile.properties.json");
150
+ if (FSExtra.existsSync(path.join(root, "ios"))) {
151
+ var props = {};
152
+ if (FSExtra.existsSync(propsPath)) try {
153
+ props = JSON.parse(FSExtra.readFileSync(propsPath, "utf8"));
154
+ } catch {}
155
+ var changed = !1;
156
+ props["expo.useHermesV1"] !== "true" && (props["expo.useHermesV1"] = "true", changed = !0), props["ios.buildReactNativeFromSource"] !== "true" && (props["ios.buildReactNativeFromSource"] = "true", changed = !0), changed && (FSExtra.writeFileSync(propsPath, JSON.stringify(props, null, 2) + `
157
+ `, "utf8"), console.info(colors.cyan("[vxrn] Updated ios/Podfile.properties.json for rolldown mode (hermes v1 + build from source)")));
158
+ }
159
+ }
142
160
  export { prebuild, replaceInUTF8File };
143
161
  //# sourceMappingURL=prebuild.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["resolvePath","detectPackageManager","FSExtra","path","colors","fillOptions","applyBuiltInPatches","generateForPlatform","prebuild","param","root","platform","noInstall","expo","options","doesIOSExist","existsSync","resolve","doesAndroidExist","importPath","expoPrebuild","default","packageJsonPath","join","packageJsonContents","readFile","replace","writeFile","error","console","removeSync","e","Error","validateSwift6Workaround","info","packageJsonPath1","packageJsonContents1","devDependencies","JSON","parse","installCommand","found","bun","pnpm","yarn","appConfig","appConfigPath","appConfigContents","isMissingCliDependency","warnMissingCliDependency","podfilePath","propsPath","props","readFileSync","_emcVersion_match","emcPkgPath","emcVersion","version","major","Number","parseInt","match","podfile","includes","warn","yellow","code","test","message","red","dim","white","bold","replaceInUTF8File","filePath","findThis","replaceWith","fileContent","replacedFileContent"],"sources":["../../src/exports/prebuild.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,QAAmB;AAC5B,SAASC,oBAAA,QAAqD;AAC9D,OAAOC,OAAA,MAAa;AACpB,OAAOC,IAAA,MAAU;AACjB,OAAOC,MAAA,MAAY;AACnB,SAASC,WAAA,QAAmB;AAC5B,SAASC,mBAAA,QAA2B;AACpC,SAASC,mBAAA,QAA2B;AAE7B,IAAAC,QAAM,kBAAAA,CAAkBC,KAAA;EAC7B;MAAAC,IAAA;MAAAC,QAAA;MAAA,cAAAC,SAAA;MAAAC,IAAA;IAAA,IAAAJ,KAAA;IAAAK,OAAA,SAAAT,WAAA;MACAK;IACA;EACA,MAAAJ,mBAAO,CAAAQ,OAAA;EACT,IAKMC,YAAA,GAAAb,OAAA,CAAAc,UAAA,CAAAb,IAAA,CAAAc,OAAA;IAAAC,gBAAA,GAAAhB,OAAA,CAAAc,UAAA,CAAAb,IAAA,CAAAc,OAAA;EACJ,IAAAJ,IAAM;IAEN,IAAM;MAEN,IAAMM,UAAA,GAAenB,WAAQ,wCACvB,EAAAU,IAAA;QAAmBU,YAAQ,UAAW,MAAK,CAAAD,UAAQ,GAAUE,OAAA,CAAAD,YAAA;MAE/D,MAAMA,YAAA,EACJ,IAAAT,QAAA,IAGF,YAAM,EACNA,QAAM,CACJ,GAAI,KACJ,IAAIC,SAAA,GAAY,CAChB,eACA,QACD,4BACD,yBAAI,CACF;MACA;QAEA,IAAAU,eAAA,GAAsBnB,IAAA,CAAAoB,IAAA,CAAAb,IAAA,gBAA4B;UAAAc,mBAAiB,SACnEtB,OAAA,CAAAuB,QAAA,CAAAH,eAAsB;QAAoBE,mBACxC,GAAAA,mBAAA,CAAAE,OAAA,kCAAAF,mBAAA,GAAAA,mBAAA,CAAAE,OAAA,gDAAAxB,OAAA,CAAAyB,SAAA,CAAAL,eAAA,EAAAE,mBAAA;MAAA,SACAI,KAAA;QACFC,OAEA,CAAAD,KAAM,8BAAkB,EAAiBA,KAAA;MAC3C;MACE;QACF1B,OAAA,CAAA4B,UAAA,CAAA3B,IAAA,CAAAoB,IAAA,CAAAb,IAAA;MAEA,QAAI,CACF;IAA6D,EAC/D,OAAAqB,CAAY;MAEZ,UAAAC,KAAA,uCAAAD,CAAA;AAAA,uCACU;IACV;IAAU,EAAApB,QACR,IAAAA,QAAA,eAAAsB,wBAAuC,CAAAvB,IAAA,KAAAC,QAAA,IAAAA,QAAA,eAAAkB,OAAA,CAAAK,IAAA;AAAA;AAAA;AACzC;AAKF;AAKU;AACN;AAAA;AAAA;AAAA;EAAA;IAAA;MAAA,IAAAC,gBAAA,GAAAhC,IAAA,CAAAoB,IAAA,CAAAb,IAAA;QAAA0B,oBAAA,SAAAlC,OAAA,CAAAuB,QAAA,CAAAU,gBAAA;QAAA;UAAAE;QAAA,IAAAC,IAAA,CAAAC,KAAA,CAAAH,oBAAA;MAAA,KAAAC,eAAA;QAAA,IAAAG,cAAA;UAUF,IAAAC,KAAA,SAAAxC,oBAAA;UAEG;YACD,KAAAwC,KAAA,CAAAC,GAAA;cACI,oDAAgD;YAClD,KAAAD,KAAA,CAAAE,IAAA;cAEC,yDAAqD;YACxD,KAAMF,KAAA,CAAAG,IAAA;cAEF,OAAM,8CAAmC;YACzC;cACE,OAAK,iDAAM;UACT;QAAO,GACT;QACE,UAAAZ,KAAO;AAAA,IAAAQ,cACJ,KAAM;MACT;IAAO,SACTZ,KAAA;MACE,UAAAI,KAAO;AAAA,IAAAJ,KAAA,CACX;IAAA;IAEJ,IAAAiB,SAAM;IAAI;MAED,IAAAC,aAAc,GAAA3C,IAAA,CAAAc,OAAA;QAAA8B,iBAAA,SAAA7C,OAAA,CAAAuB,QAAA,CAAAqB,aAAA;MAAAD,SACvB,GAAAP,IAAA,CAAAC,KAAA,CAAAQ,iBAAA;IAAA,EACF,OAAAnB,KAAA;MACF,UAASI,KAAO;AACd,IAAAJ,KAAA;IAAuD;IACzD,CAAAjB,QAAA,cAAAA,QAAA,MAAAI,YAAA,GAAAc,OAAA,CAAAD,KAAA,uCAAArB,mBAAA,CAAAG,IAAA,SAAAmC,SAAA,KAAAlC,QAAA,kBAAAA,QAAA,MAAAO,gBAAA,GAAAW,OAAA,CAAAD,KAAA,2CAAArB,mBAAA,CAAAG,IAAA,aAAAmC,SAAA,MAAAlC,QAAA,IAAAA,QAAA,gBAAAkB,OAAA,CAAAK,IAAA,+BAAAL,OAAA,CAAAK,IAAA;EAGA;EACA,EAAAvB,QAAI,IAAAA,QAAA,mBAAAkB,OAAA,CAAAK,IAAA;EACF;IAEAlC,WAAA,8BAAuB,EAAiBU,IAAA;EAAA,EAC1C,OAAAqB,CAAA,EAAS;IACP,IAAAiB,sBAAgB,CAAAjB,CAAA,GAAmCkB,wBAAK,QAEtD,MAAAlB,CAAA;EAgBM;AACN;AACF,SAEJE,yBAAAvB,IAAA;EACA,IAAKwC,WAAY,GAAA/C,IAAA,CAAAoB,IAAa,CAAAb,IAAA,SAC5B,SAAQ;EAAA,IACNR,OAAA,CAAAc,UAAA,CAAAkC,WAAA;IASF,IAAAC,SAAA,GAAAhD,IAAA,CAAAoB,IAAA,CAAAb,IAAA;IAiDF,IAAIR,OAAA,CAAAc,UAAA,CAAAmC,SAAA,GACF;MACF,IAASC,KAAG,GAAAd,IAAA,CAAAC,KAAA,CAAArC,OAAA,CAAAmD,YAAA,CAAAF,SAAA;MACN,IAAAC,KAAA,8BAAwB;IAC1B,SAAyB;IAEzB;MAEJ,IAAAE,iBAAA;QAAAC,UAAA,GAAAvD,WAAA,mCAAAU,IAAA;QAAA8C,UAAA,GAAAlB,IAAA,CAAAC,KAAA,CAAArC,OAAA,CAAAmD,YAAA,CAAAE,UAAA,WAAAE,OAAA;QAAAC,KAAA,GAAAC,MAAA,CAAAC,QAAA,GAAAN,iBAAA,GAAAE,UAAA,CAAAK,KAAA,wBAAAP,iBAAA,uBAAAA,iBAAA;MACF,IAAAI,KAAA;IAEA,QAAS,CACP;IACA,IAAKI,OAAQ,GAAA5D,OAAA,CAAWmD,YAAW,CAAGH,WAAA;IAGtCY,OAAM,CAAAC,QAAY,2BAAuB,KAAAlC,OAAA,CAAAmC,IAAA,CAAA5D,MAAyB,CAAA6D,MAAA;AAClE;AACE;AAEE;AAAqD;AAC/C;AAIV;AACE;AAGA;AAAiB;AACX,EAAC;EAEO;AAEN;AACQ,SAAAjB,uBAAApB,KAAA;EAAA,OAAAA,KAAA,CAAAsC,IAAA,0DAAAC,IAAA,CAAAvC,KAAA,CAAAwC,OAAA;AAAA;AAAA,SAAAnB,yBAAA;EAAApB,OAAA,CAAAmC,IAAA;AAAA,EAAA5D,MAAA,CAAAiE,GAAA,sCAAAjE,MAAA,CAAAkE,GAAA,+BAAAlE,MAAA,CAAAkE,GAAA,wEAAAlE,MAAA,CAAAkE,GAAA;AAAA,EAAAlE,MAAA,CAAAmE,KAAA,CAAAnE,MAAA,CAAAoE,IAAA;AAAA;AAAA;AAAA,IAUnB;AAAA;AAGD,eAAAC,kBAAAC,QAAA,EAAAC,QAAA,EAAAC,WAAA;EAEA,IAAAC,WAAS,SAAA3E,OAAuB,CAAAuB,QAAO,CAAAiD,QAAA;IAAAI,mBAAA,GAAAD,WAAA,CAAAnD,OAAA,CAAAiD,QAAA,EAAAC,WAAA;EACrCC,WACE,KAAMC,mBAAS,WACf5E,OAAA,CAAAyB,SAAA,CAAA+C,QAAA,EAAAI,mBAA0C,EAAO;AAErD;AAEA,SACEtE,QAAQ,EACRiE,iBAAW","ignoreList":[]}
1
+ {"version":3,"names":["resolvePath","detectPackageManager","FSExtra","path","colors","fillOptions","applyBuiltInPatches","generateForPlatform","prebuild","param","root","platform","noInstall","expo","options","doesIOSExist","existsSync","resolve","doesAndroidExist","importPath","expoPrebuild","default","packageJsonPath","join","packageJsonContents","readFile","replace","writeFile","error","console","removeSync","e","Error","_globalThis___vxrnPluginConfig___native","_globalThis___vxrnPluginConfig__","isMetro","process","env","ONE_METRO_MODE","globalThis","__vxrnMetroOptions__","__vxrnPluginConfig__","native","bundler","ensureRolldownPodfileProperties","validateSwift6Workaround","info","packageJsonPath1","packageJsonContents1","devDependencies","JSON","parse","installCommand","found","bun","pnpm","yarn","appConfig","appConfigPath","appConfigContents","isMissingCliDependency","warnMissingCliDependency","podfilePath","propsPath","props","readFileSync","_emcVersion_match","emcPkgPath","emcVersion","version","major","Number","parseInt","match","podfile","includes","warn","yellow","code","test","message","red","dim","white","bold","replaceInUTF8File","filePath","findThis","replaceWith","fileContent","replacedFileContent","changed","writeFileSync","stringify","cyan"],"sources":["../../src/exports/prebuild.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  import { serveStatic } from "@hono/node-server/serve-static";
2
2
  import micromatch from "micromatch";
3
- const hashedAssetRe = /[.-](?=[a-zA-Z0-9_-]*\d)[a-zA-Z0-9_-]{8,}\.\w+$/;
3
+ const assetsPathRe = /[\\/]assets[\\/]/,
4
+ hashedAssetRe = /[.-](?=[a-zA-Z0-9_-]*\d)[a-zA-Z0-9_-]{8,}\.\w+$/;
4
5
  function compileCacheRules(cacheControl) {
5
6
  const groups = /* @__PURE__ */new Map();
6
7
  for (const [pattern, value] of Object.entries(cacheControl)) {
@@ -41,7 +42,7 @@ async function serveStaticAssets({
41
42
  }
42
43
  }
43
44
  }
44
- hashedAssetRe.test(fsPath) ? c.header("Cache-Control", "public, immutable, max-age=31536000") : c.header("Cache-Control", "public, max-age=0, must-revalidate");
45
+ assetsPathRe.test(fsPath) || hashedAssetRe.test(fsPath) ? c.header("Cache-Control", "public, immutable, max-age=31536000") : c.header("Cache-Control", "public, max-age=0, must-revalidate");
45
46
  }
46
47
  })(context, async () => {
47
48
  didCallNext = !0, await next?.();
@@ -1 +1 @@
1
- {"version":3,"names":["serveStatic","micromatch","hashedAssetRe","compileCacheRules","cacheControl","groups","Map","pattern","value","Object","entries","arr","get","set","push","values","groupSources","patterns","sources","map","p","makeRe","source","join","re","RegExp","serveStaticAssets","context","next","outDir","cacheRules","didCallNext","root","rootPrefix","response","onFound","fsPath","c","path","startsWith","slice","length","m","exec","i","header","test"],"sources":["../../src/exports/serveStaticAssets.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,QAAmB;AAE5B,OAAOC,UAAA,MAAgB;AAGvB,MAAMC,aAAA,GAAgB;AASf,SAASC,kBACdC,YAAA,EACoB;EAEpB,MAAMC,MAAA,GAAS,mBAAIC,GAAA,CAAsB;EACzC,WAAW,CAACC,OAAA,EAASC,KAAK,KAAKC,MAAA,CAAOC,OAAA,CAAQN,YAAY,GAAG;IAC3D,IAAIO,GAAA,GAAMN,MAAA,CAAOO,GAAA,CAAIJ,KAAK;IACrBG,GAAA,KACHA,GAAA,GAAM,EAAC,EACPN,MAAA,CAAOQ,GAAA,CAAIL,KAAA,EAAOG,GAAG,IAEvBA,GAAA,CAAIG,IAAA,CAAKP,OAAO;EAClB;EAIA,MAAMQ,MAAA,GAAmB,EAAC;IACpBC,YAAA,GAAyB,EAAC;EAEhC,WAAW,CAACR,KAAA,EAAOS,QAAQ,KAAKZ,MAAA,EAAQ;IACtCU,MAAA,CAAOD,IAAA,CAAKN,KAAK;IACjB,MAAMU,OAAA,GAAUD,QAAA,CAASE,GAAA,CAAKC,CAAA,IAAMnB,UAAA,CAAWoB,MAAA,CAAOD,CAAC,EAAEE,MAAM;IAC/DN,YAAA,CAAaF,IAAA,CAAK,IAAII,OAAA,CAAQK,IAAA,CAAK,GAAG,CAAC,GAAG;EAC5C;EAGA,OAAO;IAAEC,EAAA,EADE,IAAIC,MAAA,CAAOT,YAAA,CAAaO,IAAA,CAAK,GAAG,CAAC;IAC/BR;EAAO;AACtB;AAEA,eAAsBW,kBAAkB;EACtCC,OAAA;EACAC,IAAA;EACAC,MAAA,GAAS;EACTC;AACF,GAKG;EACD,IAAIC,WAAA,GAAc;EAElB,MAAMC,IAAA,GAAO,KAAKH,MAAM;IAElBI,UAAA,GAAa,GAAGJ,MAAM;IAEtBK,QAAA,GAAW,MAAMlC,WAAA,CAAY;MACjCgC,IAAA;MACAG,OAAA,EAASA,CAACC,MAAA,EAAQC,CAAA,KAAM;QAGtB,MAAMC,IAAA,GAAOF,MAAA,CAAOG,UAAA,CAAWN,UAAU,IACrCG,MAAA,CAAOI,KAAA,CAAMP,UAAA,CAAWQ,MAAM,IAC9BL,MAAA;QAGJ,IAAIN,UAAA,EAAY;UACd,MAAMY,CAAA,GAAIZ,UAAA,CAAWN,EAAA,CAAGmB,IAAA,CAAKL,IAAI;UACjC,IAAII,CAAA;YAEF,SAASE,CAAA,GAAI,GAAGA,CAAA,GAAIF,CAAA,CAAED,MAAA,EAAQG,CAAA,IAC5B,IAAIF,CAAA,CAAEE,CAAC,MAAM,QAAW;cACtBP,CAAA,CAAEQ,MAAA,CAAO,iBAAiBf,UAAA,CAAWf,MAAA,CAAO6B,CAAA,GAAI,CAAC,CAAE;cACnD;YACF;UAAA;QAGN;QAEI1C,aAAA,CAAc4C,IAAA,CAAKV,MAAM,IAC3BC,CAAA,CAAEQ,MAAA,CAAO,iBAAiB,qCAAqC,IAE/DR,CAAA,CAAEQ,MAAA,CAAO,iBAAiB,oCAAoC;MAElE;IACF,CAAC,EAAElB,OAAA,EAAS,YAAY;MACtBI,WAAA,GAAc,IACd,MAAMH,IAAA,GAAO;IACf,CAAC;EAED,IAAI,GAACM,QAAA,IAAYH,WAAA,GAIjB,OAAOG,QAAA;AACT","ignoreList":[]}
1
+ {"version":3,"names":["serveStatic","micromatch","assetsPathRe","hashedAssetRe","compileCacheRules","cacheControl","groups","Map","pattern","value","Object","entries","arr","get","set","push","values","groupSources","patterns","sources","map","p","makeRe","source","join","re","RegExp","serveStaticAssets","context","next","outDir","cacheRules","didCallNext","root","rootPrefix","response","onFound","fsPath","c","path","startsWith","slice","length","m","exec","i","header","test"],"sources":["../../src/exports/serveStaticAssets.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,QAAmB;AAE5B,OAAOC,UAAA,MAAgB;AAIvB,MAAMC,YAAA,GAAe;EAEfC,aAAA,GAAgB;AASf,SAASC,kBACdC,YAAA,EACoB;EAEpB,MAAMC,MAAA,GAAS,mBAAIC,GAAA,CAAsB;EACzC,WAAW,CAACC,OAAA,EAASC,KAAK,KAAKC,MAAA,CAAOC,OAAA,CAAQN,YAAY,GAAG;IAC3D,IAAIO,GAAA,GAAMN,MAAA,CAAOO,GAAA,CAAIJ,KAAK;IACrBG,GAAA,KACHA,GAAA,GAAM,EAAC,EACPN,MAAA,CAAOQ,GAAA,CAAIL,KAAA,EAAOG,GAAG,IAEvBA,GAAA,CAAIG,IAAA,CAAKP,OAAO;EAClB;EAIA,MAAMQ,MAAA,GAAmB,EAAC;IACpBC,YAAA,GAAyB,EAAC;EAEhC,WAAW,CAACR,KAAA,EAAOS,QAAQ,KAAKZ,MAAA,EAAQ;IACtCU,MAAA,CAAOD,IAAA,CAAKN,KAAK;IACjB,MAAMU,OAAA,GAAUD,QAAA,CAASE,GAAA,CAAKC,CAAA,IAAMpB,UAAA,CAAWqB,MAAA,CAAOD,CAAC,EAAEE,MAAM;IAC/DN,YAAA,CAAaF,IAAA,CAAK,IAAII,OAAA,CAAQK,IAAA,CAAK,GAAG,CAAC,GAAG;EAC5C;EAGA,OAAO;IAAEC,EAAA,EADE,IAAIC,MAAA,CAAOT,YAAA,CAAaO,IAAA,CAAK,GAAG,CAAC;IAC/BR;EAAO;AACtB;AAEA,eAAsBW,kBAAkB;EACtCC,OAAA;EACAC,IAAA;EACAC,MAAA,GAAS;EACTC;AACF,GAKG;EACD,IAAIC,WAAA,GAAc;EAElB,MAAMC,IAAA,GAAO,KAAKH,MAAM;IAElBI,UAAA,GAAa,GAAGJ,MAAM;IAEtBK,QAAA,GAAW,MAAMnC,WAAA,CAAY;MACjCiC,IAAA;MACAG,OAAA,EAASA,CAACC,MAAA,EAAQC,CAAA,KAAM;QAGtB,MAAMC,IAAA,GAAOF,MAAA,CAAOG,UAAA,CAAWN,UAAU,IACrCG,MAAA,CAAOI,KAAA,CAAMP,UAAA,CAAWQ,MAAM,IAC9BL,MAAA;QAGJ,IAAIN,UAAA,EAAY;UACd,MAAMY,CAAA,GAAIZ,UAAA,CAAWN,EAAA,CAAGmB,IAAA,CAAKL,IAAI;UACjC,IAAII,CAAA;YAEF,SAASE,CAAA,GAAI,GAAGA,CAAA,GAAIF,CAAA,CAAED,MAAA,EAAQG,CAAA,IAC5B,IAAIF,CAAA,CAAEE,CAAC,MAAM,QAAW;cACtBP,CAAA,CAAEQ,MAAA,CAAO,iBAAiBf,UAAA,CAAWf,MAAA,CAAO6B,CAAA,GAAI,CAAC,CAAE;cACnD;YACF;UAAA;QAGN;QAEI3C,YAAA,CAAa6C,IAAA,CAAKV,MAAM,KAAKlC,aAAA,CAAc4C,IAAA,CAAKV,MAAM,IACxDC,CAAA,CAAEQ,MAAA,CAAO,iBAAiB,qCAAqC,IAE/DR,CAAA,CAAEQ,MAAA,CAAO,iBAAiB,oCAAoC;MAElE;IACF,CAAC,EAAElB,OAAA,EAAS,YAAY;MACtBI,WAAA,GAAc,IACd,MAAMH,IAAA,GAAO;IACf,CAAC;EAED,IAAI,GAACM,QAAA,IAAYH,WAAA,GAIjB,OAAOG,QAAA;AACT","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  import { serveStatic } from "@hono/node-server/serve-static";
2
2
  import micromatch from "micromatch";
3
- var hashedAssetRe = /[.-](?=[a-zA-Z0-9_-]*\d)[a-zA-Z0-9_-]{8,}\.\w+$/;
3
+ var assetsPathRe = /[\\/]assets[\\/]/,
4
+ hashedAssetRe = /[.-](?=[a-zA-Z0-9_-]*\d)[a-zA-Z0-9_-]{8,}\.\w+$/;
4
5
  function compileCacheRules(cacheControl) {
5
6
  var groups = /* @__PURE__ */new Map(),
6
7
  _iteratorNormalCompletion = !0,
@@ -73,7 +74,7 @@ async function serveStaticAssets(param) {
73
74
  }
74
75
  }
75
76
  }
76
- hashedAssetRe.test(fsPath) ? c.header("Cache-Control", "public, immutable, max-age=31536000") : c.header("Cache-Control", "public, max-age=0, must-revalidate");
77
+ assetsPathRe.test(fsPath) || hashedAssetRe.test(fsPath) ? c.header("Cache-Control", "public, immutable, max-age=31536000") : c.header("Cache-Control", "public, max-age=0, must-revalidate");
77
78
  }
78
79
  })(context, async function () {
79
80
  didCallNext = !0, await next?.();
@@ -1 +1 @@
1
- {"version":3,"names":["serveStatic","micromatch","hashedAssetRe","compileCacheRules","cacheControl","groups","Map","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","entries","Symbol","iterator","_step","next","done","pattern","value","arr","get","set","push","err","return","values","groupSources","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","value1","patterns","sources","map","p","makeRe","source","join","re","RegExp"],"sources":["../../src/exports/serveStaticAssets.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,QAAmB;AAE5B,OAAOC,UAAA,MAAgB;AAGvB,IAAAC,aAAM,oDAAgB;AASf,SAASC,kBACdC,YAAA,EACoB;EAEpB,IAAAC,MAAM,kBAAS,IAAAC,GAAI;IAAsBC,yBAAA;IAAAC,iBAAA;IAAAC,cAAA;EACzC;IACE,KAAI,IAAAC,SAAa,GAAIC,MAAK,CAAAC,OAAA,CAAAR,YAAA,EAAAS,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAR,yBAAA,IAAAQ,KAAA,GAAAL,SAAA,CAAAM,IAAA,IAAAC,IAAA,GAAAV,yBAAA;MACrB,KAAAW,OACG,EAACC,KACP,IAAOJ,KAAI,CAAAI,KAAO;QAAAC,GAAG,GAEvBf,MAAI,CAAAgB,GAAK,CAAAF,KAAO;MAClBC,GAAA,KAAAA,GAAA,OAAAf,MAAA,CAAAiB,GAAA,CAAAH,KAAA,EAAAC,GAAA,IAAAA,GAAA,CAAAG,IAAA,CAAAL,OAAA;IAIA;EAGA,SAAAM,GAAY;IACVhB,iBAAiB,OAAAC,cAAA,GAAAe,GAAA;EACjB,UAAM;IACN;MACF,CAAAjB,yBAAA,IAAAG,SAAA,CAAAe,MAAA,YAAAf,SAAA,CAAAe,MAAA;IAGA,UAAS;MACX,IAAAjB,iBAAA,EAEA,MAAAC,cAAsB;IACpB;EACA;EACA,IAAAiB,MAAS;IAAAC,YAAA;IAAAC,0BAAA;IAAAC,kBAAA;IAAAC,eAAA;EACT;IAMC,SAAAC,UAAA,GAAA1B,MAAA,CAAAQ,MAAA,CAAAC,QAAA,KAAAkB,MAAA,IAAAJ,0BAAA,IAAAI,MAAA,GAAAD,UAAA,CAAAf,IAAA,IAAAC,IAAA,GAAAW,0BAAA;MACG,KAAAK,MAAA,EAAAC,QAAc,IAAAF,MAAA,CAAAb,KAAA;MAElBO,MAAM,CAAAH,IAAO,CAAAU,MAAK;MAKhB,IAAAE,OAAA,GAAAD,QAAA,CAAAE,GAAA,WAAAC,CAAA;QACA,OAAUpC,UAAQ,CAAAqC,MAAM,CAAAD,CAAA,EAAAE,MAAA;MAGtB;MAKAZ,YAAI,CAAAJ,IAAY,KAAAY,OAAA,CAAAK,IAAA;IACd;EACA,SAAAhB,GAAI;IAEFK,kBAAS,GAAI,CAAG,GAAAC,eAAc,GAAAN,GAAA;EAC5B;IACE;MACA,CAAAI,0BAAA,IAAAG,UAAA,CAAAN,MAAA,YAAAM,UAAA,CAAAN,MAAA;IAAA,UACF;MAAA,IAAAI,kBAAA,EAGN,MAAAC,eAAA;IAEA;EAGgE;EAGpE,IAAGW,EAAA,OAASC,MAAA,CAAAf,YAAY,CAAAa,IAAA;EACtB;IAEDC,EAAA;IAEDf;EAIA;AACF","ignoreList":[]}
1
+ {"version":3,"names":["serveStatic","micromatch","assetsPathRe","hashedAssetRe","compileCacheRules","cacheControl","groups","Map","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","entries","Symbol","iterator","_step","next","done","pattern","value","arr","get","set","push","err","return","values","groupSources","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","value1","patterns","sources","map","p","makeRe","source","join","re","RegExp"],"sources":["../../src/exports/serveStaticAssets.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,QAAmB;AAE5B,OAAOC,UAAA,MAAgB;AAIvB,IAAAC,YAAM,qBAAe;EAAAC,aAEf,oDAAgB;AASf,SAASC,kBACdC,YAAA,EACoB;EAEpB,IAAAC,MAAM,kBAAS,IAAAC,GAAI;IAAsBC,yBAAA;IAAAC,iBAAA;IAAAC,cAAA;EACzC;IACE,KAAI,IAAAC,SAAa,GAAIC,MAAK,CAAAC,OAAA,CAAAR,YAAA,EAAAS,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAR,yBAAA,IAAAQ,KAAA,GAAAL,SAAA,CAAAM,IAAA,IAAAC,IAAA,GAAAV,yBAAA;MACrB,KAAAW,OACG,EAACC,KACP,IAAOJ,KAAI,CAAAI,KAAO;QAAAC,GAAG,GAEvBf,MAAI,CAAAgB,GAAK,CAAAF,KAAO;MAClBC,GAAA,KAAAA,GAAA,OAAAf,MAAA,CAAAiB,GAAA,CAAAH,KAAA,EAAAC,GAAA,IAAAA,GAAA,CAAAG,IAAA,CAAAL,OAAA;IAIA;EAGA,SAAAM,GAAY;IACVhB,iBAAiB,OAAAC,cAAA,GAAAe,GAAA;EACjB,UAAM;IACN;MACF,CAAAjB,yBAAA,IAAAG,SAAA,CAAAe,MAAA,YAAAf,SAAA,CAAAe,MAAA;IAGA,UAAS;MACX,IAAAjB,iBAAA,EAEA,MAAAC,cAAsB;IACpB;EACA;EACA,IAAAiB,MAAS;IAAAC,YAAA;IAAAC,0BAAA;IAAAC,kBAAA;IAAAC,eAAA;EACT;IAMC,SAAAC,UAAA,GAAA1B,MAAA,CAAAQ,MAAA,CAAAC,QAAA,KAAAkB,MAAA,IAAAJ,0BAAA,IAAAI,MAAA,GAAAD,UAAA,CAAAf,IAAA,IAAAC,IAAA,GAAAW,0BAAA;MACG,KAAAK,MAAA,EAAAC,QAAc,IAAAF,MAAA,CAAAb,KAAA;MAElBO,MAAM,CAAAH,IAAO,CAAAU,MAAK;MAKhB,IAAAE,OAAA,GAAAD,QAAA,CAAAE,GAAA,WAAAC,CAAA;QACA,OAAUrC,UAAQ,CAAAsC,MAAM,CAAAD,CAAA,EAAAE,MAAA;MAGtB;MAKAZ,YAAI,CAAAJ,IAAY,KAAAY,OAAA,CAAAK,IAAA;IACd;EACA,SAAAhB,GAAI;IAEFK,kBAAS,GAAI,CAAG,GAAAC,eAAc,GAAAN,GAAA;EAC5B;IACE;MACA,CAAAI,0BAAA,IAAAG,UAAA,CAAAN,MAAA,YAAAM,UAAA,CAAAN,MAAA;IAAA,UACF;MAAA,IAAAI,kBAAA,EAGN,MAAAC,eAAA;IAEA;EAGgE;EAGpE,IAAGW,EAAA,OAASC,MAAA,CAAAf,YAAY,CAAAa,IAAA;EACtB;IAEDC,EAAA;IAEDf;EAIA;AACF","ignoreList":[]}
@@ -1,4 +1,5 @@
1
- import { basename, dirname, extname, relative, resolve } from "node:path";
1
+ import { basename, dirname, extname, join, relative, resolve } from "node:path";
2
+ import { existsSync, readFileSync } from "node:fs";
2
3
  import { DEFAULT_ASSET_EXTS } from "../constants/defaults.mjs";
3
4
  import { getNativePrelude } from "../runtime/native-prelude.mjs";
4
5
  const FLOW_FILE_PATTERN = /node_modules[\\/](?:react-native|@react-native)[\\/].*\.js$/;
@@ -15,7 +16,76 @@ function getNativeResolveConfig(platform) {
15
16
  mainFields: ["react-native", "module", "main"]
16
17
  };
17
18
  }
18
- function getNativeTransformConfig(dev) {
19
+ function getNativeTransformConfig(platform, dev, root) {
20
+ const entryConfig = globalThis.__vxrnNativeEntryConfig || {},
21
+ setupFileDefines = (() => {
22
+ const sf = entryConfig.setupFile;
23
+ if (!sf) return {};
24
+ const files = typeof sf == "string" ? {
25
+ client: sf,
26
+ server: sf,
27
+ ios: sf,
28
+ android: sf
29
+ } : "native" in sf ? {
30
+ client: sf.client,
31
+ server: sf.server,
32
+ ios: sf.native,
33
+ android: sf.native
34
+ } : sf;
35
+ return {
36
+ ...(files.client && {
37
+ "process.env.ONE_SETUP_FILE_CLIENT": JSON.stringify(files.client)
38
+ }),
39
+ ...(files.server && {
40
+ "process.env.ONE_SETUP_FILE_SERVER": JSON.stringify(files.server)
41
+ }),
42
+ ...(files.ios && {
43
+ "process.env.ONE_SETUP_FILE_IOS": JSON.stringify(files.ios)
44
+ }),
45
+ ...(files.android && {
46
+ "process.env.ONE_SETUP_FILE_ANDROID": JSON.stringify(files.android)
47
+ })
48
+ };
49
+ })(),
50
+ envDefines = (() => {
51
+ const defines = {};
52
+ try {
53
+ const mode2 = dev ? "development" : "production";
54
+ for (const envFile of [".env", ".env.local", `.env.${mode2}`, `.env.${mode2}.local`]) {
55
+ const envPath = join(root, envFile);
56
+ if (!existsSync(envPath)) continue;
57
+ const content = readFileSync(envPath, "utf8");
58
+ for (const line of content.split(`
59
+ `)) {
60
+ const match = line.match(/^\s*(VITE_\w+)\s*=\s*(.*)$/);
61
+ if (match) {
62
+ const [, key, rawVal] = match,
63
+ val = rawVal.replace(/^['"]|['"]$/g, "").trim();
64
+ defines[`import.meta.env.${key}`] = JSON.stringify(val), defines[`process.env.${key}`] = JSON.stringify(val);
65
+ }
66
+ }
67
+ }
68
+ } catch {}
69
+ return defines;
70
+ })(),
71
+ mode = dev ? "development" : "production",
72
+ envObject = {
73
+ MODE: mode,
74
+ DEV: dev,
75
+ PROD: !dev,
76
+ SSR: !1,
77
+ VITE_ENVIRONMENT: platform,
78
+ VITE_NATIVE: "1",
79
+ EXPO_OS: platform
80
+ };
81
+ for (const [key, val] of Object.entries(envDefines)) {
82
+ const match = key.match(/^import\.meta\.env\.(.+)$/);
83
+ if (match) try {
84
+ envObject[match[1]] = JSON.parse(val);
85
+ } catch {
86
+ envObject[match[1]] = val;
87
+ }
88
+ }
19
89
  return {
20
90
  jsx: {
21
91
  // use 'classic' mode (babel plugin-transform-react-jsx)
@@ -23,9 +93,25 @@ function getNativeTransformConfig(dev) {
23
93
  runtime: "classic"
24
94
  },
25
95
  define: {
26
- "process.env.NODE_ENV": dev ? '"development"' : '"production"',
96
+ "process.env.NODE_ENV": JSON.stringify(mode),
27
97
  "process.env.VXRN_REACT_19": "false",
28
- __DEV__: dev ? "true" : "false"
98
+ "process.env.VITE_ENVIRONMENT": JSON.stringify(platform),
99
+ "process.env.VITE_NATIVE": '"1"',
100
+ "process.env.EXPO_OS": JSON.stringify(platform),
101
+ "process.env.TAMAGUI_ENVIRONMENT": JSON.stringify(platform),
102
+ __DEV__: dev ? "true" : "false",
103
+ // import.meta.env as a whole object (for JSON.stringify(import.meta.env) etc.)
104
+ "import.meta.env": JSON.stringify(envObject),
105
+ // import.meta.env.* individual properties (for direct access)
106
+ "import.meta.env.MODE": JSON.stringify(mode),
107
+ "import.meta.env.DEV": dev ? "true" : "false",
108
+ "import.meta.env.PROD": dev ? "false" : "true",
109
+ "import.meta.env.SSR": "false",
110
+ "import.meta.env.VITE_ENVIRONMENT": JSON.stringify(platform),
111
+ "import.meta.env.VITE_NATIVE": '"1"',
112
+ "import.meta.env.EXPO_OS": JSON.stringify(platform),
113
+ ...envDefines,
114
+ ...setupFileDefines
29
115
  },
30
116
  // auto-inject React import for classic JSX (React.createElement)
31
117
  inject: {
@@ -35,6 +121,12 @@ function getNativeTransformConfig(dev) {
35
121
  }
36
122
  function getNativePlugins(root, platform, viteImportGlobPlugin, dev) {
37
123
  return [
124
+ // plugins provided by One (clientTreeShakePlugin for loader removal, etc.)
125
+ ...(globalThis.__vxrnAddNativePlugins || []),
126
+ // block .server.* and _middleware.* files from entering the native bundle
127
+ serverFileExclusionPlugin(),
128
+ // guard server-only / client-only / web-only / native-only imports
129
+ environmentGuardPlugin(),
38
130
  // stub CSS imports — native doesn't support CSS and rolldown removed CSS bundling
39
131
  cssStubPlugin(),
40
132
  // handle import.meta.glob (used by One's route system)
@@ -52,11 +144,7 @@ function getNativePlugins(root, platform, viteImportGlobPlugin, dev) {
52
144
  // react-native codegen, react compiler — same pipeline as metro
53
145
  vxrnCompilerPlugin(platform, dev),
54
146
  // hermes compat: transform class properties and private fields
55
- hermesCompatSWCPlugin(dev),
56
- // downgrade polyfill "not configurable" errors to warnings (hermes v1)
57
- polyfillErrorDowngradePlugin(),
58
- // strip DevSettings in prod (dev-only native module)
59
- stripDevSettingsPlugin(dev)];
147
+ hermesCompatSWCPlugin(dev)];
60
148
  }
61
149
  function getNativeOutputOptions(prelude) {
62
150
  return {
@@ -143,7 +231,7 @@ async function createNativeDevEngine(options) {
143
231
  cwd: root,
144
232
  platform: "neutral",
145
233
  resolve: getNativeResolveConfig(platform),
146
- transform: getNativeTransformConfig(!0),
234
+ transform: getNativeTransformConfig(platform, !0, root),
147
235
  experimental: {
148
236
  devMode: {
149
237
  implement: hmrRuntimeSource,
@@ -163,10 +251,7 @@ async function createNativeDevEngine(options) {
163
251
  },
164
252
  plugins: [nativeVirtualEntryPlugin(root, {
165
253
  dev: !0
166
- }), ...getNativePlugins(root, platform, viteImportGlobPlugin, !0),
167
- // add import.meta.hot.accept() to user files for HMR boundaries
168
- // rolldown compiles import.meta.hot -> createModuleHotContext at build time
169
- nativeReactRefreshPlugin(), ...userPlugins]
254
+ }), ...getNativePlugins(root, platform, viteImportGlobPlugin, !0), ...userPlugins]
170
255
  },
171
256
  outputOptions = {
172
257
  ...getNativeOutputOptions(prelude),
@@ -285,7 +370,7 @@ async function buildNativeBundle(options) {
285
370
  cwd: root,
286
371
  platform: "neutral",
287
372
  resolve: getNativeResolveConfig(platform),
288
- transform: getNativeTransformConfig(dev),
373
+ transform: getNativeTransformConfig(platform, dev, root),
289
374
  treeshake: !dev,
290
375
  shimMissingExports: !0,
291
376
  moduleTypes: {
@@ -307,6 +392,20 @@ const VIRTUAL_NATIVE_ENTRY = "virtual:native-entry";
307
392
  function nativeVirtualEntryPlugin(root, opts) {
308
393
  const isDev = opts?.dev !== !1,
309
394
  resolvedId = resolve(root, "__virtual-native-entry.tsx"),
395
+ entryConfig = globalThis.__vxrnNativeEntryConfig || {},
396
+ routerRoot = entryConfig.routerRoot || "app",
397
+ flags = entryConfig.flags || {},
398
+ setupFileImport = (() => {
399
+ const sf = entryConfig.setupFile;
400
+ if (!sf) return "";
401
+ const file = typeof sf == "string" ? sf : "native" in sf ? sf.native : sf.ios;
402
+ if (!file) return "";
403
+ const resolved = resolve(root, file);
404
+ return `import ${JSON.stringify(resolved)};`;
405
+ })(),
406
+ routeGlobs = [`./${routerRoot}/**/*.tsx`, `./${routerRoot}/**/*.ts`, `!./${routerRoot}/**/*+api.*`, `!./${routerRoot}/**/*.test.*`, `!./${routerRoot}/**/*.d.ts`, `!./${routerRoot}/**/*.server.*`, `!./${routerRoot}/**/_middleware.*`, `!./${routerRoot}/**/*.web.*`, `!./${routerRoot}/**/*.native.*`, `!./${routerRoot}/**/*.ios.*`, `!./${routerRoot}/**/*.android.*`,
407
+ // ignoredRouteFiles from One's router config
408
+ ...(entryConfig.ignoredRouteFiles || []).map(pattern => `!./${routerRoot}/${pattern}`)],
310
409
  entryCode = `
311
410
  ${isDev ? `
312
411
  // react-refresh/runtime MUST initialize before React loads
@@ -318,10 +417,11 @@ globalThis.$RefreshReg$ = function(type, id) {
318
417
  };
319
418
  globalThis.$RefreshSig$ = RefreshRuntime.createSignatureFunctionForTransform;
320
419
  ` : ""}
420
+ ${setupFileImport}
321
421
  import { createApp } from 'one';
322
422
 
323
- var _routes = import.meta.glob(['./app/**/*.tsx', './app/**/*.ts', '!./app/**/*+api.*', '!./app/**/*.test.*', '!./app/**/*.d.ts'], { exhaustive: true });
324
- // fix route keys: One expects '/app/...' prefix but import.meta.glob returns './app/...'
423
+ var _routes = import.meta.glob(${JSON.stringify(routeGlobs)}, { exhaustive: true });
424
+ // fix route keys: One expects '/${routerRoot}/...' prefix but import.meta.glob returns './${routerRoot}/...'
325
425
  var routes = {};
326
426
  Object.keys(_routes).forEach(function(key) {
327
427
  routes[key.replace(/^\\./, '')] = _routes[key];
@@ -329,8 +429,8 @@ Object.keys(_routes).forEach(function(key) {
329
429
 
330
430
  createApp({
331
431
  routes: routes,
332
- routerRoot: 'app',
333
- flags: {},
432
+ routerRoot: ${JSON.stringify(routerRoot)},
433
+ flags: ${JSON.stringify(flags)},
334
434
  });
335
435
  `;
336
436
  return {
@@ -343,6 +443,48 @@ createApp({
343
443
  }
344
444
  };
345
445
  }
446
+ function serverFileExclusionPlugin() {
447
+ return {
448
+ name: "vxrn:server-file-exclusion",
449
+ load(id) {
450
+ if (/\.server\.\w+$/.test(id)) return {
451
+ code: "export default undefined;",
452
+ moduleType: "js"
453
+ };
454
+ if (/[\\/]_middleware\.\w+$/.test(id)) return {
455
+ code: "export default undefined;",
456
+ moduleType: "js"
457
+ };
458
+ }
459
+ };
460
+ }
461
+ function environmentGuardPlugin() {
462
+ const THROWING = ["server-only", "client-only", "web-only"],
463
+ NOOP = ["native-only"];
464
+ return {
465
+ name: "vxrn:environment-guard",
466
+ resolveId(source) {
467
+ if (THROWING.includes(source)) return {
468
+ id: `\0env-guard-throw:${source}`,
469
+ external: !1
470
+ };
471
+ if (NOOP.includes(source)) return {
472
+ id: `\0env-guard-noop:${source}`,
473
+ external: !1
474
+ };
475
+ },
476
+ load(id) {
477
+ if (id.startsWith("\0env-guard-throw:")) return {
478
+ code: `throw new Error("Cannot import '${id.slice(17)}' in a native bundle.");`,
479
+ moduleType: "js"
480
+ };
481
+ if (id.startsWith("\0env-guard-noop:")) return {
482
+ code: "",
483
+ moduleType: "js"
484
+ };
485
+ }
486
+ };
487
+ }
346
488
  function cssStubPlugin() {
347
489
  return {
348
490
  name: "vxrn:css-stub",
@@ -358,26 +500,64 @@ function cssStubPlugin() {
358
500
  }
359
501
  function vxrnCompilerPlugin(platform, dev) {
360
502
  let compiler = null;
503
+ const isRefreshCandidate = id => dev && !id.includes("node_modules") && !id.includes("__virtual-native-entry") && /\.[tj]sx?$/.test(id);
361
504
  return {
362
505
  name: "vxrn:compiler",
363
506
  async transform(code, id) {
364
- if (/\.[cm]?[jt]sx?$/.test(id) && !(id.includes("\0") || id.includes("virtual:"))) try {
507
+ if (!/\.[cm]?[jt]sx?$/.test(id) || id.includes("\0") || id.includes("virtual:")) return;
508
+ const needsRefresh = isRefreshCandidate(id);
509
+ try {
365
510
  compiler || (compiler = await import("@vxrn/compiler"));
366
511
  const props = {
367
- id,
368
- code,
369
- development: dev,
370
- environment: platform,
371
- reactForRNVersion: "19"
372
- },
373
- babelOptions = compiler.getBabelOptions(props);
512
+ id,
513
+ code,
514
+ development: dev,
515
+ environment: platform,
516
+ reactForRNVersion: "19"
517
+ };
518
+ let babelOptions = compiler.getBabelOptions(props);
519
+ if (needsRefresh) {
520
+ const existingPlugins = babelOptions?.plugins || [];
521
+ babelOptions = {
522
+ ...babelOptions,
523
+ plugins: [...existingPlugins, "react-refresh/babel"]
524
+ };
525
+ }
374
526
  if (!babelOptions) return;
375
527
  const result = await compiler.transformBabel(id, code, babelOptions);
376
- if (result?.code) return {
377
- code: result.code
378
- };
528
+ if (result?.code) {
529
+ let out = result.code;
530
+ return needsRefresh && (out = `
531
+ var __prevRefreshReg = globalThis.$RefreshReg$;
532
+ var __prevRefreshSig = globalThis.$RefreshSig$;
533
+ if (globalThis.__ReactRefresh) {
534
+ globalThis.$RefreshReg$ = function(type, id) {
535
+ globalThis.__ReactRefresh.register(type, "${id.replace(/\\/g, "\\\\").replace(/"/g, '\\"')}" + " " + id);
536
+ };
537
+ globalThis.$RefreshSig$ = globalThis.__ReactRefresh.createSignatureFunctionForTransform;
538
+ }
539
+
540
+ ${out}
541
+
542
+ globalThis.$RefreshReg$ = __prevRefreshReg;
543
+ globalThis.$RefreshSig$ = __prevRefreshSig;
544
+ if (import.meta.hot) {
545
+ import.meta.hot.accept(function() {
546
+ if (globalThis.__ReactRefresh) {
547
+ setTimeout(function() { globalThis.__ReactRefresh.performReactRefresh(); }, 30);
548
+ }
549
+ });
550
+ }
551
+ `), {
552
+ code: out
553
+ };
554
+ }
379
555
  } catch (err) {
380
- dev && console.warn(`[vxrn:compiler] ${id}: ${err.message || err}`);
556
+ if (dev && console.warn(`[vxrn:compiler] ${id}: ${err.message || err}`), needsRefresh) return {
557
+ code: code + `
558
+ if (import.meta.hot) { import.meta.hot.accept(); }
559
+ `
560
+ };
381
561
  }
382
562
  }
383
563
  };
@@ -491,78 +671,6 @@ function hermesCompatSWCPlugin(dev) {
491
671
  }
492
672
  };
493
673
  }
494
- function polyfillErrorDowngradePlugin() {
495
- return {
496
- name: "vxrn:polyfill-error-downgrade",
497
- transform(code, id) {
498
- if (id.includes("node_modules") && code.includes('console.error("Failed to set polyfill.')) return {
499
- code: code.replace(/console\.error\(\s*"Failed to set polyfill\.\s*"\s*\+/g, 'console.warn("Failed to set polyfill. " +')
500
- };
501
- }
502
- };
503
- }
504
- function stripDevSettingsPlugin(dev) {
505
- return {
506
- name: "vxrn:strip-dev-settings",
507
- transform(code, id) {
508
- if (!dev && code.includes("DevSettings")) return {
509
- code: code.replace(/getEnforcing\s*\(\s*["']DevSettings["']\s*\)/g, "patched_getEnforcing_DevSettings_will_not_work_in_production()")
510
- };
511
- }
512
- };
513
- }
514
- function nativeReactRefreshPlugin() {
515
- return {
516
- name: "vxrn:react-refresh",
517
- async transform(code, id) {
518
- if (!id.includes("node_modules") && !id.includes("__virtual-native-entry") && !id.startsWith("\0") && /\.[tj]sx?$/.test(id) && /[<]|function\s|=>\s*[{(]/.test(code)) try {
519
- const babel = await import("@babel/core"),
520
- parserPlugins = [];
521
- id.endsWith(".tsx") ? parserPlugins.push(["@babel/plugin-syntax-typescript", {
522
- isTSX: !0
523
- }]) : id.endsWith(".ts") ? parserPlugins.push("@babel/plugin-syntax-typescript") : id.endsWith(".jsx") && parserPlugins.push("@babel/plugin-syntax-jsx");
524
- const result = await babel.transformAsync(code, {
525
- filename: id,
526
- babelrc: !1,
527
- configFile: !1,
528
- compact: !1,
529
- plugins: [...parserPlugins, "react-refresh/babel"],
530
- sourceType: "unambiguous"
531
- });
532
- if (result?.code) return {
533
- code: `
534
- var __prevRefreshReg = globalThis.$RefreshReg$;
535
- var __prevRefreshSig = globalThis.$RefreshSig$;
536
- if (globalThis.__ReactRefresh) {
537
- globalThis.$RefreshReg$ = function(type, id) {
538
- globalThis.__ReactRefresh.register(type, "${id.replace(/\\/g, "\\\\").replace(/"/g, '\\"')}" + " " + id);
539
- };
540
- globalThis.$RefreshSig$ = globalThis.__ReactRefresh.createSignatureFunctionForTransform;
541
- }
542
-
543
- ${result.code}
544
-
545
- globalThis.$RefreshReg$ = __prevRefreshReg;
546
- globalThis.$RefreshSig$ = __prevRefreshSig;
547
- if (import.meta.hot) {
548
- import.meta.hot.accept(function() {
549
- if (globalThis.__ReactRefresh) {
550
- setTimeout(function() { globalThis.__ReactRefresh.performReactRefresh(); }, 30);
551
- }
552
- });
553
- }
554
- `
555
- };
556
- } catch {
557
- return {
558
- code: code + `
559
- if (import.meta.hot) { import.meta.hot.accept(); }
560
- `
561
- };
562
- }
563
- }
564
- };
565
- }
566
674
  function getHmrRuntimeSource() {
567
675
  return `
568
676
  // vxrn HMR runtime for rolldown devMode