one 1.1.343 → 1.1.345-1734464750388

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 (107) hide show
  1. package/dist/cjs/createApp.cjs +2 -1
  2. package/dist/cjs/createApp.js +1 -1
  3. package/dist/cjs/createApp.js.map +1 -1
  4. package/dist/cjs/createApp.native.js +1 -1
  5. package/dist/cjs/createApp.native.js.map +1 -1
  6. package/dist/cjs/index.cjs +1 -2
  7. package/dist/cjs/index.js +1 -1
  8. package/dist/cjs/index.js.map +1 -1
  9. package/dist/cjs/index.native.js +1 -1
  10. package/dist/cjs/index.native.js.map +1 -1
  11. package/dist/cjs/serve.cjs +4 -4
  12. package/dist/cjs/serve.js +4 -4
  13. package/dist/cjs/serve.js.map +1 -1
  14. package/dist/cjs/serve.native.js +4 -4
  15. package/dist/cjs/serve.native.js.map +1 -1
  16. package/dist/cjs/setup.js.map +1 -1
  17. package/dist/cjs/vite/build.cjs +2 -1
  18. package/dist/cjs/vite/build.js +2 -1
  19. package/dist/cjs/vite/build.js.map +1 -1
  20. package/dist/cjs/vite/build.native.js +2 -1
  21. package/dist/cjs/vite/build.native.js.map +2 -2
  22. package/dist/cjs/vite/one.cjs +25 -7
  23. package/dist/cjs/vite/one.js +22 -3
  24. package/dist/cjs/vite/one.js.map +1 -1
  25. package/dist/cjs/vite/one.native.js +22 -5
  26. package/dist/cjs/vite/one.native.js.map +2 -2
  27. package/dist/cjs/vite/plugins/reactCompilerPlugin.cjs +101 -0
  28. package/dist/cjs/vite/plugins/reactCompilerPlugin.js +82 -0
  29. package/dist/cjs/vite/plugins/reactCompilerPlugin.js.map +6 -0
  30. package/dist/cjs/vite/plugins/reactCompilerPlugin.native.js +67 -0
  31. package/dist/cjs/vite/plugins/reactCompilerPlugin.native.js.map +6 -0
  32. package/dist/esm/createApp.js +1 -0
  33. package/dist/esm/createApp.js.map +1 -1
  34. package/dist/esm/createApp.mjs +1 -0
  35. package/dist/esm/createApp.mjs.map +1 -1
  36. package/dist/esm/createApp.native.js +1 -0
  37. package/dist/esm/createApp.native.js.map +1 -1
  38. package/dist/esm/index.js +1 -2
  39. package/dist/esm/index.js.map +1 -1
  40. package/dist/esm/index.mjs +1 -2
  41. package/dist/esm/index.mjs.map +1 -1
  42. package/dist/esm/index.native.js +1 -2
  43. package/dist/esm/index.native.js.map +2 -2
  44. package/dist/esm/serve.js +1 -1
  45. package/dist/esm/serve.js.map +1 -1
  46. package/dist/esm/serve.mjs +1 -1
  47. package/dist/esm/serve.mjs.map +1 -1
  48. package/dist/esm/serve.native.js +1 -1
  49. package/dist/esm/serve.native.js.map +1 -1
  50. package/dist/esm/setup.js.map +1 -1
  51. package/dist/esm/setup.mjs.map +1 -1
  52. package/dist/esm/vite/build.js +2 -1
  53. package/dist/esm/vite/build.js.map +1 -1
  54. package/dist/esm/vite/build.mjs +2 -1
  55. package/dist/esm/vite/build.mjs.map +1 -1
  56. package/dist/esm/vite/build.native.js +2 -1
  57. package/dist/esm/vite/build.native.js.map +2 -2
  58. package/dist/esm/vite/one.js +26 -6
  59. package/dist/esm/vite/one.js.map +1 -1
  60. package/dist/esm/vite/one.mjs +24 -6
  61. package/dist/esm/vite/one.mjs.map +1 -1
  62. package/dist/esm/vite/one.native.js +26 -8
  63. package/dist/esm/vite/one.native.js.map +2 -2
  64. package/dist/esm/vite/plugins/reactCompilerPlugin.js +59 -0
  65. package/dist/esm/vite/plugins/reactCompilerPlugin.js.map +6 -0
  66. package/dist/esm/vite/plugins/reactCompilerPlugin.mjs +67 -0
  67. package/dist/esm/vite/plugins/reactCompilerPlugin.mjs.map +1 -0
  68. package/dist/esm/vite/plugins/reactCompilerPlugin.native.js +40 -0
  69. package/dist/esm/vite/plugins/reactCompilerPlugin.native.js.map +6 -0
  70. package/package.json +19 -10
  71. package/src/createApp.native.tsx +1 -0
  72. package/src/createApp.tsx +2 -0
  73. package/src/index.ts +1 -2
  74. package/src/serve.ts +1 -2
  75. package/src/setup.ts +15 -0
  76. package/src/vite/build.ts +5 -2
  77. package/src/vite/one.ts +35 -6
  78. package/src/vite/plugins/reactCompilerPlugin.ts +70 -0
  79. package/src/vite/types.ts +19 -0
  80. package/types/createApp.d.ts +1 -0
  81. package/types/createApp.d.ts.map +1 -1
  82. package/types/createApp.native.d.ts +1 -0
  83. package/types/createApp.native.d.ts.map +1 -1
  84. package/types/index.d.ts +1 -2
  85. package/types/index.d.ts.map +1 -1
  86. package/types/serve.d.ts.map +1 -1
  87. package/types/setup.d.ts.map +1 -1
  88. package/types/vite/build.d.ts.map +1 -1
  89. package/types/vite/one.d.ts.map +1 -1
  90. package/types/vite/plugins/reactCompilerPlugin.d.ts +3 -0
  91. package/types/vite/plugins/reactCompilerPlugin.d.ts.map +1 -0
  92. package/types/vite/types.d.ts +16 -0
  93. package/types/vite/types.d.ts.map +1 -1
  94. package/dist/cjs/vite/server.cjs +0 -13
  95. package/dist/cjs/vite/server.js +0 -16
  96. package/dist/cjs/vite/server.js.map +0 -6
  97. package/dist/cjs/vite/server.native.js +0 -18
  98. package/dist/cjs/vite/server.native.js.map +0 -6
  99. package/dist/esm/vite/server.js +0 -17
  100. package/dist/esm/vite/server.js.map +0 -6
  101. package/dist/esm/vite/server.mjs +0 -13
  102. package/dist/esm/vite/server.mjs.map +0 -1
  103. package/dist/esm/vite/server.native.js +0 -18
  104. package/dist/esm/vite/server.native.js.map +0 -6
  105. package/src/vite/server.ts +0 -19
  106. package/types/vite/server.d.ts +0 -2
  107. package/types/vite/server.d.ts.map +0 -1
