one 1.1.401 → 1.1.403

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 (79) hide show
  1. package/dist/cjs/cli/build.cjs +4 -5
  2. package/dist/cjs/cli/build.js +3 -6
  3. package/dist/cjs/cli/build.js.map +1 -1
  4. package/dist/cjs/cli/build.native.js +4 -20
  5. package/dist/cjs/cli/build.native.js.map +2 -2
  6. package/dist/cjs/cli/checkNodeVersion.cjs +29 -0
  7. package/dist/cjs/cli/checkNodeVersion.js +24 -0
  8. package/dist/cjs/cli/checkNodeVersion.js.map +6 -0
  9. package/dist/cjs/cli/checkNodeVersion.native.js +29 -0
  10. package/dist/cjs/cli/checkNodeVersion.native.js.map +6 -0
  11. package/dist/cjs/cli/dev.cjs +2 -1
  12. package/dist/cjs/cli/dev.js +2 -2
  13. package/dist/cjs/cli/dev.js.map +1 -1
  14. package/dist/cjs/cli/dev.native.js +2 -2
  15. package/dist/cjs/cli/dev.native.js.map +2 -2
  16. package/dist/cjs/fork/getStateFromPath.cjs +3 -3
  17. package/dist/cjs/fork/getStateFromPath.js +3 -3
  18. package/dist/cjs/fork/getStateFromPath.js.map +1 -1
  19. package/dist/cjs/fork/getStateFromPath.native.js +3 -3
  20. package/dist/cjs/fork/getStateFromPath.native.js.map +2 -2
  21. package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.cjs +3 -1
  22. package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.js +3 -1
  23. package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.js.map +1 -1
  24. package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.native.js +3 -1
  25. package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.native.js.map +1 -1
  26. package/dist/cjs/vite/one.cjs +41 -2
  27. package/dist/cjs/vite/one.js +41 -2
  28. package/dist/cjs/vite/one.js.map +1 -1
  29. package/dist/cjs/vite/one.native.js +43 -2
  30. package/dist/cjs/vite/one.native.js.map +1 -1
  31. package/dist/esm/cli/build.js +3 -5
  32. package/dist/esm/cli/build.js.map +1 -1
  33. package/dist/esm/cli/build.mjs +3 -4
  34. package/dist/esm/cli/build.mjs.map +1 -1
  35. package/dist/esm/cli/build.native.js +4 -19
  36. package/dist/esm/cli/build.native.js.map +2 -2
  37. package/dist/esm/cli/checkNodeVersion.js +8 -0
  38. package/dist/esm/cli/checkNodeVersion.js.map +6 -0
  39. package/dist/esm/cli/checkNodeVersion.mjs +6 -0
  40. package/dist/esm/cli/checkNodeVersion.mjs.map +1 -0
  41. package/dist/esm/cli/checkNodeVersion.native.js +8 -0
  42. package/dist/esm/cli/checkNodeVersion.native.js.map +6 -0
  43. package/dist/esm/cli/dev.js +2 -1
  44. package/dist/esm/cli/dev.js.map +1 -1
  45. package/dist/esm/cli/dev.mjs +2 -1
  46. package/dist/esm/cli/dev.mjs.map +1 -1
  47. package/dist/esm/cli/dev.native.js +2 -1
  48. package/dist/esm/cli/dev.native.js.map +2 -2
  49. package/dist/esm/fork/getStateFromPath.js +3 -3
  50. package/dist/esm/fork/getStateFromPath.js.map +1 -1
  51. package/dist/esm/fork/getStateFromPath.mjs +3 -3
  52. package/dist/esm/fork/getStateFromPath.mjs.map +1 -1
  53. package/dist/esm/fork/getStateFromPath.native.js +3 -3
  54. package/dist/esm/fork/getStateFromPath.native.js.map +2 -2
  55. package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.js +3 -1
  56. package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.js.map +1 -1
  57. package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.mjs +3 -1
  58. package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.mjs.map +1 -1
  59. package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.native.js +3 -1
  60. package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.native.js.map +1 -1
  61. package/dist/esm/vite/one.js +41 -2
  62. package/dist/esm/vite/one.js.map +1 -1
  63. package/dist/esm/vite/one.mjs +41 -2
  64. package/dist/esm/vite/one.mjs.map +1 -1
  65. package/dist/esm/vite/one.native.js +43 -2
  66. package/dist/esm/vite/one.native.js.map +1 -1
  67. package/package.json +9 -9
  68. package/src/cli/build.ts +3 -7
  69. package/src/cli/checkNodeVersion.ts +13 -0
  70. package/src/cli/dev.ts +2 -0
  71. package/src/fork/getStateFromPath.ts +3 -4
  72. package/src/typed-routes/getTypedRoutesDeclarationFile.ts +3 -1
  73. package/src/vite/one.ts +45 -1
  74. package/types/cli/build.d.ts.map +1 -1
  75. package/types/cli/checkNodeVersion.d.ts +2 -0
  76. package/types/cli/checkNodeVersion.d.ts.map +1 -0
  77. package/types/cli/dev.d.ts.map +1 -1
  78. package/types/typed-routes/getTypedRoutesDeclarationFile.d.ts.map +1 -1
  79. package/types/vite/one.d.ts.map +1 -1
