one 1.2.35 → 1.2.37

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 (71) hide show
  1. package/dist/cjs/cli/build.cjs +16 -2
  2. package/dist/cjs/cli/build.js +14 -3
  3. package/dist/cjs/cli/build.js.map +1 -1
  4. package/dist/cjs/cli/build.native.js +20 -5
  5. package/dist/cjs/cli/build.native.js.map +1 -1
  6. package/dist/cjs/cli/generateSitemap.cjs +86 -0
  7. package/dist/cjs/cli/generateSitemap.js +69 -0
  8. package/dist/cjs/cli/generateSitemap.js.map +6 -0
  9. package/dist/cjs/cli/generateSitemap.native.js +112 -0
  10. package/dist/cjs/cli/generateSitemap.native.js.map +1 -0
  11. package/dist/cjs/cli/generateSitemap.test.cjs +156 -0
  12. package/dist/cjs/cli/generateSitemap.test.js +103 -0
  13. package/dist/cjs/cli/generateSitemap.test.js.map +6 -0
  14. package/dist/cjs/cli/generateSitemap.test.native.js +200 -0
  15. package/dist/cjs/cli/generateSitemap.test.native.js.map +1 -0
  16. package/dist/cjs/createApp.cjs +6 -5
  17. package/dist/cjs/createApp.js +7 -3
  18. package/dist/cjs/createApp.js.map +2 -2
  19. package/dist/cjs/vite/one.cjs +30 -14
  20. package/dist/cjs/vite/one.js +30 -14
  21. package/dist/cjs/vite/one.js.map +1 -1
  22. package/dist/cjs/vite/one.native.js +30 -14
  23. package/dist/cjs/vite/one.native.js.map +1 -1
  24. package/dist/esm/cli/build.js +14 -2
  25. package/dist/esm/cli/build.js.map +1 -1
  26. package/dist/esm/cli/build.mjs +16 -2
  27. package/dist/esm/cli/build.mjs.map +1 -1
  28. package/dist/esm/cli/build.native.js +20 -5
  29. package/dist/esm/cli/build.native.js.map +1 -1
  30. package/dist/esm/cli/generateSitemap.js +45 -0
  31. package/dist/esm/cli/generateSitemap.js.map +6 -0
  32. package/dist/esm/cli/generateSitemap.mjs +52 -0
  33. package/dist/esm/cli/generateSitemap.mjs.map +1 -0
  34. package/dist/esm/cli/generateSitemap.native.js +75 -0
  35. package/dist/esm/cli/generateSitemap.native.js.map +1 -0
  36. package/dist/esm/cli/generateSitemap.test.js +104 -0
  37. package/dist/esm/cli/generateSitemap.test.js.map +6 -0
  38. package/dist/esm/cli/generateSitemap.test.mjs +157 -0
  39. package/dist/esm/cli/generateSitemap.test.mjs.map +1 -0
  40. package/dist/esm/cli/generateSitemap.test.native.js +198 -0
  41. package/dist/esm/cli/generateSitemap.test.native.js.map +1 -0
  42. package/dist/esm/createApp.js +6 -4
  43. package/dist/esm/createApp.js.map +1 -1
  44. package/dist/esm/createApp.mjs +5 -4
  45. package/dist/esm/createApp.mjs.map +1 -1
  46. package/dist/esm/vite/one.js +30 -14
  47. package/dist/esm/vite/one.js.map +1 -1
  48. package/dist/esm/vite/one.mjs +30 -14
  49. package/dist/esm/vite/one.mjs.map +1 -1
  50. package/dist/esm/vite/one.native.js +30 -14
  51. package/dist/esm/vite/one.native.js.map +1 -1
  52. package/package.json +13 -10
  53. package/src/cli/build.ts +31 -0
  54. package/src/cli/generateSitemap.test.ts +207 -0
  55. package/src/cli/generateSitemap.ts +93 -0
  56. package/src/createApp.tsx +12 -4
  57. package/src/interfaces/router.ts +28 -0
  58. package/src/vite/one.ts +28 -11
  59. package/src/vite/types.ts +50 -0
  60. package/types/cli/build.d.ts.map +1 -1
  61. package/types/cli/generateSitemap.d.ts +13 -0
  62. package/types/cli/generateSitemap.d.ts.map +1 -0
  63. package/types/cli/generateSitemap.test.d.ts +2 -0
  64. package/types/cli/generateSitemap.test.d.ts.map +1 -0
  65. package/types/createApp.d.ts.map +1 -1
  66. package/types/env.d.ts +43 -0
  67. package/types/interfaces/router.d.ts +19 -0
  68. package/types/interfaces/router.d.ts.map +1 -1
  69. package/types/vite/one.d.ts.map +1 -1
  70. package/types/vite/types.d.ts +46 -0
  71. package/types/vite/types.d.ts.map +1 -1