@@ -4,20 +4,21 @@ import path, { dirname, resolve } from "node:path";
4
4
  import { loadConfigFromFile } from "vite";
5
5
  import tsconfigPaths from "vite-tsconfig-paths";
6
6
  import { autoPreBundleDepsForSsrPlugin, getOptimizeDeps, getOptionsFilled, isWebEnvironment, loadEnv } from "vxrn";
7
+ import { CACHE_KEY } from "../constants";
8
+ import "../polyfills-server";
9
+ import { existsAsync } from "../utils/existsAsync";
10
+ import { ensureTSConfig } from "./ensureTsConfig";
7
11
  import { clientTreeShakePlugin } from "./plugins/clientTreeShakePlugin";
8
12
  import { createFileSystemRouterPlugin } from "./plugins/fileSystemRouterPlugin";
9
13
  import { fixDependenciesPlugin } from "./plugins/fixDependenciesPlugin";
10
14
  import { generateFileSystemRouteTypesPlugin } from "./plugins/generateFileSystemRouteTypesPlugin";
15
+ import { createReactCompilerPlugin } from "./plugins/reactCompilerPlugin";
11
16
  import { SSRCSSPlugin } from "./plugins/SSRCSSPlugin";
12
17
  import { createVirtualEntry, virtualEntryId } from "./plugins/virtualEntryPlugin";
13
- import { CACHE_KEY } from "../constants";
14
- import "../polyfills-server";
15
- import { existsAsync } from "../utils/existsAsync";
16
- import { ensureTSConfig } from "./ensureTsConfig";
17
18
  events.setMaxListeners(1e3);
18
19
  globalThis.__vxrnEnableNativeEnv = !0;
