one 1.2.24 → 1.2.27
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/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/cjs/vite/plugins/virtualEntryPlugin.cjs +43 -16
- package/dist/cjs/vite/plugins/virtualEntryPlugin.js +42 -16
- package/dist/cjs/vite/plugins/virtualEntryPlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js +38 -17
- package/dist/cjs/vite/plugins/virtualEntryPlugin.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/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/dist/esm/vite/plugins/virtualEntryPlugin.js +42 -16
- package/dist/esm/vite/plugins/virtualEntryPlugin.js.map +1 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.mjs +43 -16
- package/dist/esm/vite/plugins/virtualEntryPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.native.js +38 -17
- package/dist/esm/vite/plugins/virtualEntryPlugin.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/metro-config/getViteMetroPluginOptions.ts +16 -0
- package/src/vite/one.ts +1 -0
- package/src/vite/plugins/virtualEntryPlugin.ts +63 -19
- 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/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/types/vite/plugins/virtualEntryPlugin.d.ts +1 -0
- package/types/vite/plugins/virtualEntryPlugin.d.ts.map +1 -1
|
@@ -14,22 +14,65 @@ import {
|
|
|
14
14
|
virtualEntryIdNative,
|
|
15
15
|
} from './virtualEntryConstants'
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
type NormalizedSetupFiles = {
|
|
18
|
+
client?: string
|
|
19
|
+
server?: string
|
|
20
|
+
ios?: string
|
|
21
|
+
android?: string
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function normalizeSetupFile(setupFile: One.PluginOptions['setupFile']): NormalizedSetupFiles {
|
|
25
|
+
if (!setupFile) return {}
|
|
26
|
+
if (typeof setupFile === 'string') {
|
|
27
|
+
return {
|
|
28
|
+
client: setupFile,
|
|
29
|
+
server: setupFile,
|
|
30
|
+
ios: setupFile,
|
|
31
|
+
android: setupFile,
|
|
32
|
+
}
|
|
23
33
|
}
|
|
34
|
+
if ('native' in setupFile) {
|
|
35
|
+
return {
|
|
36
|
+
client: setupFile.client,
|
|
37
|
+
server: setupFile.server,
|
|
38
|
+
ios: setupFile.native,
|
|
39
|
+
android: setupFile.native,
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
const sf = setupFile as { client?: string; server?: string; ios?: string; android?: string }
|
|
43
|
+
return {
|
|
44
|
+
client: sf.client,
|
|
45
|
+
server: sf.server,
|
|
46
|
+
ios: sf.ios,
|
|
47
|
+
android: sf.android,
|
|
48
|
+
}
|
|
49
|
+
}
|
|
24
50
|
|
|
25
|
-
|
|
26
|
-
|
|
51
|
+
function getSetupFileImport(
|
|
52
|
+
environmentName: string,
|
|
53
|
+
setupFiles: NormalizedSetupFiles,
|
|
54
|
+
useStaticImport: boolean
|
|
55
|
+
): string {
|
|
56
|
+
const envMap: Record<string, keyof NormalizedSetupFiles> = {
|
|
57
|
+
client: 'client',
|
|
58
|
+
ssr: 'server',
|
|
59
|
+
ios: 'ios',
|
|
60
|
+
android: 'android',
|
|
61
|
+
}
|
|
27
62
|
|
|
28
|
-
|
|
29
|
-
if (
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
63
|
+
const key = envMap[environmentName]
|
|
64
|
+
if (!key) return ''
|
|
65
|
+
|
|
66
|
+
const setupFile = setupFiles[key]
|
|
67
|
+
if (!setupFile) return ''
|
|
68
|
+
|
|
69
|
+
// For native, use static import since dynamic import doesn't work
|
|
70
|
+
// For web, use top-level await with dynamic import to ensure setup runs before app
|
|
71
|
+
if (useStaticImport) {
|
|
72
|
+
return `import ${JSON.stringify(setupFile)}`
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
return `await import(/* @vite-ignore */ ${JSON.stringify(setupFile)})`
|
|
33
76
|
}
|
|
34
77
|
|
|
35
78
|
export function createVirtualEntry(options: {
|
|
@@ -38,6 +81,7 @@ export function createVirtualEntry(options: {
|
|
|
38
81
|
ignoredRouteFiles?: Array<string>
|
|
39
82
|
}
|
|
40
83
|
flags: One.Flags
|
|
84
|
+
setupFile?: One.PluginOptions['setupFile']
|
|
41
85
|
}): Plugin {
|
|
42
86
|
const routeGlobs = [
|
|
43
87
|
`/${options.root}/${ROUTE_GLOB_PATTERN}`,
|
|
@@ -45,6 +89,8 @@ export function createVirtualEntry(options: {
|
|
|
45
89
|
]
|
|
46
90
|
const apiRouteGlobs = `/${options.root}/${API_ROUTE_GLOB_PATTERN}`
|
|
47
91
|
|
|
92
|
+
const setupFiles = normalizeSetupFile(options.setupFile)
|
|
93
|
+
|
|
48
94
|
return {
|
|
49
95
|
name: 'one-virtual-entry',
|
|
50
96
|
enforce: 'pre',
|
|
@@ -60,9 +106,8 @@ export function createVirtualEntry(options: {
|
|
|
60
106
|
|
|
61
107
|
load(id) {
|
|
62
108
|
if (id === resolvedVirtualEntryId) {
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
: getSetupFileImport(this.environment.name)
|
|
109
|
+
const isNative = isNativeEnvironment(this.environment)
|
|
110
|
+
const prependCode = getSetupFileImport(this.environment.name, setupFiles, isNative)
|
|
66
111
|
return `
|
|
67
112
|
${prependCode}
|
|
68
113
|
|
|
@@ -89,9 +134,8 @@ export default createApp({
|
|
|
89
134
|
}
|
|
90
135
|
|
|
91
136
|
if (id === resolvedVirtualEntryIdNative) {
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
: getSetupFileImport(this.environment.name)
|
|
137
|
+
const isNative = isNativeEnvironment(this.environment)
|
|
138
|
+
const prependCode = getSetupFileImport(this.environment.name, setupFiles, isNative)
|
|
95
139
|
return `
|
|
96
140
|
${prependCode}
|
|
97
141
|
|
|
@@ -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,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"virtualEntryPlugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/virtualEntryPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAQlC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"virtualEntryPlugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/virtualEntryPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAQlC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAqEnC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE;QACP,iBAAiB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KAClC,CAAA;IACD,KAAK,EAAE,GAAG,CAAC,KAAK,CAAA;IAChB,SAAS,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;CAC3C,GAAG,MAAM,CAqET"}
|