one 1.1.512 → 1.1.513

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 (52) hide show
  1. package/dist/cjs/metro-config/getViteMetroPluginOptions.cjs +16 -9
  2. package/dist/cjs/metro-config/getViteMetroPluginOptions.js +16 -11
  3. package/dist/cjs/metro-config/getViteMetroPluginOptions.js.map +1 -1
  4. package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js +19 -15
  5. package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js.map +2 -2
  6. package/dist/cjs/typed-routes/generateRouteTypes.cjs +8 -2
  7. package/dist/cjs/typed-routes/generateRouteTypes.js +8 -3
  8. package/dist/cjs/typed-routes/generateRouteTypes.js.map +2 -2
  9. package/dist/cjs/typed-routes/generateRouteTypes.native.js +8 -3
  10. package/dist/cjs/typed-routes/generateRouteTypes.native.js.map +2 -2
  11. package/dist/cjs/vite/one.cjs +2 -2
  12. package/dist/cjs/vite/one.js +2 -2
  13. package/dist/cjs/vite/one.js.map +1 -1
  14. package/dist/cjs/vite/one.native.js +2 -2
  15. package/dist/cjs/vite/one.native.js.map +1 -1
  16. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.cjs +2 -2
  17. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.js +2 -2
  18. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.js.map +1 -1
  19. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js +6 -2
  20. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +2 -2
  21. package/dist/esm/metro-config/getViteMetroPluginOptions.js +20 -12
  22. package/dist/esm/metro-config/getViteMetroPluginOptions.js.map +1 -1
  23. package/dist/esm/metro-config/getViteMetroPluginOptions.mjs +16 -9
  24. package/dist/esm/metro-config/getViteMetroPluginOptions.mjs.map +1 -1
  25. package/dist/esm/metro-config/getViteMetroPluginOptions.native.js +19 -14
  26. package/dist/esm/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
  27. package/dist/esm/typed-routes/generateRouteTypes.js +8 -2
  28. package/dist/esm/typed-routes/generateRouteTypes.js.map +1 -1
  29. package/dist/esm/typed-routes/generateRouteTypes.mjs +8 -2
  30. package/dist/esm/typed-routes/generateRouteTypes.mjs.map +1 -1
  31. package/dist/esm/typed-routes/generateRouteTypes.native.js +8 -3
  32. package/dist/esm/typed-routes/generateRouteTypes.native.js.map +1 -1
  33. package/dist/esm/vite/one.js +2 -2
  34. package/dist/esm/vite/one.js.map +1 -1
  35. package/dist/esm/vite/one.mjs +2 -2
  36. package/dist/esm/vite/one.mjs.map +1 -1
  37. package/dist/esm/vite/one.native.js +2 -2
  38. package/dist/esm/vite/one.native.js.map +1 -1
  39. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.js +2 -2
  40. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.js.map +1 -1
  41. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.mjs +2 -2
  42. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.mjs.map +1 -1
  43. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.native.js +6 -2
  44. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +1 -1
  45. package/package.json +10 -10
  46. package/src/metro-config/getViteMetroPluginOptions.ts +30 -16
  47. package/src/typed-routes/generateRouteTypes.ts +13 -2
  48. package/src/vite/one.ts +1 -1
  49. package/src/vite/plugins/generateFileSystemRouteTypesPlugin.tsx +2 -2
  50. package/types/metro-config/getViteMetroPluginOptions.d.ts.map +1 -1
  51. package/types/typed-routes/generateRouteTypes.d.ts +1 -1
  52. package/types/typed-routes/generateRouteTypes.d.ts.map +1 -1
@@ -3,7 +3,10 @@ import module from 'node:module'
3
3
  import path from 'node:path'
4
4
  import tsconfigPaths from 'tsconfig-paths'
5
5
  import mm from 'micromatch'
6
- import { API_ROUTE_GLOB_PATTERN, ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS } from '../router/glob-patterns'
6
+ import {
7
+ API_ROUTE_GLOB_PATTERN,
8
+ ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS,
9
+ } from '../router/glob-patterns'
7
10
 