19
20
  function one() {
20
- var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, _options_config, _options_ssr;
21
+ var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, _options_config, _options_ssr, _options_react, _options_react1;
21
22
  oneOptions = options, ((_options_config = options.config) === null || _options_config === void 0 ? void 0 : _options_config.ensureTSConfig) !== !1 && ensureTSConfig(), globalThis.__vxrnPluginConfig__ = options;
22
23
  var { optimizeDeps } = getOptimizeDeps("build"), optimizeIds = optimizeDeps.include, optimizeIdRegex = new RegExp(
23
24
  // santize ids for regex
@@ -25,7 +26,7 @@ function one() {
25
26
  `${optimizeIds.map(function(id) {
26
27
  return id.replace(/[#-.]|[[-^]|[?|{}]/g, "\\$&");
27
28
  }).join("|")}`
28
- ), tsConfigPathsPlugin = null, vxrnOptions = getOptionsFilled(), _vxrnOptions_mode, { clientEnvDefine } = loadEnv((_vxrnOptions_mode = vxrnOptions?.mode) !== null && _vxrnOptions_mode !== void 0 ? _vxrnOptions_mode : "development"), devAndProdPlugins = [
29
+ ), tsConfigPathsPlugin = null, vxrnOptions = getOptionsFilled(), root = vxrnOptions?.root || process.cwd(), _vxrnOptions_mode, { clientEnvDefine } = loadEnv((_vxrnOptions_mode = vxrnOptions?.mode) !== null && _vxrnOptions_mode !== void 0 ? _vxrnOptions_mode : "development"), devAndProdPlugins = [
29
30
  {
30
31
  name: "one-define-env",
31
32
  config() {
@@ -36,7 +37,7 @@ function one() {
36
37
  },
37
38
  ...!((_options_ssr = options.ssr) === null || _options_ssr === void 0) && _options_ssr.disableAutoDepsPreBundling ? [] : [
38
39
  autoPreBundleDepsForSsrPlugin({
39
- root: vxrnOptions?.root || process.cwd()
40
+ root
40
41
  })
41
42
  ],
42
43
  // proxy because you cant add a plugin inside a plugin
@@ -172,11 +173,28 @@ function one() {
172
173
  });
173
174
  }
174
175
  }
175
- ];
176
+ ], compiler = (_options_react = options.react) === null || _options_react === void 0 ? void 0 : _options_react.compiler;
177
+ compiler && devAndProdPlugins.push(createReactCompilerPlugin(root));
178
+ var scan = (_options_react1 = options.react) === null || _options_react1 === void 0 ? void 0 : _options_react1.scan;
176
179
  return globalThis.__vxrnAddNativePlugins = [
177
180
  clientTreeShakePlugin()
178
181
  ], globalThis.__vxrnAddWebPluginsProd = devAndProdPlugins, [
179
182
  ...devAndProdPlugins,
183
+ {
184
+ name: "one:react-scan",
185
+ config() {
186
+ return {
187
+ environments: {
188
+ // only in client
189
+ client: {
190
+ define: {
191
+ "process.env.ONE_ENABLE_REACT_SCAN": JSON.stringify(typeof scan == "boolean" ? `${scan}` : scan)
192
+ }
193
+ }
194
+ }
195
+ };
196
+ }
197
+ },
180
198
  /**
181
199
  * This is really the meat of one, where it handles requests:
182
200
  */
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/vite/Users/n8/one/packages/one/src/vite/one.ts"],
4
- "mappings": "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",
5
- "names": ["resolvePath", "events", "path", "dirname", "resolve", "loadConfigFromFile", "tsconfigPaths", "autoPreBundleDepsForSsrPlugin", "getOptimizeDeps", "getOptionsFilled", "isWebEnvironment", "loadEnv", "clientTreeShakePlugin", "createFileSystemRouterPlugin", "fixDependenciesPlugin", "generateFileSystemRouteTypesPlugin", "SSRCSSPlugin", "createVirtualEntry", "virtualEntryId", "CACHE_KEY", "existsAsync", "ensureTSConfig", "setMaxListeners", "globalThis", "__vxrnEnableNativeEnv", "one", "options", "oneOptions", "config", "optimizeDeps", "optimizeIds", "include", "optimizeIdRegex", "RegExp", "map", "id", "replace", "join", "tsConfigPathsPlugin", "vxrnOptions", "clientEnvDefine", "mode", "devAndProdPlugins", "name", "define", "ssr", "disableAutoDepsPreBundling", "root", "process", "cwd", "Proxy", "configIncoming", "pathsConfig", "tsConfigPaths", "plugins", "flat", "some", "p", "configResolved", "resolveId", "get", "target", "key", "thisArg", "Reflect", "enforce", "alias", "tslib", "web", "defaultRenderMode", "JSON", "stringify", "setupFile", "env", "NODE_ENV", "server", "url", "environments", "client", "ios", "android", "zero", "TESTING", "REPLICACHE_VERSION", "ZERO_VERSION", "hotUpdate", "modules", "m", "relativePath", "relative", "rootDir", "split", "sep", "acceptedHmrExports", "Set", "__vxrnAddNativePlugins", "__vxrnAddWebPluginsProd", "deps", "app", "sharedNativeConfig", "react", "applyToEnvironment", "environment", "importer", "shouldOptimize", "test", "absolutePath", "webPath", "directoryPath", "err", "console", "warn", "entries", "getUserOneOptions", "command", "Error", "loadUserOneOptions", "found", "foundOptions"]
4
+ "mappings": "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",
5
+ "names": ["resolvePath", "events", "path", "dirname", "resolve", "loadConfigFromFile", "tsconfigPaths", "autoPreBundleDepsForSsrPlugin", "getOptimizeDeps", "getOptionsFilled", "isWebEnvironment", "loadEnv", "CACHE_KEY", "existsAsync", "ensureTSConfig", "clientTreeShakePlugin", "createFileSystemRouterPlugin", "fixDependenciesPlugin", "generateFileSystemRouteTypesPlugin", "createReactCompilerPlugin", "SSRCSSPlugin", "createVirtualEntry", "virtualEntryId", "setMaxListeners", "globalThis", "__vxrnEnableNativeEnv", "one", "options", "oneOptions", "config", "optimizeDeps", "optimizeIds", "include", "optimizeIdRegex", "RegExp", "map", "id", "replace", "join", "tsConfigPathsPlugin", "vxrnOptions", "root", "process", "cwd", "clientEnvDefine", "mode", "devAndProdPlugins", "name", "define", "ssr", "disableAutoDepsPreBundling", "Proxy", "configIncoming", "pathsConfig", "tsConfigPaths", "plugins", "flat", "some", "p", "configResolved", "resolveId", "get", "target", "key", "thisArg", "Reflect", "enforce", "alias", "tslib", "web", "defaultRenderMode", "JSON", "stringify", "setupFile", "env", "NODE_ENV", "server", "url", "environments", "client", "ios", "android", "zero", "TESTING", "REPLICACHE_VERSION", "ZERO_VERSION", "hotUpdate", "modules", "m", "relativePath", "relative", "rootDir", "split", "sep", "acceptedHmrExports", "Set", "compiler", "react", "push", "scan", "__vxrnAddNativePlugins", "__vxrnAddWebPluginsProd", "deps", "app", "sharedNativeConfig", "applyToEnvironment", "environment", "importer", "shouldOptimize", "test", "absolutePath", "webPath", "directoryPath", "err", "console", "warn", "entries", "getUserOneOptions", "command", "Error", "loadUserOneOptions", "found", "foundOptions"]
6
6
  }
