one 1.6.17 → 1.6.19

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 (140) hide show
  1. package/dist/cjs/babel-plugins/environment-guard.cjs +51 -0
  2. package/dist/cjs/babel-plugins/environment-guard.js +53 -0
  3. package/dist/cjs/babel-plugins/environment-guard.js.map +6 -0
  4. package/dist/cjs/babel-plugins/environment-guard.native.js +54 -0
  5. package/dist/cjs/babel-plugins/environment-guard.native.js.map +1 -0
  6. package/dist/cjs/cli/daemon.cjs +7 -1
  7. package/dist/cjs/cli/daemon.js +10 -1
  8. package/dist/cjs/cli/daemon.js.map +1 -1
  9. package/dist/cjs/cli/daemon.native.js +11 -1
  10. package/dist/cjs/cli/daemon.native.js.map +1 -1
  11. package/dist/cjs/createAPIRoute.cjs +28 -0
  12. package/dist/cjs/createAPIRoute.js +23 -0
  13. package/dist/cjs/createAPIRoute.js.map +6 -0
  14. package/dist/cjs/createAPIRoute.native.js +31 -0
  15. package/dist/cjs/createAPIRoute.native.js.map +1 -0
  16. package/dist/cjs/daemon/server.cjs +38 -2
  17. package/dist/cjs/daemon/server.js +28 -2
  18. package/dist/cjs/daemon/server.js.map +1 -1
  19. package/dist/cjs/daemon/server.native.js +59 -6
  20. package/dist/cjs/daemon/server.native.js.map +1 -1
  21. package/dist/cjs/index.cjs +2 -0
  22. package/dist/cjs/index.js +2 -1
  23. package/dist/cjs/index.js.map +1 -1
  24. package/dist/cjs/index.native.js +2 -0
  25. package/dist/cjs/index.native.js.map +1 -1
  26. package/dist/cjs/metro-config/getViteMetroPluginOptions.cjs +2 -0
  27. package/dist/cjs/metro-config/getViteMetroPluginOptions.js +2 -0
  28. package/dist/cjs/metro-config/getViteMetroPluginOptions.js.map +1 -1
  29. package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js +2 -0
  30. package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
  31. package/dist/cjs/vite/one.cjs +3 -2
  32. package/dist/cjs/vite/one.js +2 -1
  33. package/dist/cjs/vite/one.js.map +1 -1
  34. package/dist/cjs/vite/one.native.js +3 -2
  35. package/dist/cjs/vite/one.native.js.map +1 -1
  36. package/dist/cjs/vite/plugins/environmentGuardPlugin.cjs +61 -0
  37. package/dist/cjs/vite/plugins/environmentGuardPlugin.js +57 -0
  38. package/dist/cjs/vite/plugins/environmentGuardPlugin.js.map +6 -0
  39. package/dist/cjs/vite/plugins/environmentGuardPlugin.native.js +65 -0
  40. package/dist/cjs/vite/plugins/environmentGuardPlugin.native.js.map +1 -0
  41. package/dist/cjs/vite/plugins/environmentGuardPlugin.test.cjs +73 -0
  42. package/dist/cjs/vite/plugins/environmentGuardPlugin.test.js +73 -0
  43. package/dist/cjs/vite/plugins/environmentGuardPlugin.test.js.map +6 -0
  44. package/dist/cjs/vite/plugins/environmentGuardPlugin.test.native.js +76 -0
  45. package/dist/cjs/vite/plugins/environmentGuardPlugin.test.native.js.map +1 -0
  46. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.cjs +13 -1
  47. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js +13 -5
  48. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js.map +2 -2
  49. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +14 -1
  50. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  51. package/dist/esm/babel-plugins/environment-guard.js +29 -0
  52. package/dist/esm/babel-plugins/environment-guard.js.map +6 -0
  53. package/dist/esm/babel-plugins/environment-guard.mjs +17 -0
  54. package/dist/esm/babel-plugins/environment-guard.mjs.map +1 -0
  55. package/dist/esm/babel-plugins/environment-guard.native.js +17 -0
  56. package/dist/esm/babel-plugins/environment-guard.native.js.map +1 -0
  57. package/dist/esm/cli/daemon.js +10 -1
  58. package/dist/esm/cli/daemon.js.map +1 -1
  59. package/dist/esm/cli/daemon.mjs +7 -1
  60. package/dist/esm/cli/daemon.mjs.map +1 -1
  61. package/dist/esm/cli/daemon.native.js +11 -1
  62. package/dist/esm/cli/daemon.native.js.map +1 -1
  63. package/dist/esm/createAPIRoute.js +7 -0
  64. package/dist/esm/createAPIRoute.js.map +6 -0
  65. package/dist/esm/createAPIRoute.mjs +5 -0
  66. package/dist/esm/createAPIRoute.mjs.map +1 -0
  67. package/dist/esm/createAPIRoute.native.js +5 -0
  68. package/dist/esm/createAPIRoute.native.js.map +1 -0
  69. package/dist/esm/daemon/server.js +29 -2
  70. package/dist/esm/daemon/server.js.map +1 -1
  71. package/dist/esm/daemon/server.mjs +39 -3
  72. package/dist/esm/daemon/server.mjs.map +1 -1
  73. package/dist/esm/daemon/server.native.js +60 -7
  74. package/dist/esm/daemon/server.native.js.map +1 -1
  75. package/dist/esm/index.js +2 -0
  76. package/dist/esm/index.js.map +1 -1
  77. package/dist/esm/index.mjs +2 -1
  78. package/dist/esm/index.mjs.map +1 -1
  79. package/dist/esm/index.native.js +2 -1
  80. package/dist/esm/index.native.js.map +1 -1
  81. package/dist/esm/metro-config/getViteMetroPluginOptions.js +2 -0
  82. package/dist/esm/metro-config/getViteMetroPluginOptions.js.map +1 -1
  83. package/dist/esm/metro-config/getViteMetroPluginOptions.mjs +2 -0
  84. package/dist/esm/metro-config/getViteMetroPluginOptions.mjs.map +1 -1
  85. package/dist/esm/metro-config/getViteMetroPluginOptions.native.js +2 -0
  86. package/dist/esm/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
  87. package/dist/esm/vite/one.js +2 -0
  88. package/dist/esm/vite/one.js.map +1 -1
  89. package/dist/esm/vite/one.mjs +2 -1
  90. package/dist/esm/vite/one.mjs.map +1 -1
  91. package/dist/esm/vite/one.native.js +2 -1
  92. package/dist/esm/vite/one.native.js.map +1 -1
  93. package/dist/esm/vite/plugins/environmentGuardPlugin.js +41 -0
  94. package/dist/esm/vite/plugins/environmentGuardPlugin.js.map +6 -0
  95. package/dist/esm/vite/plugins/environmentGuardPlugin.mjs +36 -0
  96. package/dist/esm/vite/plugins/environmentGuardPlugin.mjs.map +1 -0
  97. package/dist/esm/vite/plugins/environmentGuardPlugin.native.js +37 -0
  98. package/dist/esm/vite/plugins/environmentGuardPlugin.native.js.map +1 -0
  99. package/dist/esm/vite/plugins/environmentGuardPlugin.test.js +74 -0
  100. package/dist/esm/vite/plugins/environmentGuardPlugin.test.js.map +6 -0
  101. package/dist/esm/vite/plugins/environmentGuardPlugin.test.mjs +74 -0
  102. package/dist/esm/vite/plugins/environmentGuardPlugin.test.mjs.map +1 -0
  103. package/dist/esm/vite/plugins/environmentGuardPlugin.test.native.js +74 -0
  104. package/dist/esm/vite/plugins/environmentGuardPlugin.test.native.js.map +1 -0
  105. package/dist/esm/vite/plugins/fileSystemRouterPlugin.js +13 -4
  106. package/dist/esm/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
  107. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs +13 -1
  108. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
  109. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +14 -1
  110. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  111. package/env.d.ts +6 -0
  112. package/package.json +16 -11
  113. package/src/babel-plugins/environment-guard.ts +50 -0
  114. package/src/cli/daemon.ts +19 -0
  115. package/src/createAPIRoute.ts +30 -0
  116. package/src/daemon/server.ts +56 -0
  117. package/src/index.ts +2 -0
  118. package/src/metro-config/getViteMetroPluginOptions.ts +2 -0
  119. package/src/vite/one.ts +3 -0
  120. package/src/vite/plugins/environmentGuardPlugin.test.ts +125 -0
  121. package/src/vite/plugins/environmentGuardPlugin.ts +92 -0
  122. package/src/vite/plugins/fileSystemRouterPlugin.tsx +19 -5
  123. package/src/vite/types.ts +7 -1
  124. package/types/babel-plugins/environment-guard.d.ts +11 -0
  125. package/types/babel-plugins/environment-guard.d.ts.map +1 -0
  126. package/types/cli/daemon.d.ts.map +1 -1
  127. package/types/createAPIRoute.d.ts +22 -0
  128. package/types/createAPIRoute.d.ts.map +1 -0
  129. package/types/daemon/server.d.ts.map +1 -1
  130. package/types/index.d.ts +1 -0
  131. package/types/index.d.ts.map +1 -1
  132. package/types/metro-config/getViteMetroPluginOptions.d.ts.map +1 -1
  133. package/types/vite/one.d.ts.map +1 -1
  134. package/types/vite/plugins/environmentGuardPlugin.d.ts +27 -0
  135. package/types/vite/plugins/environmentGuardPlugin.d.ts.map +1 -0
  136. package/types/vite/plugins/environmentGuardPlugin.test.d.ts +2 -0
  137. package/types/vite/plugins/environmentGuardPlugin.test.d.ts.map +1 -0
  138. package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
  139. package/types/vite/types.d.ts +7 -1
  140. package/types/vite/types.d.ts.map +1 -1
