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.
- package/dist/cjs/cli/build.cjs +16 -2
- package/dist/cjs/cli/build.js +14 -3
- package/dist/cjs/cli/build.js.map +1 -1
- package/dist/cjs/cli/build.native.js +20 -5
- package/dist/cjs/cli/build.native.js.map +1 -1
- package/dist/cjs/cli/generateSitemap.cjs +86 -0
- package/dist/cjs/cli/generateSitemap.js +69 -0
- package/dist/cjs/cli/generateSitemap.js.map +6 -0
- package/dist/cjs/cli/generateSitemap.native.js +112 -0
- package/dist/cjs/cli/generateSitemap.native.js.map +1 -0
- package/dist/cjs/cli/generateSitemap.test.cjs +156 -0
- package/dist/cjs/cli/generateSitemap.test.js +103 -0
- package/dist/cjs/cli/generateSitemap.test.js.map +6 -0
- package/dist/cjs/cli/generateSitemap.test.native.js +200 -0
- package/dist/cjs/cli/generateSitemap.test.native.js.map +1 -0
- package/dist/cjs/createApp.cjs +6 -5
- package/dist/cjs/createApp.js +7 -3
- package/dist/cjs/createApp.js.map +2 -2
- package/dist/cjs/vite/one.cjs +30 -14
- package/dist/cjs/vite/one.js +30 -14
- package/dist/cjs/vite/one.js.map +1 -1
- package/dist/cjs/vite/one.native.js +30 -14
- package/dist/cjs/vite/one.native.js.map +1 -1
- package/dist/esm/cli/build.js +14 -2
- package/dist/esm/cli/build.js.map +1 -1
- package/dist/esm/cli/build.mjs +16 -2
- package/dist/esm/cli/build.mjs.map +1 -1
- package/dist/esm/cli/build.native.js +20 -5
- package/dist/esm/cli/build.native.js.map +1 -1
- package/dist/esm/cli/generateSitemap.js +45 -0
- package/dist/esm/cli/generateSitemap.js.map +6 -0
- package/dist/esm/cli/generateSitemap.mjs +52 -0
- package/dist/esm/cli/generateSitemap.mjs.map +1 -0
- package/dist/esm/cli/generateSitemap.native.js +75 -0
- package/dist/esm/cli/generateSitemap.native.js.map +1 -0
- package/dist/esm/cli/generateSitemap.test.js +104 -0
- package/dist/esm/cli/generateSitemap.test.js.map +6 -0
- package/dist/esm/cli/generateSitemap.test.mjs +157 -0
- package/dist/esm/cli/generateSitemap.test.mjs.map +1 -0
- package/dist/esm/cli/generateSitemap.test.native.js +198 -0
- package/dist/esm/cli/generateSitemap.test.native.js.map +1 -0
- package/dist/esm/createApp.js +6 -4
- package/dist/esm/createApp.js.map +1 -1
- package/dist/esm/createApp.mjs +5 -4
- package/dist/esm/createApp.mjs.map +1 -1
- package/dist/esm/vite/one.js +30 -14
- package/dist/esm/vite/one.js.map +1 -1
- package/dist/esm/vite/one.mjs +30 -14
- package/dist/esm/vite/one.mjs.map +1 -1
- package/dist/esm/vite/one.native.js +30 -14
- package/dist/esm/vite/one.native.js.map +1 -1
- package/package.json +13 -10
- package/src/cli/build.ts +31 -0
- package/src/cli/generateSitemap.test.ts +207 -0
- package/src/cli/generateSitemap.ts +93 -0
- package/src/createApp.tsx +12 -4
- package/src/interfaces/router.ts +28 -0
- package/src/vite/one.ts +28 -11
- package/src/vite/types.ts +50 -0
- package/types/cli/build.d.ts.map +1 -1
- package/types/cli/generateSitemap.d.ts +13 -0
- package/types/cli/generateSitemap.d.ts.map +1 -0
- package/types/cli/generateSitemap.test.d.ts +2 -0
- package/types/cli/generateSitemap.test.d.ts.map +1 -0
- package/types/createApp.d.ts.map +1 -1
- package/types/env.d.ts +43 -0
- package/types/interfaces/router.d.ts +19 -0
- package/types/interfaces/router.d.ts.map +1 -1
- package/types/vite/one.d.ts.map +1 -1
- package/types/vite/types.d.ts +46 -0
- 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
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
125
|
-
"@vxrn/compiler": "1.2.
|
|
126
|
-
"@vxrn/resolve": "1.2.
|
|
127
|
-
"@vxrn/tslib-lite": "1.2.
|
|
128
|
-
"@vxrn/use-isomorphic-layout-effect": "1.2.
|
|
129
|
-
"@vxrn/vite-plugin-metro": "1.2.
|
|
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.
|
|
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.
|
|
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.
|
|
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('&')
|
|
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, '&')
|
|
89
|
+
.replace(/</g, '<')
|
|
90
|
+
.replace(/>/g, '>')
|
|
91
|
+
.replace(/"/g, '"')
|
|
92
|
+
.replace(/'/g, ''')
|
|
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 =
|
|
98
|
+
const extraHeadHTML = renderToStaticMarkup(
|
|
91
99
|
<>{extraHeadElements.map((x, i) => cloneElement(x, { key: i }))}</>
|
|
92
100
|
)
|
|
93
101
|
|
package/src/interfaces/router.ts
CHANGED
|
@@ -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
|
}
|