@@ -0,0 +1,59 @@
1
+ import babel from "@babel/core";
2
+ import { relative } from "node:path";
3
+ const createReactCompilerPlugin = (root) => {
4
+ const babelConfig = {
5
+ babelrc: !1,
6
+ configFile: !1,
7
+ presets: ["@babel/preset-typescript"],
8
+ plugins: [["babel-plugin-react-compiler", { target: "19" }]]
9
+ }, filter = /.*(.tsx?)$/;
10
+ return {
11
+ name: "one:react-compiler",
12
+ enforce: "pre",
13
+ async transform(codeIn, id) {
14
+ if (!filter.test(id)) return;
15
+ const result = await babel.transformAsync(codeIn, { filename: id, ...babelConfig }), code = result?.code ?? "";
16
+ return code.includes("react/compiler-runtime") && console.info(` \u{1FA84} ${relative(root, id)}`), { code, map: result?.map };
17
+ }
18
+ // this is only useful for deps optimization but in general we just want app
19
+ // config() {
20
+ // return {
21
+ // optimizeDeps: {
22
+ // esbuildOptions: {
23
+ // plugins: [
24
+ // {
25
+ // name: 'babel',
26
+ // setup(build) {
27
+ // build.onLoad({ filter }, async (args) => {
28
+ // const ext = extname(args.path)
29
+ // const contents = await fs.promises.readFile(args.path, 'utf8')
30
+ // const babelOptions = babel.loadOptions({
31
+ // filename: args.path,
32
+ // ...babelConfig,
33
+ // caller: {
34
+ // name: 'esbuild-plugin-babel',
35
+ // supportsStaticESM: true,
36
+ // },
37
+ // })
38
+ // if (!babelOptions) {
39
+ // throw new Error(`invali`)
40
+ // }
41
+ // const result = await babel.transformAsync(contents, babelOptions)
42
+ // return {
43
+ // contents: result?.code ?? '',
44
+ // loader: ext === 'tsx' ? 'tsx' : 'ts',
45
+ // }
46
+ // })
47
+ // },
48
+ // },
49
+ // ],
50
+ // },
51
+ // },
52
+ // }
53
+ // },
54
+ };
55
+ };
56
+ export {
57
+ createReactCompilerPlugin
58
+ };
59
+ //# sourceMappingURL=reactCompilerPlugin.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/vite/plugins/reactCompilerPlugin.ts"],
4
+ "mappings": "AAAA,OAAO,WAAW;AAClB,SAAS,gBAAgB;AAGlB,MAAM,4BAA4B,CAAC,SAAyB;AACjE,QAAM,cAAc;AAAA,IAClB,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,SAAS,CAAC,0BAA0B;AAAA,IACpC,SAAS,CAAC,CAAC,+BAA+B,EAAE,QAAQ,KAAK,CAAC,CAAC;AAAA,EAC7D,GAEM,SAAS;AAEf,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IAET,MAAM,UAAU,QAAQ,IAAI;AAE1B,UAAI,CADoB,OAAO,KAAK,EAAE,EAChB;AACtB,YAAM,SAAS,MAAM,MAAM,eAAe,QAAQ,EAAE,UAAU,IAAI,GAAG,YAAY,CAAC,GAC5E,OAAO,QAAQ,QAAQ;AAE7B,aAAI,KAAK,SAAS,wBAAwB,KACxC,QAAQ,KAAK,cAAO,SAAS,MAAM,EAAE,CAAC,EAAE,GAGnC,EAAE,MAAM,KAAK,QAAQ,IAAI;AAAA,IAClC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAuCF;AACF;",
5
+ "names": []
6
+ }
@@ -0,0 +1,67 @@
1
+ import babel from "@babel/core";
2
+ import { relative } from "node:path";
3
+ const createReactCompilerPlugin = root => {
4
+ const babelConfig = {
5
+ babelrc: !1,
6
+ configFile: !1,
7
+ presets: ["@babel/preset-typescript"],
8
+ plugins: [["babel-plugin-react-compiler", {
9
+ target: "19"
10
+ }]]
11
+ },
12
+ filter = /.*(.tsx?)$/;
13
+ return {
14
+ name: "one:react-compiler",
15
+ enforce: "pre",
16
+ async transform(codeIn, id) {
17
+ if (!filter.test(id)) return;
18
+ const result = await babel.transformAsync(codeIn, {
19
+ filename: id,
20
+ ...babelConfig
21
+ }),
22
+ code = result?.code ?? "";
23
+ return code.includes("react/compiler-runtime") && console.info(` \u{1FA84} ${relative(root, id)}`), {
24
+ code,
25
+ map: result?.map
26
+ };
27
+ }
28
+ // this is only useful for deps optimization but in general we just want app
29
+ // config() {
30
+ // return {
31
+ // optimizeDeps: {
32
+ // esbuildOptions: {
33
+ // plugins: [
34
+ // {
35
+ // name: 'babel',
36
+ // setup(build) {
37
+ // build.onLoad({ filter }, async (args) => {
38
+ // const ext = extname(args.path)
39
+ // const contents = await fs.promises.readFile(args.path, 'utf8')
40
+ // const babelOptions = babel.loadOptions({
41
+ // filename: args.path,
42
+ // ...babelConfig,
43
+ // caller: {
44
+ // name: 'esbuild-plugin-babel',
45
+ // supportsStaticESM: true,
46
+ // },
47
+ // })
48
+ // if (!babelOptions) {
49
+ // throw new Error(`invali`)
50
+ // }
51
+ // const result = await babel.transformAsync(contents, babelOptions)
52
+ // return {
53
+ // contents: result?.code ?? '',
54
+ // loader: ext === 'tsx' ? 'tsx' : 'ts',
55
+ // }
56
+ // })
57
+ // },
58
+ // },
59
+ // ],
60
+ // },
61
+ // },
62
+ // }
63
+ // },
64
+ };
65
+ };
66
+ export { createReactCompilerPlugin };
67
+ //# sourceMappingURL=reactCompilerPlugin.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["babel","relative","createReactCompilerPlugin","root","babelConfig","babelrc","configFile","presets","plugins","target","filter","name","enforce","transform","codeIn","id","test","result","transformAsync","filename","code","includes","console","info","map"],"sources":["../../../../src/vite/plugins/reactCompilerPlugin.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAA,MAAW;AAClB,SAASC,QAAA,QAAgB;AAGlB,MAAMC,yBAAA,GAA6BC,IAAA,IAAyB;EACjE,MAAMC,WAAA,GAAc;MAClBC,OAAA,EAAS;MACTC,UAAA,EAAY;MACZC,OAAA,EAAS,CAAC,0BAA0B;MACpCC,OAAA,EAAS,CAAC,CAAC,+BAA+B;QAAEC,MAAA,EAAQ;MAAK,CAAC,CAAC;IAC7D;IAEMC,MAAA,GAAS;EAEf,OAAO;IACLC,IAAA,EAAM;IACNC,OAAA,EAAS;IAET,MAAMC,UAAUC,MAAA,EAAQC,EAAA,EAAI;MAE1B,IAAI,CADoBL,MAAA,CAAOM,IAAA,CAAKD,EAAE,GAChB;MACtB,MAAME,MAAA,GAAS,MAAMjB,KAAA,CAAMkB,cAAA,CAAeJ,MAAA,EAAQ;UAAEK,QAAA,EAAUJ,EAAA;UAAI,GAAGX;QAAY,CAAC;QAC5EgB,IAAA,GAAOH,MAAA,EAAQG,IAAA,IAAQ;MAE7B,OAAIA,IAAA,CAAKC,QAAA,CAAS,wBAAwB,KACxCC,OAAA,CAAQC,IAAA,CAAK,cAAOtB,QAAA,CAASE,IAAA,EAAMY,EAAE,CAAC,EAAE,GAGnC;QAAEK,IAAA;QAAMI,GAAA,EAAKP,MAAA,EAAQO;MAAI;IAClC;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAuCF;AACF","ignoreList":[]}
@@ -0,0 +1,40 @@
1
+ import babel from "@babel/core";
2
+ import { relative } from "node:path";
3
+ var createReactCompilerPlugin = function(root) {
4
+ var babelConfig = {
5
+ babelrc: !1,
6
+ configFile: !1,
7
+ presets: [
8
+ "@babel/preset-typescript"
9
+ ],
10
+ plugins: [
11
+ [
12
+ "babel-plugin-react-compiler",
13
+ {
14
+ target: "19"
15
+ }
16
+ ]
17
+ ]
18
+ }, filter = /.*(.tsx?)$/;
19
+ return {
20
+ name: "one:react-compiler",
21
+ enforce: "pre",
22
+ async transform(codeIn, id) {
23
+ var shouldTransform = filter.test(id);
24
+ if (shouldTransform) {
25
+ var result = await babel.transformAsync(codeIn, {
26
+ filename: id,
27
+ ...babelConfig
28
+ }), _result_code, code = (_result_code = result?.code) !== null && _result_code !== void 0 ? _result_code : "";
29
+ return code.includes("react/compiler-runtime") && console.info(` \u{1FA84} ${relative(root, id)}`), {
30
+ code,
31
+ map: result?.map
32
+ };
33
+ }
34
+ }
35
+ };
36
+ };
37
+ export {
38
+ createReactCompilerPlugin
39
+ };
40
+ //# sourceMappingURL=reactCompilerPlugin.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/vite/plugins/Users/n8/one/packages/one/src/vite/plugins/reactCompilerPlugin.ts"],
4
+ "mappings": "AAAA,OAAOA,WAAW;AAClB,SAASC,gBAAgB;AAGlB,IAAMC,4BAA4B,SAACC,MAAAA;AACxC,MAAMC,cAAc;IAClBC,SAAS;IACTC,YAAY;IACZC,SAAS;MAAC;;IACVC,SAAS;MAAC;QAAC;QAA+B;UAAEC,QAAQ;QAAK;;;EAC3D,GAEMC,SAAS;AAEf,SAAO;IACLC,MAAM;IACNC,SAAS;IAET,MAAMC,UAAUC,QAAQC,IAAE;AACxB,UAAMC,kBAAkBN,OAAOO,KAAKF,EAAAA;AACpC,UAAKC,iBACL;YAAME,SAAS,MAAMlB,MAAMmB,eAAeL,QAAQ;UAAEM,UAAUL;UAAI,GAAGX;QAAY,CAAA,GACpEc,cAAPG,QAAOH,eAAAA,QAAQG,UAAI,QAAZH,iBAAAA,SAAAA,eAAgB;AAE7B,eAAIG,KAAKC,SAAS,wBAAwB,KACxCC,QAAQC,KAAK,cAAOvB,SAASE,MAAMY,EAAAA,CAAAA,EAAK,GAGnC;UAAEM;UAAMI,KAAKP,QAAQO;QAAI;;IAClC;EAuCF;AACF;",
5
+ "names": ["babel", "relative", "createReactCompilerPlugin", "root", "babelConfig", "babelrc", "configFile", "presets", "plugins", "target", "filter", "name", "enforce", "transform", "codeIn", "id", "shouldTransform", "test", "result", "transformAsync", "filename", "code", "includes", "console", "info", "map"]
6
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "one",
3
- "version": "1.1.343",
3
+ "version": "1.1.345-1734464750388",
4
4
  "source": "src/index.ts",