@@ -0,0 +1,125 @@
1
+ import { describe, expect, it } from 'vitest'
2
+ import { resolveEnvironmentGuard, loadEnvironmentGuard } from './environmentGuardPlugin'
3
+
4
+ describe('environmentGuardPlugin', () => {
5
+ describe('resolveEnvironmentGuard', () => {
6
+ it('returns null for non-guard specifiers', () => {
7
+ expect(resolveEnvironmentGuard('react', 'client')).toBeNull()
8
+ expect(resolveEnvironmentGuard('vite', 'ssr')).toBeNull()
9
+ expect(resolveEnvironmentGuard('some-other-pkg', 'ios')).toBeNull()
10
+ })
11
+
12
+ it('returns virtual id for server-only', () => {
13
+ const id = resolveEnvironmentGuard('server-only', 'ssr')
14
+ expect(id).toBe('\0one-env-guard:server-only:ssr')
15
+ })
16
+
17
+ it('returns virtual id for client-only', () => {
18
+ const id = resolveEnvironmentGuard('client-only', 'client')
19
+ expect(id).toBe('\0one-env-guard:client-only:client')
20
+ })
21
+
22
+ it('returns virtual id for native-only', () => {
23
+ const id = resolveEnvironmentGuard('native-only', 'ios')
24
+ expect(id).toBe('\0one-env-guard:native-only:ios')
25
+ })
26
+
27
+ it('returns virtual id for web-only', () => {
28
+ const id = resolveEnvironmentGuard('web-only', 'client')
29
+ expect(id).toBe('\0one-env-guard:web-only:client')
30
+ })
31
+ })
32
+
33
+ describe('loadEnvironmentGuard', () => {
34
+ it('returns null for non-virtual ids', () => {
35
+ expect(loadEnvironmentGuard('react')).toBeNull()
36
+ expect(loadEnvironmentGuard('/some/path.ts')).toBeNull()
37
+ })
38
+
39
+ // server-only: allowed in ssr, forbidden in client/ios/android
40
+ it('server-only: allowed in ssr', () => {
41
+ const result = loadEnvironmentGuard('\0one-env-guard:server-only:ssr')
42
+ expect(result).toBe('export {}')
43
+ })
44
+
45
+ it('server-only: forbidden in client', () => {
46
+ const result = loadEnvironmentGuard('\0one-env-guard:server-only:client')
47
+ expect(result).toContain('throw new Error')
48
+ expect(result).toContain('server-only')
49
+ expect(result).toContain('client')
50
+ })
51
+
52
+ it('server-only: forbidden in ios', () => {
53
+ const result = loadEnvironmentGuard('\0one-env-guard:server-only:ios')
54
+ expect(result).toContain('throw new Error')
55
+ })
56
+
57
+ it('server-only: forbidden in android', () => {
58
+ const result = loadEnvironmentGuard('\0one-env-guard:server-only:android')
59
+ expect(result).toContain('throw new Error')
60
+ })
61
+
62
+ // client-only: allowed in client, forbidden in ssr/ios/android
63
+ it('client-only: allowed in client', () => {
64
+ const result = loadEnvironmentGuard('\0one-env-guard:client-only:client')
65
+ expect(result).toBe('export {}')
66
+ })
67
+
68
+ it('client-only: forbidden in ssr', () => {
69
+ const result = loadEnvironmentGuard('\0one-env-guard:client-only:ssr')
70
+ expect(result).toContain('throw new Error')
71
+ })
72
+
73
+ it('client-only: forbidden in ios', () => {
74
+ const result = loadEnvironmentGuard('\0one-env-guard:client-only:ios')
75
+ expect(result).toContain('throw new Error')
76
+ })
77
+
78
+ it('client-only: forbidden in android', () => {
79
+ const result = loadEnvironmentGuard('\0one-env-guard:client-only:android')
80
+ expect(result).toContain('throw new Error')
81
+ })
82
+
83
+ // native-only: allowed in ios/android, forbidden in client/ssr
84
+ it('native-only: allowed in ios', () => {
85
+ const result = loadEnvironmentGuard('\0one-env-guard:native-only:ios')
86
+ expect(result).toBe('export {}')
87
+ })
88
+
89
+ it('native-only: allowed in android', () => {
90
+ const result = loadEnvironmentGuard('\0one-env-guard:native-only:android')
91
+ expect(result).toBe('export {}')
92
+ })
93
+
94
+ it('native-only: forbidden in client', () => {
95
+ const result = loadEnvironmentGuard('\0one-env-guard:native-only:client')
96
+ expect(result).toContain('throw new Error')
97
+ })
98
+
99
+ it('native-only: forbidden in ssr', () => {
100
+ const result = loadEnvironmentGuard('\0one-env-guard:native-only:ssr')
101
+ expect(result).toContain('throw new Error')
102
+ })
103
+
104
+ // web-only: allowed in client/ssr, forbidden in ios/android
105
+ it('web-only: allowed in client', () => {
106
+ const result = loadEnvironmentGuard('\0one-env-guard:web-only:client')
107
+ expect(result).toBe('export {}')
108
+ })
109
+
110
+ it('web-only: allowed in ssr', () => {
111
+ const result = loadEnvironmentGuard('\0one-env-guard:web-only:ssr')
112
+ expect(result).toBe('export {}')
113
+ })
114
+
115
+ it('web-only: forbidden in ios', () => {
116
+ const result = loadEnvironmentGuard('\0one-env-guard:web-only:ios')
117
+ expect(result).toContain('throw new Error')
118
+ })
119
+
120
+ it('web-only: forbidden in android', () => {
121
+ const result = loadEnvironmentGuard('\0one-env-guard:web-only:android')
122
+ expect(result).toContain('throw new Error')
123
+ })
124
+ })
125
+ })
@@ -0,0 +1,92 @@
1
+ /**
2
+ * vite plugin that enforces environment guard imports.
3
+ *
4
+ * bare imports like `import 'server-only'` will either be a no-op (allowed)
5
+ * or throw at build/dev time (forbidden) depending on which vite environment
6
+ * is processing the module.
7
+ *
8
+ * | import | allowed in | throws in |
9
+ * |-----------------|------------------|----------------------------|
10
+ * | server-only | ssr | client, ios, android |
11
+ * | client-only | client | ssr, ios, android |
12
+ * | native-only | ios, android | client, ssr |
13
+ * | web-only | client, ssr | ios, android |
14
+ */
15
+
16
+ import type { Plugin } from 'vite'
17
+
18
+ const VIRTUAL_PREFIX = '\0one-env-guard:'
19
+
20
+ const GUARD_SPECIFIERS = [
21
+ 'server-only',
22
+ 'client-only',
23
+ 'native-only',
24
+ 'web-only',
25
+ ] as const
26
+
27
+ type GuardSpecifier = (typeof GUARD_SPECIFIERS)[number]
28
+ type ViteEnvironment = 'client' | 'ssr' | 'ios' | 'android'
29
+
30
+ const ALLOWED_ENVIRONMENTS: Record<GuardSpecifier, readonly ViteEnvironment[]> = {
31
+ 'server-only': ['ssr'],
32
+ 'client-only': ['client'],
33
+ 'native-only': ['ios', 'android'],
34
+ 'web-only': ['client', 'ssr'],
35
+ }
36
+
37
+ /**
38
+ * returns a virtual module id if the specifier is a guard, otherwise null.
39
+ * pure function extracted for testing.
40
+ */
41
+ export function resolveEnvironmentGuard(
42
+ specifier: string,
43
+ envName: string
44
+ ): string | null {
45
+ if (!GUARD_SPECIFIERS.includes(specifier as GuardSpecifier)) {
46
+ return null
47
+ }
48
+ return `${VIRTUAL_PREFIX}${specifier}:${envName}`
49
+ }
50
+
51
+ /**
52
+ * returns the module source for a virtual guard id.
53
+ * pure function extracted for testing.
54
+ */
55
+ export function loadEnvironmentGuard(id: string): string | null {
56
+ if (!id.startsWith(VIRTUAL_PREFIX)) {
57
+ return null
58
+ }
59
+
60
+ const rest = id.slice(VIRTUAL_PREFIX.length)
61
+ const lastColon = rest.lastIndexOf(':')
62
+ if (lastColon === -1) return null
63
+
64
+ const specifier = rest.slice(0, lastColon) as GuardSpecifier
65
+ const envName = rest.slice(lastColon + 1) as ViteEnvironment
66
+
67
+ const allowed = ALLOWED_ENVIRONMENTS[specifier]
68
+ if (!allowed) return null
69
+
70
+ if (allowed.includes(envName)) {
71
+ return 'export {}'
72
+ }
73
+
74
+ return `throw new Error("${specifier} cannot be imported in the \\"${envName}\\" environment")`
75
+ }
76
+
77
+ export function environmentGuardPlugin(): Plugin {
78
+ return {
79
+ name: 'one:environment-guard',
80
+ enforce: 'pre',
81
+
82
+ resolveId(source) {
83
+ const envName = this.environment?.name
84
+ if (!envName) return null
85
+ return resolveEnvironmentGuard(source, envName)
86
+ },
87
+
88
+ load(id) {
89
+ return loadEnvironmentGuard(id)
90
+ },
91
+ }
92
+ }
@@ -1,6 +1,7 @@
1
1
  import path from 'node:path'
