one 1.1.470 → 1.1.472

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/Root.cjs +1 -1
  2. package/dist/cjs/Root.js +1 -1
  3. package/dist/cjs/Root.js.map +1 -1
  4. package/dist/cjs/Root.native.js +1 -1
  5. package/dist/cjs/Root.native.js.map +2 -2
  6. package/dist/cjs/render.cjs +14 -2
  7. package/dist/cjs/render.js +14 -2
  8. package/dist/cjs/render.js.map +1 -1
  9. package/dist/cjs/setup.cjs +5 -2
  10. package/dist/cjs/setup.js +4 -2
  11. package/dist/cjs/setup.js.map +1 -1
  12. package/dist/cjs/utils/redirect.js.map +1 -1
  13. package/dist/cjs/utils/redirect.native.js.map +1 -1
  14. package/dist/cjs/vercel/build/buildVercelOutputDirectory.cjs +4 -4
  15. package/dist/cjs/vercel/build/buildVercelOutputDirectory.js +4 -6
  16. package/dist/cjs/vercel/build/buildVercelOutputDirectory.js.map +1 -1
  17. package/dist/cjs/vercel/build/buildVercelOutputDirectory.native.js +4 -4
  18. package/dist/cjs/vercel/build/buildVercelOutputDirectory.native.js.map +1 -1
  19. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.cjs +1 -1
  20. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.js +1 -1
  21. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.js.map +1 -1
  22. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.native.js +1 -1
  23. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.native.js.map +1 -1
  24. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.cjs +1 -1
  25. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.js +1 -3
  26. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.js.map +1 -1
  27. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.native.js +1 -1
  28. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.native.js.map +1 -1
  29. package/dist/esm/Root.js +2 -2
  30. package/dist/esm/Root.js.map +1 -1
  31. package/dist/esm/Root.mjs +2 -2
  32. package/dist/esm/Root.mjs.map +1 -1
  33. package/dist/esm/Root.native.js +2 -2
  34. package/dist/esm/Root.native.js.map +1 -1
  35. package/dist/esm/render.js +14 -2
  36. package/dist/esm/render.js.map +1 -1
  37. package/dist/esm/render.mjs +14 -3
  38. package/dist/esm/render.mjs.map +1 -1
  39. package/dist/esm/setup.js +4 -1
  40. package/dist/esm/setup.js.map +1 -1
  41. package/dist/esm/setup.mjs +4 -1
  42. package/dist/esm/setup.mjs.map +1 -1
  43. package/dist/esm/utils/redirect.js.map +1 -1
  44. package/dist/esm/utils/redirect.mjs.map +1 -1
  45. package/dist/esm/utils/redirect.native.js.map +1 -1
  46. package/dist/esm/vercel/build/buildVercelOutputDirectory.js +4 -6
  47. package/dist/esm/vercel/build/buildVercelOutputDirectory.js.map +1 -1
  48. package/dist/esm/vercel/build/buildVercelOutputDirectory.mjs +4 -4
  49. package/dist/esm/vercel/build/buildVercelOutputDirectory.mjs.map +1 -1
  50. package/dist/esm/vercel/build/buildVercelOutputDirectory.native.js +4 -4
  51. package/dist/esm/vercel/build/buildVercelOutputDirectory.native.js.map +1 -1
  52. package/dist/esm/vercel/build/generate/createApiServerlessFunction.js +1 -1
  53. package/dist/esm/vercel/build/generate/createApiServerlessFunction.js.map +1 -1
  54. package/dist/esm/vercel/build/generate/createApiServerlessFunction.mjs +1 -1
  55. package/dist/esm/vercel/build/generate/createApiServerlessFunction.mjs.map +1 -1
  56. package/dist/esm/vercel/build/generate/createApiServerlessFunction.native.js +1 -1
  57. package/dist/esm/vercel/build/generate/createApiServerlessFunction.native.js.map +1 -1
  58. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.js +1 -3
  59. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.js.map +1 -1
  60. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.mjs +1 -1
  61. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.mjs.map +1 -1
  62. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.native.js +1 -1
  63. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.native.js.map +1 -1
  64. package/package.json +9 -9
  65. package/src/Root.tsx +4 -2
  66. package/src/render.tsx +28 -2
  67. package/src/setup.ts +6 -2
  68. package/src/utils/redirect.ts +2 -1
  69. package/src/vercel/build/buildVercelOutputDirectory.ts +4 -6
  70. package/src/vercel/build/generate/createApiServerlessFunction.ts +1 -1
  71. package/src/vercel/build/generate/createSsrServerlessFunction.ts +1 -3
  72. package/types/Root.d.ts.map +1 -1
  73. package/types/render.d.ts +1 -0
  74. package/types/render.d.ts.map +1 -1
  75. package/types/setup.d.ts.map +1 -1
  76. package/types/utils/redirect.d.ts +2 -1
  77. package/types/utils/redirect.d.ts.map +1 -1
  78. package/types/vercel/build/buildVercelOutputDirectory.d.ts.map +1 -1
  79. package/types/vercel/build/generate/createSsrServerlessFunction.d.ts.map +1 -1