5
5
  "types": "./types/index.d.ts",
6
6
  "sideEffects": [
@@ -51,6 +51,11 @@
51
51
  "import": "./dist/esm/serve.mjs",
52
52
  "require": "./dist/cjs/serve.js"
53
53
  },
54
+ "./setup": {
55
+ "types": "./types/setup.d.ts",
56
+ "import": "./dist/esm/setup.mjs",
57
+ "require": "./dist/cjs/setup.js"
58
+ },
54
59
  "./zero": {
55
60
  "types": "./types/zero.d.ts",
56
61
  "import": "./dist/esm/zero.mjs",
@@ -86,9 +91,11 @@
86
91
  },
87
92
  "dependencies": {
88
93
  "@azure/core-asynciterator-polyfill": "^1.0.2",
89
- "@babel/generator": "^7.25.4",
90
- "@babel/parser": "^7.25.4",
91
- "@babel/traverse": "^7.25.4",
94
+ "@babel/core": "^7.0.0",
95
+ "@babel/generator": "^7.26.3",
96
+ "@babel/parser": "^7.26.3",
97
+ "@babel/preset-typescript": "^7.26.0",
98
+ "@babel/traverse": "^7.26.4",
92
99
  "@radix-ui/react-slot": "^1.0.2",
93
100
  "@react-native-masked-view/masked-view": "^0.3.1",
94
101
  "@react-navigation/bottom-tabs": "~6.5.8",
@@ -100,14 +107,15 @@
100
107
  "@react-navigation/routers": "~6.1.9",
101
108
  "@swc/core": "^1.7.14",
102
109
  "@ungap/structured-clone": "^1.2.0",
103
- "@vxrn/resolve": "1.1.343",
104
- "@vxrn/tslib-lite": "1.1.343",
105
- "@vxrn/universal-color-scheme": "1.1.343",
106
- "@vxrn/use-isomorphic-layout-effect": "1.1.343",
110
+ "@vxrn/resolve": "1.1.345-1734464750388",
111
+ "@vxrn/tslib-lite": "1.1.345-1734464750388",
112
+ "@vxrn/universal-color-scheme": "1.1.345-1734464750388",
113
+ "@vxrn/use-isomorphic-layout-effect": "1.1.345-1734464750388",
107
114
  "babel-dead-code-elimination": "^1.0.6",
115
+ "babel-plugin-react-compiler": "^19.0.0-beta-201e55d-20241215",
108
116
  "citty": "^0.1.6",
109
117
  "core-js": "^3.38.1",
110
- "create-vxrn": "1.1.343",
118
+ "create-vxrn": "1.1.345-1734464750388",
111
119
  "escape-string-regexp": "^5.0.0",
112
120
  "expo-linking": "~6.3.1",
113
121
  "expo-modules-core": "^1.12.24",
@@ -125,11 +133,12 @@
125
133
  "react-native-gesture-handler": "^2.18.1",
126
134
  "react-native-safe-area-context": "4.10.5",
127
135
  "react-native-screens": "3.31.1",
136
+ "react-scan": "^0.0.48",
128
137
  "rollup-plugin-node-externals": "^7.1.2",
129
138
  "url-parse": "^1.5.10",
130
139
  "vite": "^6.0.3",
131
140
  "vite-tsconfig-paths": "^5.0.1",
132
- "vxrn": "1.1.343",
141
+ "vxrn": "1.1.345-1734464750388",
133
142
  "ws": "^8.18.0",
134
143
  "xxhashjs": "^0.2.2"
135
144
  },