2
2
  import { Readable } from 'node:stream'
3
3
  import { debounce } from 'perfect-debounce'
4
+ import colors from 'picocolors'
4
5
  import type { Connect, Plugin, ViteDevServer } from 'vite'
5
6
  import { createServerModuleRunner } from 'vite'
6
7
  import type { ModuleRunner } from 'vite/module-runner'
@@ -23,6 +24,13 @@ import { virtalEntryIdClient, virtualEntryId } from './virtualEntryConstants'
23
24
  const debugRouter = process.env.ONE_DEBUG_ROUTER
24
25
  const debugLoaderDeps = process.env.ONE_DEBUG_LOADER_DEPS
25
26
 
27
+ const routeTypeColors: Record<string, (s: string) => string> = {
28
+ ssg: colors.green,
29
+ ssr: colors.blue,
30
+ spa: colors.yellow,
31
+ api: colors.magenta,
32
+ }
33
+
26
34
  // server needs better dep optimization
27
35
  const USE_SERVER_ENV = false //!!process.env.USE_SERVER_ENV
28
36
 
@@ -45,11 +53,17 @@ export function createFileSystemRouterPlugin(options: One.PluginOptions): Plugin
45
53
  return createHandleRequest(
46
54
  {
47
55
  async handlePage({ route, url, loaderProps }) {
48
- console.info(
49
- ` [${route.type}] ${url} resolved to ${
50
- route.isNotFound ? '‼️ 404 not found' : `app/${route.file.slice(2)}`
51
- }`
52
- )
56
+ if (options.server?.loggingEnabled !== false) {
57
+ const colorType = routeTypeColors[route.type] || colors.white
58
+ const pathname =
59
+ typeof url === 'string' ? new URL(url).pathname : url.pathname
60
+ const file = route.isNotFound
61
+ ? colors.red('404')
62
+ : colors.dim(`app/${route.file.slice(2)}`)
63
+ console.info(
64
+ ` ⓵ ${colorType(`[${route.type}]`)} ${pathname} ${colors.dim('→')} ${file}`
65
+ )
66
+ }
53
67
 
54
68
  const isSpaShell = route.type === 'spa' && !!options.web?.renderRootLayout
55
69
 
package/src/vite/types.ts CHANGED
@@ -436,7 +436,13 @@ export namespace One {
436
436
  seoPreview?: boolean
437
437
  }
438
438
 
439
- server?: VXRNOptions['server']
439
+ server?: VXRNOptions['server'] & {
440
+ /**
441
+ * Log HTTP requests to the console
442
+ * @default true
443
+ */
444
+ loggingEnabled?: boolean
445
+ }
440
446
 
441
447
  /**
442
448
  * Skip loading .env files during build
@@ -0,0 +1,11 @@
1
+ /**
2
+ * babel plugin for native (metro) builds that enforces environment guard imports.
3
+ *
4
+ * in native builds, `native-only` imports are allowed (removed as no-ops),
5
+ * while `server-only`, `client-only`, and `web-only` imports are replaced
6
+ * with a throw statement.
7
+ */
8
+ import type { PluginObj } from '@babel/core';
9
+ declare function environmentGuardBabelPlugin(_: unknown): PluginObj;
10
+ export default environmentGuardBabelPlugin;
11
+ //# sourceMappingURL=environment-guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment-guard.d.ts","sourceRoot":"","sources":["../../src/babel-plugins/environment-guard.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAe5C,iBAAS,2BAA2B,CAAC,CAAC,EAAE,OAAO,GAAG,SAAS,CAwB1D;AAED,eAAe,2BAA2B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/cli/daemon.ts"],"names":[],"mappings":"AAKA,wBAAsB,MAAM,CAAC,IAAI,EAAE;IACjC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,OAAO,CAAA;CACd,iBAsBA;AAkGD,wBAAsB,YAAY,CAAC,QAAQ,EAAE,KAAK,GAAG,SAAS,iBA6C7D"}
1
+ {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/cli/daemon.ts"],"names":[],"mappings":"AAKA,wBAAsB,MAAM,CAAC,IAAI,EAAE;IACjC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,OAAO,CAAA;CACd,iBAsBA;AAqGD,wBAAsB,YAAY,CAAC,QAAQ,EAAE,KAAK,GAAG,SAAS,iBA6C7D"}
@@ -0,0 +1,22 @@
1
+ import type { OneRouter } from './interfaces/router';
2
+ type MaybePromise<T> = T | Promise<T>;
3
+ type APIRouteHandler<Params extends Record<string, string> = Record<string, string>> = (request: Request, context: {
4
+ params: Params;
5
+ }) => MaybePromise<Response>;
6
+ /**
7
+ * Type helper for API route handlers with typed params.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * // app/api/users/[id]+api.ts
12
+ * import { createAPIRoute } from 'one'
13
+ *
14
+ * export const GET = createAPIRoute<'/api/users/[id]'>((request, { params }) => {
15
+ * // params.id is typed as string
16
+ * return Response.json({ id: params.id })
17
+ * })
18
+ * ```
19
+ */
20
+ export declare function createAPIRoute<Path extends string = string>(handler: APIRouteHandler<OneRouter.RouteType<Path>['Params']>): APIRouteHandler<OneRouter.RouteType<Path>["Params"]>;
21
+ export type { APIRouteHandler };
22
+ //# sourceMappingURL=createAPIRoute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createAPIRoute.d.ts","sourceRoot":"","sources":["../src/createAPIRoute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;AAErC,KAAK,eAAe,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CACrF,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,KACxB,YAAY,CAAC,QAAQ,CAAC,CAAA;AAE3B;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,EACzD,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,wDAG9D;AAED,YAAY,EAAE,eAAe,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/daemon/server.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AA6GjC,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,QAKxE;AAGD,wBAAgB,yBAAyB,CAAC,aAAa,EAAE,MAAM,QAS9D;AAGD,wBAAgB,gBAAgB,SAI/B;AAGD,wBAAgB,oBAAoB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAQ1D;AAGD,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,QAU1E;AAyHD,OAAO,KAAK,EAAE,WAAW,EAAsB,MAAM,SAAS,CAAA;AAoB9D,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAKD,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,KAAK,GAAG,IAAI,QAE9D;AA2ID,wBAAsB,WAAW,CAAC,OAAO,GAAE,aAAkB;;;;;;GA8L5D"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/daemon/server.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AA6GjC,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,QAKxE;AAGD,wBAAgB,yBAAyB,CAAC,aAAa,EAAE,MAAM,QAS9D;AAGD,wBAAgB,gBAAgB,SAI/B;AAGD,wBAAgB,oBAAoB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAQ1D;AAGD,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,QAU1E;AAyHD,OAAO,KAAK,EAAE,WAAW,EAAsB,MAAM,SAAS,CAAA;AAqB9D,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAKD,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,KAAK,GAAG,IAAI,QAE9D;AA2ID,wBAAsB,WAAW,CAAC,OAAO,GAAE,aAAkB;;;;;;GA8L5D"}
package/types/index.d.ts CHANGED
@@ -37,6 +37,7 @@ export * from '@vxrn/color-scheme';
37
37
  export { SafeAreaView, useSafeAreaInsets } from 'react-native-safe-area-context';
38
38
  export { onClientLoaderResolve } from './clientLoaderResolver';
39
39
  export { createMiddleware, type Middleware } from './createMiddleware';
40
+ export { createAPIRoute, type APIRouteHandler } from './createAPIRoute';
40
41
  export { getURL } from './getURL';
41
42
  export { Head } from './head';
42
43
  export { useActiveParams, useGlobalSearchParams, useLocalSearchParams, useNavigationContainerRef, useParams, usePathname, useRootNavigationState, useRouter, useSearchParams, useSegments, useUnstableGlobalHref, } from './hooks';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getViteMetroPluginOptions.d.ts","sourceRoot":"","sources":["../../src/metro-config/getViteMetroPluginOptions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAQ1D,wBAAgB,yBAAyB,CAAC,EACxC,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,0BAA0B,EAC1B,SAAS,GACV,EAAE;IACD,WAAW,EAAE,MAAM,CAAA;IACnB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,iBAAiB,CAAC,EAAE,KAAK,CAAC,OAAO,MAAM,EAAE,CAAC,CAAA;IAC1C,0BAA0B,CAAC,EAAE,WAAW,CACtC,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAClC,CAAC,wBAAwB,CAAC,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACzE,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAgMpC"}
1
+ {"version":3,"file":"getViteMetroPluginOptions.d.ts","sourceRoot":"","sources":["../../src/metro-config/getViteMetroPluginOptions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAQ1D,wBAAgB,yBAAyB,CAAC,EACxC,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,0BAA0B,EAC1B,SAAS,GACV,EAAE;IACD,WAAW,EAAE,MAAM,CAAA;IACnB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,iBAAiB,CAAC,EAAE,KAAK,CAAC,OAAO,MAAM,EAAE,CAAC,CAAA;IAC1C,0BAA0B,CAAC,EAAE,WAAW,CACtC,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAClC,CAAC,wBAAwB,CAAC,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACzE,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAkMpC"}
@@ -1 +1 @@
1
- {"version":3,"file":"one.d.ts","sourceRoot":"","sources":["../../src/vite/one.ts"],"names":[],"mappings":"AASA,OAAO,EAA4B,KAAK,YAAY,EAAE,MAAM,MAAM,CAAA;AAMlE,OAAO,qBAAqB,CAAA;AAc5B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAoBlC,wBAAgB,GAAG,CAAC,OAAO,GAAE,GAAG,CAAC,aAAkB,GAAG,YAAY,CA0lBjE"}
1
+ {"version":3,"file":"one.d.ts","sourceRoot":"","sources":["../../src/vite/one.ts"],"names":[],"mappings":"AASA,OAAO,EAA4B,KAAK,YAAY,EAAE,MAAM,MAAM,CAAA;AAMlE,OAAO,qBAAqB,CAAA;AAe5B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAoBlC,wBAAgB,GAAG,CAAC,OAAO,GAAE,GAAG,CAAC,aAAkB,GAAG,YAAY,CA4lBjE"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * vite plugin that enforces environment guard imports.
3
+ *
4
+ * bare imports like `import 'server-only'` will either be a no-op (allowed)
5
+ * or throw at build/dev time (forbidden) depending on which vite environment
6
+ * is processing the module.
7
+ *
8
+ * | import | allowed in | throws in |
9
+ * |-----------------|------------------|----------------------------|
10
+ * | server-only | ssr | client, ios, android |
11
+ * | client-only | client | ssr, ios, android |
12
+ * | native-only | ios, android | client, ssr |
13
+ * | web-only | client, ssr | ios, android |
14
+ */
15
+ import type { Plugin } from 'vite';
16
+ /**
17
+ * returns a virtual module id if the specifier is a guard, otherwise null.
18
+ * pure function extracted for testing.
19
+ */
20
+ export declare function resolveEnvironmentGuard(specifier: string, envName: string): string | null;
21
+ /**
22
+ * returns the module source for a virtual guard id.
23
+ * pure function extracted for testing.
24
+ */
25
+ export declare function loadEnvironmentGuard(id: string): string | null;
26
+ export declare function environmentGuardPlugin(): Plugin;
27
+ //# sourceMappingURL=environmentGuardPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environmentGuardPlugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/environmentGuardPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAqBlC;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,IAAI,CAKf;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAoB9D;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CAe/C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=environmentGuardPlugin.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environmentGuardPlugin.test.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/environmentGuardPlugin.test.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"fileSystemRouterPlugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/fileSystemRouterPlugin.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAW,MAAM,EAAiB,MAAM,MAAM,CAAA;AAe1D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAU3C,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,GAAG,CAAC,aAAa,GAAG,MAAM,CA8lB/E"}
1
+ {"version":3,"file":"fileSystemRouterPlugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/fileSystemRouterPlugin.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAW,MAAM,EAAiB,MAAM,MAAM,CAAA;AAe1D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAiB3C,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,GAAG,CAAC,aAAa,GAAG,MAAM,CAomB/E"}
@@ -382,7 +382,13 @@ export declare namespace One {
382
382
  */
383
383
  seoPreview?: boolean;
384
384
  };
385
- server?: VXRNOptions['server'];
385
+ server?: VXRNOptions['server'] & {
386
+ /**
387
+ * Log HTTP requests to the console
388
+ * @default true
389
+ */
390
+ loggingEnabled?: boolean;
391
+ };
386
392
  /**
387
393
  * Skip loading .env files during build
388
394
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/vite/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/vite/types.ts"],"names":[],"mappings":"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"}