@@ -187,6 +187,15 @@ function one() {
187
187
  var _options_web;
188
188
  return {
189
189
  define: {
190
+ // we define this not in environment.client because there must be a bug in vite
191
+ // it doesnt define the import.meta.env at all if you do that
192
+ "process.env.TAMAGUI_ENVIRONMENT": '"client"',
193
+ "process.env.VITE_ENVIRONMENT": '"client"',
194
+ "import.meta.env.VITE_ENVIRONMENT": '"client"',
195
+ "process.env.VITE_PLATFORM": '"web"',
196
+ "import.meta.env.VITE_PLATFORM": '"web"',
197
+ "process.env.EXPO_OS": '"web"',
198
+ "import.meta.env.EXPO_OS": '"web"',
190
199
  ...(((_options_web = options.web) === null || _options_web === void 0 ? void 0 : _options_web.defaultRenderMode) && {
191
200
  "process.env.ONE_DEFAULT_RENDER_MODE": JSON.stringify(options.web.defaultRenderMode),
192
201
  "import.meta.env.ONE_DEFAULT_RENDER_MODE": JSON.stringify(options.web.defaultRenderMode)
@@ -225,37 +234,44 @@ function one() {
225
234
  })
226
235
  },
227
236
  environments: {
228
- client: {
229
- define: {
230
- "process.env.VITE_ENVIRONMENT": '"client"',
231
- "process.env.TAMAGUI_ENVIRONMENT": '"client"',
232
- "import.meta.env.VITE_ENVIRONMENT": '"client"',
233
- "process.env.EXPO_OS": '"web"'
234
- }
235
- },
237
+ // we define client vars not in environment.client because there must be a bug in vite
238
+ // it doesnt define the import.meta.env at all if you do that
239
+ // client: {
240
+ // define: {
241
+ // },
242
+ // },
236
243
  ssr: {
237
244
  define: {
245
+ "process.env.TAMAGUI_ENVIRONMENT": '"ssr"',
238
246
  "process.env.VITE_ENVIRONMENT": '"ssr"',
239
247
  // Note that we are also setting `process.env.VITE_ENVIRONMENT = 'ssr'` for this current process. See `setServerGlobals()` and `setupServerGlobals.ts`.
240
- "process.env.TAMAGUI_ENVIRONMENT": '"ssr"',
241
248
  "import.meta.env.VITE_ENVIRONMENT": '"ssr"',
242
- "process.env.EXPO_OS": '"web"'
249
+ "process.env.VITE_PLATFORM": '"web"',
250
+ "import.meta.env.VITE_PLATFORM": '"web"',
251
+ "process.env.EXPO_OS": '"web"',
252
+ "import.meta.env.EXPO_OS": '"web"'
243
253
  }
244
254
  },
245
255
  ios: {
246
256
  define: {
247
- "process.env.VITE_ENVIRONMENT": '"ios"',
248
257
  "process.env.TAMAGUI_ENVIRONMENT": '"ios"',
258
+ "process.env.VITE_ENVIRONMENT": '"ios"',
249
259
  "import.meta.env.VITE_ENVIRONMENT": '"ios"',
250
- "process.env.EXPO_OS": '"ios"'
260
+ "process.env.VITE_PLATFORM": '"native"',
261
+ "import.meta.env.VITE_PLATFORM": '"native"',
262
+ "process.env.EXPO_OS": '"ios"',
263
+ "import.meta.env.EXPO_OS": '"ios"'
251
264
  }
252
265
  },
253
266
  android: {
254
267
  define: {
255
- "process.env.VITE_ENVIRONMENT": '"android"',
256
268
  "process.env.TAMAGUI_ENVIRONMENT": '"android"',
269
+ "process.env.VITE_ENVIRONMENT": '"android"',
257
270
  "import.meta.env.VITE_ENVIRONMENT": '"android"',
258
- "process.env.EXPO_OS": '"android"'
271
+ "process.env.VITE_PLATFORM": '"native"',
272
+ "import.meta.env.VITE_PLATFORM": '"native"',
273
+ "process.env.EXPO_OS": '"android"',
274
+ "import.meta.env.EXPO_OS": '"android"'
259
275
  }
260
276
  }
261
277
  }
@@ -1 +1 @@
1
- {"version":3,"names":["configureVXRNCompilerPlugin","resolvePath","events","path","barrel","tsconfigPaths","autoDepOptimizePlugin","getOptionsFilled","loadEnv","vxrnVitePlugin","CACHE_KEY","getViteMetroPluginOptions","getRouterRootFromOneOptions","ensureTSConfig","setOneOptions","clientTreeShakePlugin","createFileSystemRouterPlugin","fixDependenciesPlugin","generateFileSystemRouteTypesPlugin","SSRCSSPlugin","virtualEntryId","createVirtualEntry","_type_of","obj","Symbol","constructor","setMaxListeners","globalThis","__vxrnEnableNativeEnv","one","options","arguments","length","_options_config","_options_optimization","_options_react","_options_ssr","_options_router_experimental","_options_router","routerRoot","metroOptions","_options_native","_options_router2","_options_native_bundlerOptions","_options_native1","_options_native2","_options_react2","_options_react1","native","bundler","process","env","ONE_METRO_MODE","console","info","routerRoot2","defaultMetroOptions","projectRoot","cwd","relativeRouterRoot","ignoredRouteFiles","router","userDefaultConfigOverrides","bundlerOptions","defaultConfigOverrides","setupFile","userMetroOptions","babelConfig","argv","plugins","react","compiler","mainModuleName","vxrnPlugins","IS_VXRN_CLI","warn","push","metro","__oneOptions","__vxrnPluginConfig__","__vxrnMetroOptions__","config","tsConfigPathsPlugin","vxrnOptions","root","barrelOption","optimization","enableCompiler","autoDepsOptions","ssr","autoDepsOptimization","devAndProdPlugins","name","__get","packages","Array","isArray","userConfig","_vxrnOptions_mode","_ref","clientEnvDefine","mode","envPrefix","define","ONE_DEBUG_ROUTER","JSON","stringify","onScannedDeps","param","hasReanimated","hasNativewind","_options_native_css","enableReanimated","enableNativeCSS","css","enableNativewind","include","Proxy","configIncoming","_options_config2","_configIncoming_plugins","pathsConfig","tsConfigPaths","flat","some","p","configResolved","resolveId","get","target","key","thisArg","Reflect","enforce","tslibLitePath","err","DEBUG","error","resolve","alias","tslib","_options_web","web","defaultRenderMode","setupFiles","client","server","ios","android","NODE_ENV","url","environments","hotUpdate","modules","map","m","id","relativePath","relative","rootDir","split","sep","acceptedHmrExports","Set","_","optimizeDeps","transform","code","environment","includes","replace","nativeWebDevAndProdPlugsin","__vxrnAddNativePlugins","__vxrnAddWebPluginsProd","flags","experimentalPreventLayoutRemounting","experimental","preventLayoutRemounting","deps"],"sources":["../../../src/vite/one.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["configureVXRNCompilerPlugin","resolvePath","events","path","barrel","tsconfigPaths","autoDepOptimizePlugin","getOptionsFilled","loadEnv","vxrnVitePlugin","CACHE_KEY","getViteMetroPluginOptions","getRouterRootFromOneOptions","ensureTSConfig","setOneOptions","clientTreeShakePlugin","createFileSystemRouterPlugin","fixDependenciesPlugin","generateFileSystemRouteTypesPlugin","SSRCSSPlugin","virtualEntryId","createVirtualEntry","_type_of","obj","Symbol","constructor","setMaxListeners","globalThis","__vxrnEnableNativeEnv","one","options","arguments","length","_options_config","_options_optimization","_options_react","_options_ssr","_options_router_experimental","_options_router","routerRoot","metroOptions","_options_native","_options_router2","_options_native_bundlerOptions","_options_native1","_options_native2","_options_react2","_options_react1","native","bundler","process","env","ONE_METRO_MODE","console","info","routerRoot2","defaultMetroOptions","projectRoot","cwd","relativeRouterRoot","ignoredRouteFiles","router","userDefaultConfigOverrides","bundlerOptions","defaultConfigOverrides","setupFile","userMetroOptions","babelConfig","argv","plugins","react","compiler","mainModuleName","vxrnPlugins","IS_VXRN_CLI","warn","push","metro","__oneOptions","__vxrnPluginConfig__","__vxrnMetroOptions__","config","tsConfigPathsPlugin","vxrnOptions","root","barrelOption","optimization","enableCompiler","autoDepsOptions","ssr","autoDepsOptimization","devAndProdPlugins","name","__get","packages","Array","isArray","userConfig","_vxrnOptions_mode","_ref","clientEnvDefine","mode","envPrefix","define","ONE_DEBUG_ROUTER","JSON","stringify","onScannedDeps","param","hasReanimated","hasNativewind","_options_native_css","enableReanimated","enableNativeCSS","css","enableNativewind","include","Proxy","configIncoming","_options_config2","_configIncoming_plugins","pathsConfig","tsConfigPaths","flat","some","p","configResolved","resolveId","get","target","key","thisArg","Reflect","enforce","tslibLitePath","err","DEBUG","error","resolve","alias","tslib","_options_web","web","defaultRenderMode","setupFiles","client","server","ios","android","NODE_ENV","url","environments","hotUpdate","modules","map","m","id","relativePath","relative","rootDir","split","sep","acceptedHmrExports","Set","_","optimizeDeps","transform","code","environment","includes","replace","nativeWebDevAndProdPlugsin","__vxrnAddNativePlugins","__vxrnAddWebPluginsProd","flags","experimentalPreventLayoutRemounting","experimental","preventLayoutRemounting","deps"],"sources":["../../../src/vite/one.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "one",
3
- "version": "1.2.35",
3
+ "version": "1.2.37",
4
4
  "license": "BSD-3-Clause",
5
5
  "sideEffects": [
6
6
  "setup.mjs",
@@ -78,6 +78,9 @@
78
78
  "./metro-entry": {
79
79
  "require": "./metro-entry.js",
80
80
  "import": "./metro-entry.js"
81
+ },
82
+ "./env": {
83
+ "types": "./types/env.d.ts"
81
84
  }
82
85
  },
83
86
  "main": "dist/cjs",
@@ -121,17 +124,17 @@
121
124
  "@react-navigation/routers": "~7.5.1",
122
125
  "@swc/core": "^1.14.0",
123
126
  "@ungap/structured-clone": "^1.2.0",
124
- "@vxrn/color-scheme": "1.2.35",
125
- "@vxrn/compiler": "1.2.35",
126
- "@vxrn/resolve": "1.2.35",
127
- "@vxrn/tslib-lite": "1.2.35",
128
- "@vxrn/use-isomorphic-layout-effect": "1.2.35",
129
- "@vxrn/vite-plugin-metro": "1.2.35",
127
+ "@vxrn/color-scheme": "1.2.37",
128
+ "@vxrn/compiler": "1.2.37",
129
+ "@vxrn/resolve": "1.2.37",
130
+ "@vxrn/tslib-lite": "1.2.37",
131
+ "@vxrn/use-isomorphic-layout-effect": "1.2.37",
132
+ "@vxrn/vite-plugin-metro": "1.2.37",
130
133
  "babel-dead-code-elimination": "^1.0.10",
131
134
  "babel-plugin-module-resolver": "^5.0.2",
132
135
  "citty": "^0.1.6",
133
136
  "core-js": "^3.38.1",
134
- "create-vxrn": "1.2.35",
137
+ "create-vxrn": "1.2.37",
135
138
  "escape-string-regexp": "^5.0.0",
136
139
  "expo-linking": "~8.0.8",
137
140
  "expo-modules-core": "~3.0.24",
@@ -157,7 +160,7 @@
157
160
  "vite": "^7.1.12",
158
161
  "vite-plugin-barrel": "^0.4.1",
159
162
  "vite-tsconfig-paths": "^5.1.4",
160
- "vxrn": "1.2.35",
163
+ "vxrn": "1.2.37",
161
164
  "ws": "^8.18.0",
162
165
  "xxhashjs": "^0.2.2"
163
166
  },
@@ -175,7 +178,7 @@
175
178
  "devDependencies": {
176
179
  "@react-navigation/core": "^7.13.0",
177
180
  "@react-navigation/native": "~7.1.19",
178
- "@tamagui/build": "^1.140.4",
181
+ "@tamagui/build": "^1.141.0",
179
182
  "@types/node": "^24.10.0",
180
183
  "@types/react-dom": "^19.2.2",
181
184
  "@types/xxhashjs": "^0.2.4",
package/src/cli/build.ts CHANGED
@@ -25,6 +25,7 @@ import { runWithAsyncLocalContext } from '../vite/one-server-only'
25
25
  import type { One, RouteInfo } from '../vite/types'
26
26
  import { buildPage } from './buildPage'
27
27
  import { checkNodeVersion } from './checkNodeVersion'
28
+ import { generateSitemap, type RouteSitemapData } from './generateSitemap'
28
29
  import { labelProcess } from './label-process'
29
30
 
30
31
  const { ensureDir, writeJSON } = FSExtra
@@ -219,6 +220,7 @@ export async function build(args: {
219
220
  const assets: OutputAsset[] = []
220
221
 
221
222
  const builtRoutes: One.RouteBuildInfo[] = []
223
+ const sitemapData: RouteSitemapData[] = []
222
224
 
223
225
  console.info(`\n 🔨 build static routes\n`)
224
226
 
@@ -466,6 +468,9 @@ export async function build(args: {
466
468
  console.info(`paramsList`, JSON.stringify(paramsList, null, 2))
467
469
  }
468
470
 
471
+ // Get route-level sitemap export if present
472
+ const routeSitemapExport = exported.sitemap as One.RouteSitemap | undefined
473
+
469
474
  for (const params of paramsList) {
470
475
  const path = getPathnameFromFilePath(relativeId, params, foundRoute.type === 'ssg')
471
476
  console.info(` ↦ route ${path}`)
@@ -490,6 +495,20 @@ export async function build(args: {
490
495
  })
491
496
 
492
497
  builtRoutes.push(built)
498
+
499
+ // Collect sitemap data for page routes (exclude API, not-found, layouts)
500
+ if (
501
+ foundRoute.type !== 'api' &&
502
+ foundRoute.type !== 'layout' &&
503
+ !foundRoute.isNotFound &&
504
+ !foundRoute.page.includes('+not-found') &&
505
+ !foundRoute.page.includes('_sitemap')
506
+ ) {
507
+ sitemapData.push({
508
+ path,
509
+ routeExport: routeSitemapExport,
510
+ })
511
+ }
493
512
  }
494
513
  }
495
514
 
@@ -562,6 +581,18 @@ export async function build(args: {
562
581
 
563
582
  await writeJSON(toAbsolute(`dist/buildInfo.json`), buildInfoForWriting)
564
583
 
584
+ // Generate sitemap.xml if enabled
585
+ const sitemapConfig = oneOptions.web?.sitemap
586
+ if (sitemapConfig) {
587
+ const sitemapOptions: One.SitemapOptions =
588
+ typeof sitemapConfig === 'boolean' ? {} : sitemapConfig
589
+
590
+ const sitemapXml = generateSitemap(sitemapData, sitemapOptions)
591
+ const sitemapPath = join(clientDir, 'sitemap.xml')
592
+ await FSExtra.writeFile(sitemapPath, sitemapXml)
593
+ console.info(`\n 📄 generated sitemap.xml (${sitemapData.length} URLs)\n`)
594
+ }
595
+
565
596
  let postBuildLogs: string[] = []
566
597
 
567
598
  const platform = oneOptions.web?.deploy
@@ -0,0 +1,207 @@
1
+ import { describe, expect, it } from 'vitest'
2
+ import { generateSitemap, type RouteSitemapData } from './generateSitemap'
3
+ import type { One } from '../vite/types'
4
+
5
+ describe('generateSitemap', () => {
6
+ it('generates basic sitemap XML', () => {
7
+ const routes: RouteSitemapData[] = [{ path: '/' }, { path: '/about' }, { path: '/blog' }]
8
+ const options: One.SitemapOptions = {}
9
+
10
+ const result = generateSitemap(routes, options)
11
+
12
+ expect(result).toContain('<?xml version="1.0" encoding="UTF-8"?>')
13
+ expect(result).toContain('<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">')
14
+ expect(result).toContain('<loc>/</loc>')
15
+ expect(result).toContain('<loc>/about</loc>')
16
+ expect(result).toContain('<loc>/blog</loc>')
17
+ expect(result).toContain('</urlset>')
18
+ })
19
+
20
+ it('uses baseUrl when provided', () => {
21
+ const routes: RouteSitemapData[] = [{ path: '/' }, { path: '/about' }]
22
+ const options: One.SitemapOptions = {
23
+ baseUrl: 'https://example.com',
24
+ }
25
+
26
+ const result = generateSitemap(routes, options)
27
+
28
+ expect(result).toContain('<loc>https://example.com/</loc>')
29
+ expect(result).toContain('<loc>https://example.com/about</loc>')
30
+ })
31
+
32
+ it('strips trailing slash from baseUrl', () => {
33
+ const routes: RouteSitemapData[] = [{ path: '/about' }]
34
+ const options: One.SitemapOptions = {
35
+ baseUrl: 'https://example.com/',
36
+ }
37
+
38
+ const result = generateSitemap(routes, options)
39
+
40
+ expect(result).toContain('<loc>https://example.com/about</loc>')
41
+ expect(result).not.toContain('https://example.com//about')
42
+ })
43
+
44
+ it('uses ONE_SERVER_URL env var when baseUrl not provided', () => {
45
+ const originalEnv = process.env.ONE_SERVER_URL
46
+ process.env.ONE_SERVER_URL = 'https://env-url.com'
47
+
48
+ try {
49
+ const routes: RouteSitemapData[] = [{ path: '/test' }]
50
+ const options: One.SitemapOptions = {}
51
+
52
+ const result = generateSitemap(routes, options)
53
+
54
+ expect(result).toContain('<loc>https://env-url.com/test</loc>')
55
+ } finally {
56
+ process.env.ONE_SERVER_URL = originalEnv
57
+ }
58
+ })
59
+
60
+ it('applies default priority to all routes', () => {
61
+ const routes: RouteSitemapData[] = [{ path: '/' }, { path: '/about' }]
62
+ const options: One.SitemapOptions = {
63
+ priority: 0.8,
64
+ }
65
+
66
+ const result = generateSitemap(routes, options)
67
+
68
+ expect(result).toMatch(/<url>\s*<loc>\/about<\/loc>\s*<priority>0\.8<\/priority>\s*<\/url>/s)
69
+ })
70
+
71
+ it('applies default changefreq to all routes', () => {
72
+ const routes: RouteSitemapData[] = [{ path: '/' }, { path: '/about' }]
73
+ const options: One.SitemapOptions = {
74
+ changefreq: 'weekly',
75
+ }
76
+
77
+ const result = generateSitemap(routes, options)
78
+
79
+ expect(result).toContain('<changefreq>weekly</changefreq>')
80
+ })
81
+
82
+ it('respects route-level sitemap exports', () => {
83
+ const routes: RouteSitemapData[] = [
84
+ { path: '/', routeExport: { priority: 1.0, changefreq: 'daily' } },
85
+ { path: '/about', routeExport: { priority: 0.5, changefreq: 'monthly' } },
86
+ ]
87
+ const options: One.SitemapOptions = {
88
+ priority: 0.7,
89
+ changefreq: 'weekly',
90
+ }
91
+
92
+ const result = generateSitemap(routes, options)
93
+
94
+ // Route exports should override defaults
95
+ expect(result).toMatch(
96
+ /<url>\s*<loc>\/<\/loc>\s*<changefreq>daily<\/changefreq>\s*<priority>1\.0<\/priority>\s*<\/url>/s
97
+ )
98
+ expect(result).toMatch(
99
+ /<url>\s*<loc>\/about<\/loc>\s*<changefreq>monthly<\/changefreq>\s*<priority>0\.5<\/priority>\s*<\/url>/s
100
+ )
101
+ })
102
+
103
+ it('excludes routes with routeExport.exclude = true', () => {
104
+ const routes: RouteSitemapData[] = [
105
+ { path: '/' },
106
+ { path: '/admin', routeExport: { exclude: true } },
107
+ { path: '/about' },
108
+ ]
109
+ const options: One.SitemapOptions = {}
110
+
111
+ const result = generateSitemap(routes, options)
112
+
113
+ expect(result).toContain('<loc>/</loc>')
114
+ expect(result).toContain('<loc>/about</loc>')
115
+ expect(result).not.toContain('/admin')
116
+ })
117
+
118
+ it('excludes routes matching exclude glob patterns', () => {
119
+ const routes: RouteSitemapData[] = [
120
+ { path: '/' },
121
+ { path: '/admin/dashboard' },
122
+ { path: '/admin/users' },
123
+ { path: '/about' },
124
+ { path: '/api/health' },
125
+ ]
126
+ const options: One.SitemapOptions = {
127
+ exclude: ['/admin/*', '/api/*'],
128
+ }
129
+
130
+ const result = generateSitemap(routes, options)
131
+
132
+ expect(result).toContain('<loc>/</loc>')
133
+ expect(result).toContain('<loc>/about</loc>')
134
+ expect(result).not.toContain('/admin')
135
+ expect(result).not.toContain('/api')
136
+ })
137
+
138
+ it('includes lastmod when provided in route export', () => {
139
+ const routes: RouteSitemapData[] = [
140
+ { path: '/', routeExport: { lastmod: '2024-01-15' } },
141
+ { path: '/about', routeExport: { lastmod: new Date('2024-06-20') } },
142
+ ]
143
+ const options: One.SitemapOptions = {}
144
+
145
+ const result = generateSitemap(routes, options)
146
+
147
+ expect(result).toContain('<lastmod>2024-01-15</lastmod>')
148
+ expect(result).toContain('<lastmod>2024-06-20</lastmod>')
149
+ })
150
+
151
+ it('escapes XML special characters in URLs', () => {
152
+ const routes: RouteSitemapData[] = [{ path: '/search?q=foo&bar=baz' }]
153
+ const options: One.SitemapOptions = {
154
+ baseUrl: 'https://example.com',
155
+ }
156
+
157
+ const result = generateSitemap(routes, options)
158
+
159
+ expect(result).toContain('&amp;')
160
+ expect(result).not.toContain('&bar')
161
+ })
162
+
163
+ it('generates empty sitemap when no routes', () => {
164
+ const routes: RouteSitemapData[] = []
165
+ const options: One.SitemapOptions = {}
166
+
167
+ const result = generateSitemap(routes, options)
168
+
169
+ expect(result).toContain('<?xml version="1.0" encoding="UTF-8"?>')
170
+ expect(result).toContain('<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">')
171
+ expect(result).toContain('</urlset>')
172
+ expect(result).not.toContain('<url>')
173
+ })
174
+
175
+ it('handles all valid changefreq values', () => {
176
+ const changefreqs: One.SitemapChangefreq[] = [
177
+ 'always',
178
+ 'hourly',
179
+ 'daily',
180
+ 'weekly',
181
+ 'monthly',
182
+ 'yearly',
183
+ 'never',
184
+ ]
185
+
186
+ for (const changefreq of changefreqs) {
187
+ const routes: RouteSitemapData[] = [{ path: '/', routeExport: { changefreq } }]
188
+ const result = generateSitemap(routes, {})
189
+ expect(result).toContain(`<changefreq>${changefreq}</changefreq>`)
190
+ }
191
+ })
192
+
193
+ it('formats priority with one decimal place', () => {
194
+ const routes: RouteSitemapData[] = [
195
+ { path: '/', routeExport: { priority: 1 } },
196
+ { path: '/about', routeExport: { priority: 0.5 } },
197
+ { path: '/blog', routeExport: { priority: 0.75 } },
198
+ ]
199
+ const options: One.SitemapOptions = {}
200
+
201
+ const result = generateSitemap(routes, options)
202
+
203
+ expect(result).toContain('<priority>1.0</priority>')
204
+ expect(result).toContain('<priority>0.5</priority>')
205
+ expect(result).toContain('<priority>0.8</priority>') // 0.75 rounds to 0.8
206
+ })
207
+ })
@@ -0,0 +1,93 @@
1
+ import MicroMatch from 'micromatch'
2
+ import type { One } from '../vite/types'
3
+
4
+ export type SitemapEntry = {
5
+ path: string
6
+ priority?: number
7
+ changefreq?: One.SitemapChangefreq
8
+ lastmod?: string | Date
9
+ }
10
+
11
+ export type RouteSitemapData = {
12
+ path: string
13
+ routeExport?: One.RouteSitemap
14
+ }
15
+
16
+ export function generateSitemap(routes: RouteSitemapData[], options: One.SitemapOptions): string {
17
+ const envUrl = process.env.ONE_SERVER_URL
18
+ const baseUrl = options.baseUrl ?? (envUrl && envUrl !== 'undefined' ? envUrl : '')
19
+ const defaultPriority = options.priority ?? 0.5
20
+ const defaultChangefreq = options.changefreq
21
+ const excludePatterns = options.exclude || []
22
+
23
+ const entries: SitemapEntry[] = []
24
+
25
+ for (const route of routes) {
26
+ const { path, routeExport } = route
27
+
28
+ // Skip if route exports exclude: true
29
+ if (routeExport?.exclude) {
30
+ continue
31
+ }
32
+
33
+ // Skip if path matches any exclude pattern
34
+ if (excludePatterns.length > 0 && MicroMatch.isMatch(path, excludePatterns)) {
35
+ continue
36
+ }
37
+
38
+ const priority = routeExport?.priority ?? defaultPriority
39
+ const changefreq = routeExport?.changefreq ?? defaultChangefreq
40
+ const lastmod = routeExport?.lastmod
41
+
42
+ entries.push({
43
+ path,
44
+ priority,
45
+ changefreq,
46
+ lastmod,
47
+ })
48
+ }
49
+
50
+ return buildSitemapXml(entries, baseUrl)
51
+ }
52
+
53
+ function buildSitemapXml(entries: SitemapEntry[], baseUrl: string): string {
54
+ const urlEntries = entries
55
+ .map((entry) => {
56
+ const loc = baseUrl ? `${baseUrl.replace(/\/$/, '')}${entry.path}` : entry.path
57
+
58
+ let xml = ` <url>\n <loc>${escapeXml(loc)}</loc>`
59
+
60
+ if (entry.lastmod) {
61
+ const date =
62
+ entry.lastmod instanceof Date ? entry.lastmod.toISOString().split('T')[0] : entry.lastmod
63
+ xml += `\n <lastmod>${escapeXml(date)}</lastmod>`
64
+ }
65
+
66
+ if (entry.changefreq) {
67
+ xml += `\n <changefreq>${entry.changefreq}</changefreq>`
68
+ }
69
+
70
+ if (entry.priority !== undefined) {
71
+ xml += `\n <priority>${entry.priority.toFixed(1)}</priority>`
72
+ }
73
+
74
+ xml += '\n </url>'
75
+ return xml
76
+ })
77
+ .join('\n')
78
+
79
+ return `<?xml version="1.0" encoding="UTF-8"?>
80
+ <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
81
+ ${urlEntries}
82
+ </urlset>
83
+ `
84
+ }
85
+
86
+ function escapeXml(str: string): string {
87
+ return str
88
+ .replace(/&/g, '&amp;')
89
+ .replace(/</g, '&lt;')
90
+ .replace(/>/g, '&gt;')
91
+ .replace(/"/g, '&quot;')
92
+ .replace(/'/g, '&apos;')
93
+ }
package/src/createApp.tsx CHANGED
@@ -1,13 +1,11 @@
1
1
  import './setup'
2
2
 
3
3
  import { cloneElement } from 'react'
4
- import ReactDOMServer from 'react-dom/server.browser'
5
4
  import { AppRegistry } from 'react-native'
6
5
  import { resolveClientLoader } from './clientLoaderResolver'
7
- import { Root } from './Root'
8
6
  import { render } from './render'
7
+ import { Root } from './Root'
9
8
  import { registerPreloadedRoute } from './router/useViteRoutes'
10
- import { renderToString } from './server-render'
11
9
  import type { RenderAppProps } from './types'
12
10
  import { getServerHeadInsertions } from './useServerHeadInsertion'
13
11
  import { ensureExists } from './utils/ensureExists'
@@ -26,6 +24,16 @@ export function createApp(options: CreateAppProps) {
26
24
  return {
27
25
  options,
28
26
  render: async (props: RenderAppProps) => {
27
+ // Dynamic imports for server-only modules to avoid bundling in client
28
+ const [ReactDOMServer, serverRender] = await Promise.all([
29
+ import('react-dom/server.browser'),
30
+ import('./server-render'),
31
+ ])
32
+
33
+ const renderToStaticMarkup =
34
+ ReactDOMServer.renderToStaticMarkup || ReactDOMServer.default?.renderToStaticMarkup
35
+ const renderToString = serverRender.renderToString
36
+
29
37
  let { loaderData, loaderProps, css, cssContents, mode, loaderServerData, routePreloads } =
30
38
  props
31
39
 
@@ -87,7 +95,7 @@ export function createApp(options: CreateAppProps) {
87
95
  }
88
96
 
89
97
  if (extraHeadElements.length) {
90
- const extraHeadHTML = ReactDOMServer.renderToStaticMarkup(
98
+ const extraHeadHTML = renderToStaticMarkup(
91
99
  <>{extraHeadElements.map((x, i) => cloneElement(x, { key: i }))}</>
92
100
  )
93
101
 
@@ -429,4 +429,32 @@ export namespace OneRouter {
429
429
  // TEMP
430
430
  export namespace One {
431
431
  export type Route<Path> = OneRouter.Route<Path>
432
+
433
+ export type SitemapChangefreq =
434
+ | 'always'
435
+ | 'hourly'
436
+ | 'daily'
437
+ | 'weekly'
438
+ | 'monthly'
439
+ | 'yearly'
440
+ | 'never'
441
+
442
+ export type RouteSitemap = {
443
+ /**
444
+ * Priority for this route (0.0 to 1.0).
445
+ */
446
+ priority?: number
447
+ /**
448
+ * Change frequency for this route.
449
+ */
450
+ changefreq?: SitemapChangefreq
451
+ /**
452
+ * Last modification date for this route.
453
+ */
454
+ lastmod?: string | Date
455
+ /**
456
+ * Exclude this route from the sitemap.
457
+ */
458
+ exclude?: boolean
459
+ }
432
460
  }