@@ -1,4 +1,5 @@
1
1
  import './polyfills-mobile'
2
+ import './setup'
2
3
  import { Root } from './Root'
3
4
  import { AppRegistry, LogBox } from 'react-native'
4
5
 
package/src/createApp.tsx CHANGED
@@ -1,3 +1,5 @@
1
+ import './setup'
2
+
1
3
  import { Root } from './Root'
2
4
  import { resolveClientLoader } from './clientLoaderResolver'
3
5
  import { render } from './render'
package/src/index.ts CHANGED
@@ -1,4 +1,4 @@
1
- import './setup'
1
+ export { createApp } from './createApp'
2
2
 
3
3
  export type { OneRouter, One } from './interfaces/router'
4
4
  import type { OneRouter } from './interfaces/router'
@@ -14,7 +14,6 @@ export { createRoute, route } from './createRoute'
14
14
  export { onClientLoaderResolve } from './clientLoaderResolver'
15
15
 
16
16
  // internals
17
- export { createApp } from './createApp'
18
17
  export { render } from './render'
19
18
  export { Root } from './Root'
20
19
  export * as routerStore from './router/router'
package/src/serve.ts CHANGED
@@ -4,9 +4,8 @@ import FSExtra from 'fs-extra'
4
4
  import type { Hono } from 'hono'