package/src/cli/build.ts CHANGED
@@ -21,6 +21,7 @@ import { loadUserOneOptions } from '../vite/loadConfig'
21
21
  import type { One } from '../vite/types'
22
22
  import { buildPage } from './buildPage'
23
23
  import { labelProcess } from './label-process'
24
+ import { checkNodeVersion } from './checkNodeVersion'
24
25
 
25
26
  const { ensureDir, readFile, outputFile } = FSExtra
26
27
 
@@ -34,6 +35,7 @@ export async function build(args: {
34
35
  platform?: 'ios' | 'web' | 'android'
35
36
  }) {
36
37
  labelProcess('build')
38
+ checkNodeVersion()
37
39
  await loadEnv('production')
38
40
 
39
41
  if (!process.env.ONE_SERVER_URL) {
@@ -407,13 +409,11 @@ export async function build(args: {
407
409
  console.info(`paramsList`, JSON.stringify(paramsList, null, 2))
408
410
  }
409
411
 
410
- const built: One.RouteBuildInfo[] = []
411
-
412
412
  for (const params of paramsList) {
413
413
  const cleanId = relativeId.replace(/\+(spa|ssg|ssr)\.tsx?$/, '')
414
414
  const path = getPathnameFromFilePath(cleanId, params, foundRoute.type === 'ssg')
415
415
  console.info(` ↦ route ${path}`)
416
- built.push(
416
+ builtRoutes.push(
417
417
  await buildPage(
418
418
  vxrnOutput.serverEntry,
419
419
  path,
@@ -430,10 +430,6 @@ export async function build(args: {
430
430
  )
431
431
  )
432
432
  }
433
-
434
- for (const info of built) {
435
- builtRoutes.push(info)
436
- }
437
433
  }
438
434
 
439
435
  // once done building static we can move it to client dir:
@@ -0,0 +1,13 @@
1
+ export function checkNodeVersion() {
2
+ const [major, minor] = process.version.split('.')
3
+
4
+ if (+major < 20) {
5
+ console.error(`One requires Node >= 20.11 (for import.meta.dirname support)`)
6
+ process.exit(1)
7
+ }
8
+
9
+ if (+major === 20 && +minor < 12) {
10
+ console.error(`One requires Node >= 20.11 (for import.meta.dirname support)`)
11
+ process.exit(1)
12
+ }
13
+ }
package/src/cli/dev.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { virtualEntryIdNative } from '../vite/plugins/virtualEntryConstants'
2
+ import { checkNodeVersion } from './checkNodeVersion'
2
3
  import { labelProcess } from './label-process'
3
4
 
4
5
  export async function dev(args: {
@@ -11,6 +12,7 @@ export async function dev(args: {
11
12
  debug?: string
12
13
  }) {
13
14
  labelProcess('dev')
15
+ checkNodeVersion()
14
16
 
15
17
  const { dev } = await import('vxrn/dev')
16
18
 
@@ -138,7 +138,7 @@ export function getStateFromPath<ParamList extends {}>(
138
138
  if (routes.length) {
139
139
  // @modified - start
140
140
  // return createNestedStateObject(path, routes, initialRoutes)
141
- return createNestedStateObject(pathData, routes, initialRoutes, [], pathData.url.hash)
141
+ return createNestedStateObject(pathData, routes, initialRoutes, [])
142
142
  // @modified - end
143
143
  }
144
144
 
@@ -676,8 +676,7 @@ const createNestedStateObject = (
676
676
  // @modified - end
677
677
  routes: ParsedRoute[],
678
678
  initialRoutes: InitialRouteConfig[],
679
- flatConfig?: RouteConfig[],
680
- hash?: string // @modified: added
679
+ flatConfig?: RouteConfig[]
681
680
  ) => {
682
681
  let route = routes.shift() as ParsedRoute
683
682
  const parentScreens: string[] = []
@@ -725,7 +724,7 @@ const createNestedStateObject = (
725
724
  path,
726
725
  route,
727
726
  flatConfig ? findParseConfigForRoute(route.name, flatConfig) : undefined,
728
- hash
727
+ restPathData.url.hash
729
728
  )
730
729
  // @modified - end
731
730
 
@@ -26,7 +26,9 @@ export function getTypedRoutesDeclarationFile(ctx: One.RouteContext) {
26
26
  dynamicRouteContextKeys
27
27
  )
28
28
 
29
- return `
29
+ return `// deno-lint-ignore-file
30
+ /* eslint-disable */
31
+ // biome-ignore: needed import
30
32
  import type { OneRouter } from 'one'
31
33
 
32
34
  declare module 'one' {
package/src/vite/one.ts CHANGED
@@ -235,6 +235,7 @@ export function one(options: One.PluginOptions = {}): PluginOption {
235
235
  client: {
236
236
  define: {
237
237
  'process.env.VITE_ENVIRONMENT': '"client"',
238
+ 'process.env.TAMAGUI_ENVIRONMENT': '"client"',
238
239
  'import.meta.env.VITE_ENVIRONMENT': '"client"',
239
240
  'process.env.EXPO_OS': '"web"',
240
241
  },
@@ -243,6 +244,7 @@ export function one(options: One.PluginOptions = {}): PluginOption {
243
244
  ssr: {
244
245
  define: {
245
246
  'process.env.VITE_ENVIRONMENT': '"ssr"',
247
+ 'process.env.TAMAGUI_ENVIRONMENT': '"ssr"',
246
248
  'import.meta.env.VITE_ENVIRONMENT': '"ssr"',
247
249
  'process.env.EXPO_OS': '"web"',
248
250
  },
@@ -251,6 +253,7 @@ export function one(options: One.PluginOptions = {}): PluginOption {
251
253
  ios: {
252
254
  define: {
253
255
  'process.env.VITE_ENVIRONMENT': '"ios"',
256
+ 'process.env.TAMAGUI_ENVIRONMENT': '"ios"',
254
257
  'import.meta.env.VITE_ENVIRONMENT': '"ios"',
255
258
  'process.env.EXPO_OS': '"ios"',
256
259
  },
@@ -259,6 +262,7 @@ export function one(options: One.PluginOptions = {}): PluginOption {
259
262
  android: {
260
263
  define: {
261
264
  'process.env.VITE_ENVIRONMENT': '"android"',
265
+ 'process.env.TAMAGUI_ENVIRONMENT': '"android"',
262
266
  'import.meta.env.VITE_ENVIRONMENT': '"android"',
263
267
  'process.env.EXPO_OS': '"android"',
264
268
  },
@@ -269,12 +273,32 @@ export function one(options: One.PluginOptions = {}): PluginOption {
269
273
  } satisfies Plugin,
270
274
 
271
275
  {
272
- name: 'tamagui-react-19',
276
+ name: 'one:tamagui',
273
277
  config() {
274
278
  return {
275
279
  define: {
276
280
  // safe to set because it only affects web in tamagui, and one is always react 19
277
281
  'process.env.TAMAGUI_REACT_19': '"1"',
282
+ 'process.env.TAMAGUI_SKIP_THEME_OPTIMIZATION': '"1"',
283
+ },
284
+
285
+ environments: {
286
+ ssr: {
287
+ define: {
288
+ 'process.env.TAMAGUI_IS_SERVER': '"1"',
289
+ 'process.env.TAMAGUI_KEEP_THEMES': '"1"',
290
+ },
291
+ },
292
+ ios: {
293
+ define: {
294
+ 'process.env.TAMAGUI_KEEP_THEMES': '"1"',
295
+ },
296
+ },
297
+ android: {
298
+ define: {
299
+ 'process.env.TAMAGUI_KEEP_THEMES': '"1"',
300
+ },
301
+ },
278
302
  },
279
303
  }
280
304
  },
@@ -300,6 +324,26 @@ export function one(options: One.PluginOptions = {}): PluginOption {
300
324
  })
301
325
  },
302
326
  } satisfies Plugin,
327
+
328
+ // Plugins may transform the source code and add imports of `react/jsx-dev-runtime`, which won't be discovered by Vite's initial `scanImports` since the implementation is using ESbuild where such plugins are not executed.
329
+ // Thus, if the project has a valid `react/jsx-dev-runtime` import, we tell Vite to optimize it, so Vite won't only discover it on the next page load and trigger a full reload.
330
+ {
331
+ name: 'one:optimize-react-dev-runtime',
332
+
333
+ config() {
334
+ try {
335
+ resolvePath('react/jsx-dev-runtime', root)
336
+
337
+ return {
338
+ optimizeDeps: {
339
+ include: ['react/jsx-dev-runtime'],
340
+ },
341
+ }
342
+ } catch {
343
+ return {}
344
+ }
345
+ },
346
+ } satisfies Plugin
303
347
  ] satisfies Plugin[]
304
348
 
305
349
  // react scan
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/cli/build.ts"],"names":[],"mappings":"AA8BA,wBAAsB,KAAK,CAAC,IAAI,EAAE;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAAA;CACrC,iBAwfA"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/cli/build.ts"],"names":[],"mappings":"AA+BA,wBAAsB,KAAK,CAAC,IAAI,EAAE;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAAA;CACrC,iBAqfA"}
@@ -0,0 +1,2 @@
1
+ export declare function checkNodeVersion(): void;
2
+ //# sourceMappingURL=checkNodeVersion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkNodeVersion.d.ts","sourceRoot":"","sources":["../../src/cli/checkNodeVersion.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,SAY/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/cli/dev.ts"],"names":[],"mappings":"AAGA,wBAAsB,GAAG,CAAC,IAAI,EAAE;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,aAAa,GAAG,YAAY,CAAA;IACnC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,iBAmCA"}
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/cli/dev.ts"],"names":[],"mappings":"AAIA,wBAAsB,GAAG,CAAC,IAAI,EAAE;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,aAAa,GAAG,YAAY,CAAA;IACnC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,iBAoCA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getTypedRoutesDeclarationFile.d.ts","sourceRoot":"","sources":["../../src/typed-routes/getTypedRoutesDeclarationFile.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AAOxC,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,GAAG,CAAC,YAAY,UAgClE"}
1
+ {"version":3,"file":"getTypedRoutesDeclarationFile.d.ts","sourceRoot":"","sources":["../../src/typed-routes/getTypedRoutesDeclarationFile.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AAOxC,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,GAAG,CAAC,YAAY,UAkClE"}
@@ -1 +1 @@
1
- {"version":3,"file":"one.d.ts","sourceRoot":"","sources":["../../src/vite/one.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAU,YAAY,EAAc,MAAM,MAAM,CAAA;AAW5D,OAAO,qBAAqB,CAAA;AAW5B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAkBlC,wBAAgB,GAAG,CAAC,OAAO,GAAE,GAAG,CAAC,aAAkB,GAAG,YAAY,CA2ZjE"}
1
+ {"version":3,"file":"one.d.ts","sourceRoot":"","sources":["../../src/vite/one.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAU,YAAY,EAAc,MAAM,MAAM,CAAA;AAW5D,OAAO,qBAAqB,CAAA;AAW5B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAkBlC,wBAAgB,GAAG,CAAC,OAAO,GAAE,GAAG,CAAC,aAAkB,GAAG,YAAY,CAucjE"}