8
11
  export function getViteMetroPluginOptions({
9
12
  projectRoot,
@@ -85,20 +88,21 @@ export function getViteMetroPluginOptions({
85
88
  extraNodeModules: {
86
89
  ...defaultConfig?.resolver?.extraNodeModules,
87
90
  // "vite-tsconfig-paths" for Metro
88
- ...Object.fromEntries(
89
- Object.entries(tsconfigPathsConfigLoadResult.paths)
90
- .map(([k, v]) => {
91
- if (k.endsWith('/*') && v[0]?.endsWith('/*')) {
92
- const key = k.replace(/\/\*$/, '')
93
- let value = v[0].replace(/\/\*$/, '')
94
-
95
- value = path.join(tsconfigPathsConfigLoadResult.absoluteBaseUrl, value)
96
-
97
- return [key, value]
98
- }
99
- })
100
- .filter((i): i is NonNullable<typeof i> => !!i)
101
- ),
91
+ // Commenting out since we are using babel-plugin-module-resolver alias instead
92
+ // ...Object.fromEntries(
93
+ // Object.entries(tsconfigPathsConfigLoadResult.paths)
94
+ // .map(([k, v]) => {
95
+ // if (k.endsWith('/*') && v[0]?.endsWith('/*')) {
96
+ // const key = k.replace(/\/\*$/, '')
97
+ // let value = v[0].replace(/\/\*$/, '')
98
+
99
+ // value = path.join(tsconfigPathsConfigLoadResult.absoluteBaseUrl, value)
100
+
101
+ // return [key, value]
102
+ // }
103
+ // })
104
+ // .filter((i): i is NonNullable<typeof i> => !!i)
105
+ // ),
102
106
  },
103
107
  nodeModulesPaths: tsconfigPathsConfigLoadResult.absoluteBaseUrl
104
108
  ? [
@@ -140,9 +144,19 @@ export function getViteMetroPluginOptions({
140
144
  'babel-plugin-module-resolver',
141
145
  {
142
146
  alias: {
147
+ // "vite-tsconfig-paths" for Metro
143
148
  ...Object.fromEntries(
144
149
  Object.entries(tsconfigPathsConfigLoadResult.paths).map(([k, v]) => {
145
- const key = k.replace(/\/\*$/, '')
150
+ const key = (() => {
151
+ if (k.endsWith('/*')) {
152
+ return k.replace(/\/\*$/, '')
153
+ }
154
+
155
+ // If the key does not end with "/*", only alias exact matches.
156
+ // Ref: https://www.npmjs.com/package/babel-plugin-module-resolver/v/3.0.0#regular-expression-alias
157
+ return `${k}$`
158
+ })()
159
+
146
160
  let value = v[0].replace(/\/\*$/, '')
147
161
 
148
162
  if (!value.startsWith('./')) {
@@ -1,12 +1,23 @@
1
1
  import FSExtra from 'fs-extra'
2
2
  import { writeFile } from 'node:fs/promises'
3
3
  import { dirname } from 'node:path'
4
+ import micromatch from 'micromatch'
4
5
  import { globbedRoutesToRouteContext } from '../router/useViteRoutes'
5
6
  import { globDir } from '../utils/globDir'
6
7
  import { getTypedRoutesDeclarationFile } from './getTypedRoutesDeclarationFile'
7
8
 
8
- export async function generateRouteTypes(outFile: string, routerRoot: string) {
9
- const routePaths = globDir(routerRoot)
9
+ export async function generateRouteTypes(
10
+ outFile: string,
11
+ routerRoot: string,
12
+ ignoredRouteFiles?: string[]
13
+ ) {
14
+ let routePaths = globDir(routerRoot)
15
+ if (ignoredRouteFiles && ignoredRouteFiles.length > 0) {
16
+ routePaths = micromatch.not(routePaths, ignoredRouteFiles, {
17
+ // The path starts with './', such as './foo/bar/baz.test.tsx', and ignoredRouteFiles is like ['**/*.test.*'], so we need matchBase here.
18
+ matchBase: true,
19
+ })
20
+ }
10
21
  const routes = routePaths.reduce((acc, cur) => {
11
22
  acc[cur] = {}
12
23
  return acc
package/src/vite/one.ts CHANGED
@@ -144,7 +144,7 @@ export function one(options: One.PluginOptions = {}): PluginOption {
144
144
  __get: options,
145
145
  },
146
146
 
147
- barrelOption === false
147
+ !barrelOption
148
148
  ? null
149
149
  : (barrel({
150
150
  packages: Array.isArray(barrelOption) ? barrelOption : ['@tamagui/lucide-icons'],
@@ -29,7 +29,7 @@ export function generateFileSystemRouteTypesPlugin(options: One.PluginOptions):
29
29
  if (type === 'add' || type === 'delete') {
30
30
  if (path.startsWith(appDir)) {
31
31
  // generate
32
- generateRouteTypes(outFile, routerRoot)
32
+ generateRouteTypes(outFile, routerRoot, options.router?.ignoredRouteFiles)
33
33
  }
34
34
  }
35
35
  }, 100)
@@ -39,7 +39,7 @@ export function generateFileSystemRouteTypesPlugin(options: One.PluginOptions):
39
39
  return () => {
40
40
  // once on startup:
41
41
 
42
- generateRouteTypes(outFile, routerRoot)
42
+ generateRouteTypes(outFile, routerRoot, options.router?.ignoredRouteFiles)
43
43
  }
44
44
  },
45
45
  } satisfies Plugin
@@ -1 +1 @@
1
- {"version":3,"file":"getViteMetroPluginOptions.d.ts","sourceRoot":"","sources":["../../src/metro-config/getViteMetroPluginOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAO1D,wBAAgB,yBAAyB,CAAC,EACxC,WAAW,EACX,kBAAkB,EAClB,iBAAiB,GAClB,EAAE;IACD,WAAW,EAAE,MAAM,CAAA;IACnB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,iBAAiB,CAAC,EAAE,KAAK,CAAC,OAAO,MAAM,EAAE,CAAC,CAAA;CAC3C,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CA4JpC"}
1
+ {"version":3,"file":"getViteMetroPluginOptions.d.ts","sourceRoot":"","sources":["../../src/metro-config/getViteMetroPluginOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAU1D,wBAAgB,yBAAyB,CAAC,EACxC,WAAW,EACX,kBAAkB,EAClB,iBAAiB,GAClB,EAAE;IACD,WAAW,EAAE,MAAM,CAAA;IACnB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,iBAAiB,CAAC,EAAE,KAAK,CAAC,OAAO,MAAM,EAAE,CAAC,CAAA;CAC3C,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAuKpC"}
@@ -1,2 +1,2 @@
1
- export declare function generateRouteTypes(outFile: string, routerRoot: string): Promise<void>;
1
+ export declare function generateRouteTypes(outFile: string, routerRoot: string, ignoredRouteFiles?: string[]): Promise<void>;
2
2
  //# sourceMappingURL=generateRouteTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateRouteTypes.d.ts","sourceRoot":"","sources":["../../src/typed-routes/generateRouteTypes.ts"],"names":[],"mappings":"AAOA,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,iBAU3E"}
1
+ {"version":3,"file":"generateRouteTypes.d.ts","sourceRoot":"","sources":["../../src/typed-routes/generateRouteTypes.ts"],"names":[],"mappings":"AAQA,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,iBAAiB,CAAC,EAAE,MAAM,EAAE,iBAiB7B"}