package/src/render.tsx CHANGED
@@ -3,7 +3,12 @@ import { hydrateRoot, createRoot } from 'react-dom/client'
3
3
 
4
4
  globalThis['__vxrnVersion'] ||= 0
5
5
 
6
+ const listeners = new Set<Function>()
7
+ let didRender = false
8
+
6
9
  export function render(element: React.ReactNode) {
10
+ console.warn('element', element)
11
+
7
12
  if (typeof document === 'undefined') return
8
13
 
9
14
  if (globalThis['__vxrnRoot']) {
@@ -11,9 +16,15 @@ export function render(element: React.ReactNode) {
11
16
  globalThis['__vxrnRoot'].render(element)
12
17
  } else {
13
18
  startTransition(() => {
14
- const rootElement = document as any
19
+ // TODO this feels like it should be document.documentElement
20
+ // but that causes really bad issues - it will totally freeze pages that need to suspend for example
21
+ // and will log very strange things on routing
22
+ // seems like a legit react 19 bug, this fixes it, and i remember i found a reason why when i originally ran into this
23
+ // but be warned that this also blows away document.body and that can cause all sorts of issues with extensions.
24
+ const rootElement = document
25
+
15
26
  if (globalThis['__vxrnIsSPA']) {
16
- const root = createRoot(rootElement)
27
+ const root = createRoot(rootElement as any)
17
28
  globalThis['__vxrnRoot'] = root
18
29
  root.render(element)
19
30
  } else {
@@ -36,4 +47,19 @@ export function render(element: React.ReactNode) {
36
47
  }
37
48
  })
38
49
  }
50
+
51
+ listeners.forEach((cb) => cb())
52
+ didRender = true
53
+ }
54
+
55
+ export function afterClientRender(listener: Function) {
56
+ if (didRender) {
57
+ listener()
58
+ return
59
+ }
60
+
61
+ listeners.add(listener)
62
+ return () => {
63
+ listeners.delete(listener)
64
+ }
39
65
  }
package/src/setup.ts CHANGED
@@ -1,7 +1,11 @@
1
+ import { afterClientRender } from './render'
2
+
1
3
  if (process.env.ONE_ENABLE_REACT_SCAN) {
2
- // @ts-expect-error
4
+ // @ts-ignore (react-scan can be undefined or not depending on if the monorepo uses it)
3
5
  import('react-scan').then(({ scan }) => {
4
- scan(JSON.parse(`${process.env.ONE_ENABLE_REACT_SCAN}`))
6
+ afterClientRender(() => {
7
+ scan(JSON.parse(`${process.env.ONE_ENABLE_REACT_SCAN}`))
8
+ })
5
9
  })
6
10
  }
7
11
 
@@ -1,7 +1,8 @@
1
+ import type { OneRouter } from '../interfaces/router'
1
2
  import { getURL } from '../getURL'
2
3
  import { router } from '../router/imperative-api'
3
4
 
4
- export const redirect = (path: string, status?: number) => {
5
+ export const redirect = (path: OneRouter.Href & string, status?: number) => {
5
6
  if (process.env.VITE_ENVIRONMENT === 'client') {
6
7
  router.navigate(path)
7
8
  return
@@ -61,7 +61,7 @@ export const buildVercelOutputDirectory = async ({
61
61
  }
62
62
  }
63
63
 
64
- const vercelOutputFunctionsDir = join(oneOptionsRoot, 'dist', `.vercel/output/functions`)
64
+ const vercelOutputFunctionsDir = join(oneOptionsRoot, '.vercel/output/functions')
65
65
  await ensureDir(vercelOutputFunctionsDir)
66
66
 
67
67
  for (const route of buildInfoForWriting.manifest.pageRoutes) {
@@ -92,7 +92,7 @@ export const buildVercelOutputDirectory = async ({
92
92
  const distMiddlewareDir = resolve(join(oneOptionsRoot, 'dist', 'middlewares'))
93
93
  if (existsSync(distMiddlewareDir)) {
94
94
  const vercelMiddlewareDir = resolve(
95
- join(oneOptionsRoot, 'dist', '.vercel/output/functions/_middleware')
95
+ join(oneOptionsRoot, '.vercel/output/functions/_middleware')
96
96
  )
97
97
  await ensureDir(vercelMiddlewareDir)
98
98
  postBuildLogs.push(
@@ -114,7 +114,7 @@ export const buildVercelOutputDirectory = async ({
114
114
  })
115
115
  }
116
116
 
117
- const vercelOutputStaticDir = resolve(join(oneOptionsRoot, 'dist', '.vercel/output/static'))
117
+ const vercelOutputStaticDir = resolve(join(oneOptionsRoot, '.vercel/output/static'))
118
118
  await ensureDir(vercelOutputStaticDir)
119
119
 
120
120
  postBuildLogs.push(
@@ -124,9 +124,7 @@ export const buildVercelOutputDirectory = async ({
124
124
 
125
125
  // Documentation - Vercel Build Output v3 config.json
126
126
  // https://vercel.com/docs/build-output-api/v3/configuration#config.json-supported-properties
127
- const vercelConfigFilePath = resolve(
128
- join(oneOptionsRoot, 'dist', '.vercel/output', 'config.json')
129
- )
127
+ const vercelConfigFilePath = resolve(join(oneOptionsRoot, '.vercel/output', 'config.json'))
130
128
  await writeJSON(vercelConfigFilePath, vercelBuildOutputConfig)
131
129
  postBuildLogs.push(`[one.build] wrote vercel config to: ${vercelConfigFilePath}`)
132
130
  }
@@ -16,7 +16,7 @@ export async function createApiServerlessFunction(
16
16
  try {
17
17
  postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] pageName: ${pageName}`)
18
18
 
19
- const funcFolder = join(oneOptionsRoot, 'dist', `.vercel/output/functions/${pageName}.func`)
19
+ const funcFolder = join(oneOptionsRoot, `.vercel/output/functions/${pageName}.func`)
20
20
  await fs.ensureDir(funcFolder)
21
21
 
22
22
  if (code.includes('react')) {
@@ -16,9 +16,7 @@ export async function createSsrServerlessFunction(
16
16
  postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] pageName: ${pageName}`)
17
17
 
18
18
  const buildInfoAsString = JSON.stringify(buildInfo)
19
- const funcFolder = resolve(
20
- join(oneOptionsRoot, 'dist', `.vercel/output/functions/${pageName}.func`)
21
- )
19
+ const funcFolder = resolve(join(oneOptionsRoot, `.vercel/output/functions/${pageName}.func`))
22
20
  await fs.ensureDir(funcFolder)
23
21
 
24
22
  const distServerFrom = resolve(join(oneOptionsRoot, 'dist', 'server'))
@@ -1 +1 @@
1
- {"version":3,"file":"Root.d.ts","sourceRoot":"","sources":["../src/Root.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,wBAAwB,EAC9B,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAOL,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAOd,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAKlD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAEvC,KAAK,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG;IAC7C,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,EAAE,mBAAmB,CAAA;IAC3B,YAAY,CAAC,EAAE,GAAG,CAAC,YAAY,CAAA;CAChC,CAAA;AAED,KAAK,UAAU,GAAG;IAChB,OAAO,EAAE,GAAG,CAAC,YAAY,CAAA;IACzB,QAAQ,CAAC,EAAE,GAAG,CAAA;IACd,OAAO,CAAC,EAAE,iBAAiB,CAAC;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE,CAAC,CAAA;IACpD,wBAAwB,CAAC,EAAE,wBAAwB,GAAG;QACpD,KAAK,CAAC,EAAE;YACN,IAAI,EAAE,OAAO,CAAA;YACb,MAAM,EAAE;gBACN,OAAO,EAAE,MAAM,CAAA;gBACf,UAAU,EAAE,MAAM,CAAA;gBAClB,IAAI,EAAE,MAAM,CAAA;gBACZ,IAAI,EAAE,MAAM,CAAA;gBACZ,MAAM,EAAE,MAAM,CAAA;gBACd,YAAY,EAAE,MAAM,CAAA;aACrB,CAAA;SACF,CAAA;KACF,CAAA;CACF,CAAA;AAOD,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,kDAwFpC"}
1
+ {"version":3,"file":"Root.d.ts","sourceRoot":"","sources":["../src/Root.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,wBAAwB,EAC9B,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAQL,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAOd,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAKlD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAEvC,KAAK,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG;IAC7C,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,EAAE,mBAAmB,CAAA;IAC3B,YAAY,CAAC,EAAE,GAAG,CAAC,YAAY,CAAA;CAChC,CAAA;AAED,KAAK,UAAU,GAAG;IAChB,OAAO,EAAE,GAAG,CAAC,YAAY,CAAA;IACzB,QAAQ,CAAC,EAAE,GAAG,CAAA;IACd,OAAO,CAAC,EAAE,iBAAiB,CAAC;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE,CAAC,CAAA;IACpD,wBAAwB,CAAC,EAAE,wBAAwB,GAAG;QACpD,KAAK,CAAC,EAAE;YACN,IAAI,EAAE,OAAO,CAAA;YACb,MAAM,EAAE;gBACN,OAAO,EAAE,MAAM,CAAA;gBACf,UAAU,EAAE,MAAM,CAAA;gBAClB,IAAI,EAAE,MAAM,CAAA;gBACZ,IAAI,EAAE,MAAM,CAAA;gBACZ,MAAM,EAAE,MAAM,CAAA;gBACd,YAAY,EAAE,MAAM,CAAA;aACrB,CAAA;SACF,CAAA;KACF,CAAA;CACF,CAAA;AAOD,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,kDAyFpC"}
package/types/render.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export declare function render(element: React.ReactNode): void;
2
+ export declare function afterClientRender(listener: Function): (() => void) | undefined;
2
3
  //# sourceMappingURL=render.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.tsx"],"names":[],"mappings":"AAKA,wBAAgB,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,QAiC9C"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.tsx"],"names":[],"mappings":"AAQA,wBAAgB,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,QAsC9C;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,4BAUnD"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAUA,OAAO,wCAAwC,CAAA"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAcA,OAAO,wCAAwC,CAAA"}
@@ -1,2 +1,3 @@
1
- export declare const redirect: (path: string, status?: number) => Response | undefined;
1
+ import type { OneRouter } from '../interfaces/router';
2
+ export declare const redirect: (path: OneRouter.Href & string, status?: number) => Response | undefined;
2
3
  //# sourceMappingURL=redirect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"redirect.d.ts","sourceRoot":"","sources":["../../src/utils/redirect.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,QAAQ,SAAU,MAAM,WAAW,MAAM,yBAOrD,CAAA"}
1
+ {"version":3,"file":"redirect.d.ts","sourceRoot":"","sources":["../../src/utils/redirect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAIrD,eAAO,MAAM,QAAQ,SAAU,SAAS,CAAC,IAAI,GAAG,MAAM,WAAW,MAAM,yBAOtE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"buildVercelOutputDirectory.d.ts","sourceRoot":"","sources":["../../../src/vercel/build/buildVercelOutputDirectory.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAS1C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAY3C,eAAO,MAAM,0BAA0B,kFAMpC;IACD,SAAS,EAAE,YAAY,GAAG,IAAI,CAAA;IAC9B,mBAAmB,EAAE,GAAG,CAAC,SAAS,CAAA;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,EAAE,CAAA;CACxB,kBA+FA,CAAA"}
1
+ {"version":3,"file":"buildVercelOutputDirectory.d.ts","sourceRoot":"","sources":["../../../src/vercel/build/buildVercelOutputDirectory.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAS1C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAY3C,eAAO,MAAM,0BAA0B,kFAMpC;IACD,SAAS,EAAE,YAAY,GAAG,IAAI,CAAA;IAC9B,mBAAmB,EAAE,GAAG,CAAC,SAAS,CAAA;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,EAAE,CAAA;CACxB,kBA6FA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"createSsrServerlessFunction.d.ts","sourceRoot":"","sources":["../../../../src/vercel/build/generate/createSsrServerlessFunction.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAI9C,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,GAAG,CAAC,SAAS,EACxB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EAAE,iBA+FxB"}
1
+ {"version":3,"file":"createSsrServerlessFunction.d.ts","sourceRoot":"","sources":["../../../../src/vercel/build/generate/createSsrServerlessFunction.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAI9C,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,GAAG,CAAC,SAAS,EACxB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EAAE,iBA6FxB"}