5
5
  import { join } from 'node:path'
6
6
  import type { VXRNOptions } from 'vxrn'
7
- import { getServerEntry, loadEnv, serve as vxrnServe } from 'vxrn'
7
+ import { getServerEntry, loadEnv, serve as vxrnServe } from 'vxrn/serve'
8
8
  import type { RenderAppProps } from './types'
9
-
10
9
  import type { One } from './vite/types'
11
10
 
12
11
  process.on('uncaughtException', (err) => {
package/src/setup.ts CHANGED
@@ -1,3 +1,18 @@
1
+ // FIXME: This will break the release build of the React Native app.
2
+ // import { scan } from 'react-scan'
3
+
4
+ // if (process.env.ONE_ENABLE_REACT_SCAN) {
5
+ // const val = JSON.parse(process.env.ONE_ENABLE_REACT_SCAN)
6
+ // scan(
7
+ // val === true
8
+ // ? {
9
+ // enabled: true,
10
+ // showToolbar: false,
11
+ // }
12
+ // : val
13
+ // )
14
+ // }
15
+
1
16
  // fixes bad import error in expo-modules-core
2
17
  // without this you run into error loading web immediately
3
18
  // where globalThis.expo is not defined
package/src/vite/build.ts CHANGED
@@ -375,12 +375,14 @@ export async function build(args: {
375
375
  })
376
376
  }
377
377
 
378
+ const isDynamic = !!Object.keys(foundRoute.routeKeys).length
379
+
378
380
  if (
379
381
  foundRoute.type !== 'ssr' &&
382
+ isDynamic &&
380
383
  !foundRoute.page.includes('+not-found') &&
381
384
  !foundRoute.page.includes('_sitemap') &&
382
- !exported.generateStaticParams &&
383
- relativeId.includes('[')
385
+ !exported.generateStaticParams
384
386
  ) {
385
387
  throw new Error(`[one] Error: Missing generateStaticParams
386
388
 
@@ -531,6 +533,7 @@ ${JSON.stringify(params || null, null, 2)}`
531
533
  const handler = await serve()
532
534
  export const { GET, POST, PUT, PATCH, OPTIONS } = handler`
533
535
  )
536
+
534
537
  postBuildLogs.push(`wrote vercel entry to: ${join('.', 'dist', 'index.js')}`)
535
538
  postBuildLogs.push(`point vercel outputDirectory to dist`)
536
539
  }
package/src/vite/one.ts CHANGED
@@ -10,16 +10,17 @@ import {
10
10
  isWebEnvironment,
11
11
  loadEnv,
12
12
  } from 'vxrn'
13
+ import { CACHE_KEY } from '../constants'
14
+ import '../polyfills-server'
15
+ import { existsAsync } from '../utils/existsAsync'
16
+ import { ensureTSConfig } from './ensureTsConfig'
13
17
  import { clientTreeShakePlugin } from './plugins/clientTreeShakePlugin'
14
18
  import { createFileSystemRouterPlugin } from './plugins/fileSystemRouterPlugin'
15
19
  import { fixDependenciesPlugin } from './plugins/fixDependenciesPlugin'
16
20
  import { generateFileSystemRouteTypesPlugin } from './plugins/generateFileSystemRouteTypesPlugin'
21
+ import { createReactCompilerPlugin } from './plugins/reactCompilerPlugin'
17
22
  import { SSRCSSPlugin } from './plugins/SSRCSSPlugin'
18
23
  import { createVirtualEntry, virtualEntryId } from './plugins/virtualEntryPlugin'
19
- import { CACHE_KEY } from '../constants'
20
- import '../polyfills-server'
21
- import { existsAsync } from '../utils/existsAsync'
22
- import { ensureTSConfig } from './ensureTsConfig'
23
24
  import type { One } from './types'
24
25
 
25
26
  events.setMaxListeners(1_000)
@@ -49,10 +50,11 @@ export function one(options: One.PluginOptions = {}): PluginOption {
49
50
  let tsConfigPathsPlugin: Plugin | null = null
50
51
 
51
52
  const vxrnOptions = getOptionsFilled()
53
+ const root = vxrnOptions?.root || process.cwd()
52
54
 
53
55
  const { clientEnvDefine } = loadEnv(vxrnOptions?.mode ?? 'development')
54
56
 
55
- const devAndProdPlugins = [
57
+ const devAndProdPlugins: Plugin[] = [
56
58
  {
57
59
  name: 'one-define-env',
58
60
  config() {
@@ -66,7 +68,7 @@ export function one(options: One.PluginOptions = {}): PluginOption {
66
68
  ? []
67
69
  : [
68
70
  autoPreBundleDepsForSsrPlugin({
69
- root: vxrnOptions?.root || process.cwd(),
71
+ root,
70
72
  }),
71
73
  ]),
72
74
 
@@ -251,6 +253,15 @@ export function one(options: One.PluginOptions = {}): PluginOption {
251
253
  } satisfies Plugin,
252
254
  ] satisfies Plugin[]
253
255
 
256
+ // react compiler
257
+ const compiler = options.react?.compiler
258
+ if (compiler) {
259
+ devAndProdPlugins.push(createReactCompilerPlugin(root))
260
+ }
261
+
262
+ // react scan
263
+ const scan = options.react?.scan
264
+
254
265
  // TODO make this passed into vxrn through real API
255
266
  globalThis.__vxrnAddNativePlugins = [clientTreeShakePlugin()]
256
267
  globalThis.__vxrnAddWebPluginsProd = devAndProdPlugins
@@ -258,6 +269,24 @@ export function one(options: One.PluginOptions = {}): PluginOption {
258
269
  return [
259
270
  ...devAndProdPlugins,
260
271
 
272
+ {
273
+ name: `one:react-scan`,
274
+ config() {
275
+ return {
276
+ environments: {
277
+ // only in client
278
+ client: {
279
+ define: {
280
+ 'process.env.ONE_ENABLE_REACT_SCAN': JSON.stringify(
281
+ typeof scan === 'boolean' ? `${scan}` : scan
282
+ ),
283
+ },
284
+ },
285
+ },
286
+ }
287
+ },
288
+ },
289
+
261
290
  /**
262
291
  * This is really the meat of one, where it handles requests:
263
292
  */
@@ -0,0 +1,70 @@
1
+ import babel from '@babel/core'
2
+ import { relative } from 'node:path'
3
+ import type { Plugin } from 'vite'
4
+
5
+ export const createReactCompilerPlugin = (root: string): Plugin => {
6
+ const babelConfig = {
7
+ babelrc: false,
8
+ configFile: false,
9
+ presets: ['@babel/preset-typescript'],
10
+ plugins: [['babel-plugin-react-compiler', { target: '19' }]],
11
+ }
12
+
13
+ const filter = /.*(.tsx?)$/
14
+
15
+ return {
16
+ name: `one:react-compiler`,
17
+ enforce: 'pre',
18
+
19
+ async transform(codeIn, id) {
20
+ const shouldTransform = filter.test(id)
21
+ if (!shouldTransform) return
22
+ const result = await babel.transformAsync(codeIn, { filename: id, ...babelConfig })
23
+ const code = result?.code ?? ''
24
+
25
+ if (code.includes(`react/compiler-runtime`)) {
26
+ console.info(` 🪄 ${relative(root, id)}`)
27
+ }
28
+
29
+ return { code, map: result?.map }
30
+ },
31
+
32
+ // this is only useful for deps optimization but in general we just want app
33
+ // config() {
34
+ // return {
35
+ // optimizeDeps: {
36
+ // esbuildOptions: {
37
+ // plugins: [
38
+ // {
39
+ // name: 'babel',
40
+ // setup(build) {
41
+ // build.onLoad({ filter }, async (args) => {
42
+ // const ext = extname(args.path)
43
+ // const contents = await fs.promises.readFile(args.path, 'utf8')
44
+ // const babelOptions = babel.loadOptions({
45
+ // filename: args.path,
46
+ // ...babelConfig,
47
+ // caller: {
48
+ // name: 'esbuild-plugin-babel',
49
+ // supportsStaticESM: true,
50
+ // },
51
+ // })
52
+ // if (!babelOptions) {
53
+ // throw new Error(`invali`)
54
+ // }
55
+ // const result = await babel.transformAsync(contents, babelOptions)
56
+
57
+ // return {
58
+ // contents: result?.code ?? '',
59
+ // loader: ext === 'tsx' ? 'tsx' : 'ts',
60
+ // }
61
+ // })
62
+ // },
63
+ // },
64
+ // ],
65
+ // },
66
+ // },
67
+ // }
68
+ // },
69
+ }
70
+ }
package/src/vite/types.ts CHANGED
@@ -32,6 +32,25 @@ export namespace One {
32
32
  */
33
33
  zero?: boolean
34
34
 
35
+ react?: {
36
+ compiler?: boolean
37
+ scan?:
38
+ | boolean
39
+ | {
40
+ enabled?: boolean
41
+ includeChildren?: boolean
42
+ playSound?: boolean
43
+ log?: boolean
44
+ showToolbar?: boolean
45
+ renderCountThreshold?: number
46
+ resetCountTimeout?: number
47
+ maxRenders?: number
48
+ report?: boolean
49
+ alwaysShowLabels?: boolean
50
+ animationSpeed?: 'slow' | 'fast' | 'off'
51
+ }
52
+ }
53
+
35
54
  /**
36
55
  * Path to a js or ts file to import before the rest of your app runs
37
56
  * One controls your root, but you may want to runs some JS before anything else