one 1.2.26 → 1.2.28
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/babel-plugins/one-router-metro.cjs +9 -2
- package/dist/cjs/babel-plugins/one-router-metro.js +11 -2
- package/dist/cjs/babel-plugins/one-router-metro.js.map +1 -1
- package/dist/cjs/babel-plugins/one-router-metro.native.js +10 -2
- package/dist/cjs/babel-plugins/one-router-metro.native.js.map +1 -1
- package/dist/cjs/link/Redirect.cjs +11 -6
- package/dist/cjs/link/Redirect.js +9 -6
- package/dist/cjs/link/Redirect.js.map +1 -1
- package/dist/cjs/link/Redirect.native.js +11 -6
- package/dist/cjs/link/Redirect.native.js.map +1 -1
- package/dist/cjs/metro-config/getViteMetroPluginOptions.cjs +8 -2
- package/dist/cjs/metro-config/getViteMetroPluginOptions.js +12 -2
- package/dist/cjs/metro-config/getViteMetroPluginOptions.js.map +1 -1
- package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js +9 -2
- package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
- package/dist/cjs/vite/one.cjs +2 -1
- package/dist/cjs/vite/one.js +2 -1
- package/dist/cjs/vite/one.js.map +1 -1
- package/dist/cjs/vite/one.native.js +2 -1
- package/dist/cjs/vite/one.native.js.map +1 -1
- package/dist/esm/babel-plugins/one-router-metro.js +11 -2
- package/dist/esm/babel-plugins/one-router-metro.js.map +1 -1
- package/dist/esm/babel-plugins/one-router-metro.mjs +9 -2
- package/dist/esm/babel-plugins/one-router-metro.mjs.map +1 -1
- package/dist/esm/babel-plugins/one-router-metro.native.js +10 -2
- package/dist/esm/babel-plugins/one-router-metro.native.js.map +1 -1
- package/dist/esm/link/Redirect.js +9 -5
- package/dist/esm/link/Redirect.js.map +1 -1
- package/dist/esm/link/Redirect.mjs +10 -5
- package/dist/esm/link/Redirect.mjs.map +1 -1
- package/dist/esm/link/Redirect.native.js +10 -5
- package/dist/esm/link/Redirect.native.js.map +1 -1
- package/dist/esm/metro-config/getViteMetroPluginOptions.js +12 -2
- package/dist/esm/metro-config/getViteMetroPluginOptions.js.map +1 -1
- package/dist/esm/metro-config/getViteMetroPluginOptions.mjs +8 -2
- package/dist/esm/metro-config/getViteMetroPluginOptions.mjs.map +1 -1
- package/dist/esm/metro-config/getViteMetroPluginOptions.native.js +9 -2
- package/dist/esm/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
- package/dist/esm/vite/one.js +2 -1
- package/dist/esm/vite/one.js.map +1 -1
- package/dist/esm/vite/one.mjs +2 -1
- package/dist/esm/vite/one.mjs.map +1 -1
- package/dist/esm/vite/one.native.js +2 -1
- package/dist/esm/vite/one.native.js.map +1 -1
- package/metro-entry.js +1 -0
- package/package.json +9 -9
- package/src/babel-plugins/one-router-metro.ts +15 -0
- package/src/link/Redirect.tsx +4 -0
- package/src/metro-config/getViteMetroPluginOptions.ts +16 -0
- package/src/vite/one.ts +1 -0
- package/types/babel-plugins/one-router-metro.d.ts +4 -0
- package/types/babel-plugins/one-router-metro.d.ts.map +1 -1
- package/types/link/Redirect.d.ts.map +1 -1
- package/types/metro-config/getViteMetroPluginOptions.d.ts +6 -1
- package/types/metro-config/getViteMetroPluginOptions.d.ts.map +1 -1
- package/types/vite/one.d.ts.map +1 -1
package/src/link/Redirect.tsx
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { useRef } from 'react'
|
|
1
2
|
import { useRouter } from '../hooks'
|
|
2
3
|
import type { OneRouter } from '../interfaces/router'
|
|
3
4
|
import { useFocusEffect } from '../useFocusEffect'
|
|
@@ -6,8 +7,11 @@ import { useFocusEffect } from '../useFocusEffect'
|
|
|
6
7
|
|
|
7
8
|
export function Redirect({ href }: { href: OneRouter.Href }) {
|
|
8
9
|
const router = useRouter()
|
|
10
|
+
const hasRedirected = useRef(false)
|
|
9
11
|
|
|
10
12
|
useFocusEffect(() => {
|
|
13
|
+
if (hasRedirected.current) return
|
|
14
|
+
hasRedirected.current = true
|
|
11
15
|
try {
|
|
12
16
|
router.replace(href)
|
|
13
17
|
} catch (error) {
|
|
@@ -13,6 +13,7 @@ export function getViteMetroPluginOptions({
|
|
|
13
13
|
relativeRouterRoot,
|
|
14
14
|
ignoredRouteFiles,
|
|
15
15
|
userDefaultConfigOverrides,
|
|
16
|
+
setupFile,
|
|
16
17
|
}: {
|
|
17
18
|
projectRoot: string
|
|
18
19
|
relativeRouterRoot: string
|
|
@@ -20,6 +21,7 @@ export function getViteMetroPluginOptions({
|
|
|
20
21
|
userDefaultConfigOverrides?: NonNullable<
|
|
21
22
|
Parameters<typeof metroPlugin>[0]
|
|
22
23
|
>['defaultConfigOverrides']
|
|
24
|
+
setupFile?: string | { native?: string; ios?: string; android?: string }
|
|
23
25
|
}): Parameters<typeof metroPlugin>[0] {
|
|
24
26
|
const tsconfigPathsConfigLoadResult = tsconfigPaths.loadConfig(projectRoot)
|
|
25
27
|
|
|
@@ -190,6 +192,20 @@ export function getViteMetroPluginOptions({
|
|
|
190
192
|
),
|
|
191
193
|
ONE_ROUTER_ROOT_FOLDER_NAME: relativeRouterRoot,
|
|
192
194
|
ONE_ROUTER_REQUIRE_CONTEXT_REGEX_STRING: routerRequireContextRegexString,
|
|
195
|
+
ONE_SETUP_FILE_NATIVE: (() => {
|
|
196
|
+
if (!setupFile) return undefined
|
|
197
|
+
// Extract native setup file path
|
|
198
|
+
const nativeSetupFile =
|
|
199
|
+
typeof setupFile === 'string'
|
|
200
|
+
? setupFile
|
|
201
|
+
: setupFile.native || setupFile.ios || setupFile.android
|
|
202
|
+
if (!nativeSetupFile) return undefined
|
|
203
|
+
// Return path relative to metro entry
|
|
204
|
+
return path.relative(
|
|
205
|
+
path.dirname(metroEntryPath),
|
|
206
|
+
path.join(projectRoot, nativeSetupFile)
|
|
207
|
+
)
|
|
208
|
+
})(),
|
|
193
209
|
},
|
|
194
210
|
],
|
|
195
211
|
],
|
package/src/vite/one.ts
CHANGED
|
@@ -65,6 +65,7 @@ export function one(options: One.PluginOptions = {}): PluginOption {
|
|
|
65
65
|
relativeRouterRoot: routerRoot,
|
|
66
66
|
ignoredRouteFiles: options.router?.ignoredRouteFiles,
|
|
67
67
|
userDefaultConfigOverrides: (options.native?.bundlerOptions as any)?.defaultConfigOverrides,
|
|
68
|
+
setupFile: options.setupFile,
|
|
68
69
|
})
|
|
69
70
|
|
|
70
71
|
const userMetroOptions = options.native?.bundlerOptions as typeof defaultMetroOptions
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
+
import type { NodePath } from '@babel/core';
|
|
2
|
+
import * as t from '@babel/types';
|
|
1
3
|
type PluginOptions = {
|
|
2
4
|
ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY?: string;
|
|
3
5
|
ONE_ROUTER_ROOT_FOLDER_NAME?: string;
|
|
4
6
|
ONE_ROUTER_REQUIRE_CONTEXT_REGEX_STRING?: string;
|
|
7
|
+
ONE_SETUP_FILE_NATIVE?: string;
|
|
5
8
|
};
|
|
6
9
|
declare function oneRouterMetroPlugin(_: any, options: PluginOptions): {
|
|
7
10
|
name: string;
|
|
8
11
|
visitor: {
|
|
12
|
+
Program(path: NodePath<t.Program>, state: any): void;
|
|
9
13
|
MemberExpression(path: any, state: any): void;
|
|
10
14
|
};
|
|
11
15
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"one-router-metro.d.ts","sourceRoot":"","sources":["../../src/babel-plugins/one-router-metro.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"one-router-metro.d.ts","sourceRoot":"","sources":["../../src/babel-plugins/one-router-metro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAEjC,KAAK,aAAa,GAAG;IACnB,qCAAqC,CAAC,EAAE,MAAM,CAAA;IAC9C,2BAA2B,CAAC,EAAE,MAAM,CAAA;IACpC,uCAAuC,CAAC,EAAE,MAAM,CAAA;IAChD,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAC/B,CAAA;AAED,iBAAS,oBAAoB,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa;;;sBA+BxC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG;+BAOtB,GAAG,SAAS,GAAG;;EAsB3C;AAED,eAAe,oBAAoB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Redirect.d.ts","sourceRoot":"","sources":["../../src/link/Redirect.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Redirect.d.ts","sourceRoot":"","sources":["../../src/link/Redirect.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAGrD,iEAAiE;AAEjE,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAA;CAAE,QAe1D"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import type { metroPlugin } from '@vxrn/vite-plugin-metro';
|
|
2
|
-
export declare function getViteMetroPluginOptions({ projectRoot, relativeRouterRoot, ignoredRouteFiles, userDefaultConfigOverrides, }: {
|
|
2
|
+
export declare function getViteMetroPluginOptions({ projectRoot, relativeRouterRoot, ignoredRouteFiles, userDefaultConfigOverrides, setupFile, }: {
|
|
3
3
|
projectRoot: string;
|
|
4
4
|
relativeRouterRoot: string;
|
|
5
5
|
ignoredRouteFiles?: Array<`**/*${string}`>;
|
|
6
6
|
userDefaultConfigOverrides?: NonNullable<Parameters<typeof metroPlugin>[0]>['defaultConfigOverrides'];
|
|
7
|
+
setupFile?: string | {
|
|
8
|
+
native?: string;
|
|
9
|
+
ios?: string;
|
|
10
|
+
android?: string;
|
|
11
|
+
};
|
|
7
12
|
}): Parameters<typeof metroPlugin>[0];
|
|
8
13
|
//# sourceMappingURL=getViteMetroPluginOptions.d.ts.map
|
|
@@ -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,
|
|
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,CA6LpC"}
|
package/types/vite/one.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"one.d.ts","sourceRoot":"","sources":["../../src/vite/one.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAU,YAAY,EAAE,MAAM,MAAM,CAAA;AAOhD,OAAO,qBAAqB,CAAA;AAW5B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAoBlC,wBAAgB,GAAG,CAAC,OAAO,GAAE,GAAG,CAAC,aAAkB,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"one.d.ts","sourceRoot":"","sources":["../../src/vite/one.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAU,YAAY,EAAE,MAAM,MAAM,CAAA;AAOhD,OAAO,qBAAqB,CAAA;AAW5B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAoBlC,wBAAgB,GAAG,CAAC,OAAO,GAAE,GAAG,CAAC,aAAkB,GAAG,YAAY,CA6iBjE"}
|