vxrn 1.1.199 → 1.1.201
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/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.map +1 -1
- package/dist/index.native.js +1 -2
- package/dist/index.native.js.map +2 -2
- package/dist/utils/depPatches.js +31 -6
- package/dist/utils/depPatches.js.map +1 -1
- package/dist/utils/depPatches.mjs +26 -5
- package/dist/utils/depPatches.mjs.map +1 -1
- package/dist/utils/depPatches.native.js +23 -8
- package/dist/utils/depPatches.native.js.map +1 -1
- package/dist/utils/getOptimizeDeps.js +2 -2
- package/dist/utils/getOptimizeDeps.js.map +1 -1
- package/dist/utils/getOptimizeDeps.mjs +5 -5
- package/dist/utils/getOptimizeDeps.mjs.map +1 -1
- package/dist/utils/getOptimizeDeps.native.js +2 -2
- package/dist/utils/getOptimizeDeps.native.js.map +1 -1
- package/dist/utils/getReactNativeConfig.js +33 -2
- package/dist/utils/getReactNativeConfig.js.map +1 -1
- package/dist/utils/getReactNativeConfig.mjs +22 -1
- package/dist/utils/getReactNativeConfig.mjs.map +1 -1
- package/dist/utils/getReactNativeConfig.native.js +98 -0
- package/dist/utils/getReactNativeConfig.native.js.map +2 -2
- package/dist/utils/patches.js +15 -3
- package/dist/utils/patches.js.map +1 -1
- package/dist/utils/patches.mjs +15 -3
- package/dist/utils/patches.mjs.map +1 -1
- package/dist/utils/patches.native.js +54 -18
- package/dist/utils/patches.native.js.map +2 -2
- package/package.json +7 -6
- package/src/index.ts +1 -1
- package/src/utils/depPatches.ts +37 -9
- package/src/utils/getOptimizeDeps.ts +1 -2
- package/src/utils/getReactNativeConfig.ts +50 -1
- package/src/utils/patches.ts +47 -8
- package/types/index.d.ts +1 -1
- package/types/index.d.ts.map +1 -1
- package/types/utils/depPatches.d.ts.map +1 -1
- package/types/utils/getOptimizeDeps.d.ts.map +1 -1
- package/types/utils/getReactNativeConfig.d.ts.map +1 -1
- package/types/utils/patches.d.ts +11 -2
- package/types/utils/patches.d.ts.map +1 -1
- package/types/utils/symbolicate/Symbolicator.d.ts.map +1 -0
- package/types/utils/symbolicate/index.d.ts.map +1 -0
- package/types/utils/symbolicate/types.d.ts.map +1 -0
- package/dist/plugins/fixDependenciesPlugin.js +0 -19
- package/dist/plugins/fixDependenciesPlugin.js.map +0 -6
- package/dist/plugins/fixDependenciesPlugin.mjs +0 -17
- package/dist/plugins/fixDependenciesPlugin.mjs.map +0 -1
- package/dist/plugins/fixDependenciesPlugin.native.js +0 -19
- package/dist/plugins/fixDependenciesPlugin.native.js.map +0 -6
- package/dist/utils/findDepsToOptimize.js +0 -145
- package/dist/utils/findDepsToOptimize.js.map +0 -6
- package/dist/utils/findDepsToOptimize.mjs +0 -131
- package/dist/utils/findDepsToOptimize.mjs.map +0 -1
- package/dist/utils/findDepsToOptimize.native.js +0 -530
- package/dist/utils/findDepsToOptimize.native.js.map +0 -6
- package/src/utils/findDepsToOptimize.ts +0 -293
package/src/utils/patches.ts
CHANGED
|
@@ -7,16 +7,20 @@ import type { VXRNOptionsFilled } from './getOptionsFilled'
|
|
|
7
7
|
import { globDir } from './globDir'
|
|
8
8
|
import { swcTransform } from '@vxrn/vite-native-swc'
|
|
9
9
|
import semver from 'semver'
|
|
10
|
+
import type { UserConfig } from 'vite'
|
|
10
11
|
|
|
11
12
|
type Strategies = 'swc' | 'flow' | 'jsx'
|
|
12
13
|
|
|
14
|
+
export type DepOptimize = boolean | 'exclude' | 'interop'
|
|
15
|
+
|
|
16
|
+
export type DepFileStrategy =
|
|
17
|
+
| ((contents?: string) => void | string | Promise<void | string>)
|
|
18
|
+
| string
|
|
19
|
+
| Strategies[]
|
|
20
|
+
|
|
13
21
|
export type DepPatch = {
|
|
14
22
|
module: string
|
|
15
|
-
patchFiles: {
|
|
16
|
-
[Key in string]: Key extends 'version'
|
|
17
|
-
? string
|
|
18
|
-
: ((contents?: string) => void | string | Promise<void | string>) | string | Strategies[]
|
|
19
|
-
}
|
|
23
|
+
patchFiles: { optimize?: DepOptimize; version?: string } & { [key: string]: DepFileStrategy }
|
|
20
24
|
}
|
|
21
25
|
|
|
22
26
|
class Bail extends Error {}
|
|
@@ -31,17 +35,46 @@ export async function applyBuiltInPatches(options: VXRNOptionsFilled) {
|
|
|
31
35
|
if (options.state.applyPatches === false) {
|
|
32
36
|
return
|
|
33
37
|
}
|
|
34
|
-
await
|
|
38
|
+
await applyDependencyPatches(depPatches, { root: options.root })
|
|
35
39
|
}
|
|
36
40
|
|
|
37
|
-
export async function
|
|
41
|
+
export async function applyOptimizePatches(patches: DepPatch[], config: UserConfig) {
|
|
42
|
+
patches.forEach((patch) => {
|
|
43
|
+
// apply non-file-specific optimizations:
|
|
44
|
+
const optimize = patch.patchFiles.optimize
|
|
45
|
+
if (config && typeof optimize !== 'undefined') {
|
|
46
|
+
if (optimize === true) {
|
|
47
|
+
config.optimizeDeps?.include?.push(patch.module)
|
|
48
|
+
}
|
|
49
|
+
if (optimize === false || optimize === 'exclude') {
|
|
50
|
+
if (config.optimizeDeps?.include) {
|
|
51
|
+
config.optimizeDeps.include = config.optimizeDeps.include.filter(
|
|
52
|
+
(x) => x !== patch.module
|
|
53
|
+
)
|
|
54
|
+
}
|
|
55
|
+
config.optimizeDeps ||= {}
|
|
56
|
+
config.optimizeDeps.exclude ||= []
|
|
57
|
+
config.optimizeDeps.exclude.push(patch.module)
|
|
58
|
+
}
|
|
59
|
+
if (optimize === 'interop') {
|
|
60
|
+
config.optimizeDeps?.include?.push(patch.module)
|
|
61
|
+
config.optimizeDeps?.needsInterop?.push(patch.module)
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
})
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export async function applyDependencyPatches(
|
|
68
|
+
patches: DepPatch[],
|
|
69
|
+
{ root = process.cwd() }: { root?: string } = {}
|
|
70
|
+
) {
|
|
38
71
|
const nodeModulesDirs = findNodeModules({
|
|
39
72
|
cwd: root,
|
|
40
73
|
}).map((relativePath) => join(root, relativePath))
|
|
41
74
|
|
|
42
75
|
await Promise.all(
|
|
43
76
|
patches.flatMap((patch) => {
|
|
44
|
-
return nodeModulesDirs
|
|
77
|
+
return nodeModulesDirs!.flatMap(async (dir) => {
|
|
45
78
|
const nodeModuleDir = join(dir, patch.module)
|
|
46
79
|
const version = patch.patchFiles.version
|
|
47
80
|
|
|
@@ -56,6 +89,10 @@ export async function applyPatches(patches: DepPatch[], root = process.cwd()) {
|
|
|
56
89
|
}
|
|
57
90
|
|
|
58
91
|
for (const file in patch.patchFiles) {
|
|
92
|
+
if (file === 'optimize' || file === 'version') {
|
|
93
|
+
continue
|
|
94
|
+
}
|
|
95
|
+
|
|
59
96
|
const filesToApply = file.includes('*') ? globDir(nodeModuleDir, file) : [file]
|
|
60
97
|
|
|
61
98
|
await Promise.all(
|
|
@@ -132,6 +169,8 @@ export async function applyPatches(patches: DepPatch[], root = process.cwd()) {
|
|
|
132
169
|
return
|
|
133
170
|
}
|
|
134
171
|
|
|
172
|
+
console.log('patchDefinition', patchDefinition)
|
|
173
|
+
|
|
135
174
|
// update
|
|
136
175
|
const out = await patchDefinition(contentsIn)
|
|
137
176
|
if (typeof out === 'string') {
|
package/types/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export { clean } from './exports/clean';
|
|
|
5
5
|
export * from './utils/getOptionsFilled';
|
|
6
6
|
export * from './utils/getOptimizeDeps';
|
|
7
7
|
export * from './utils/getBaseViteConfig';
|
|
8
|
-
export
|
|
8
|
+
export * from './utils/patches';
|
|
9
9
|
export * from './utils/environmentUtils';
|
|
10
10
|
export * from './types';
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
package/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA;AACvC,cAAc,2BAA2B,CAAA;AACzC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA;AACvC,cAAc,2BAA2B,CAAA;AACzC,cAAc,iBAAiB,CAAA;AAE/B,cAAc,0BAA0B,CAAA;AAExC,cAAc,SAAS,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"depPatches.d.ts","sourceRoot":"","sources":["../../src/utils/depPatches.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAgB,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"depPatches.d.ts","sourceRoot":"","sources":["../../src/utils/depPatches.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAgB,MAAM,WAAW,CAAA;AAEvD,eAAO,MAAM,UAAU,EAAE,QAAQ,EA0NhC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOptimizeDeps.d.ts","sourceRoot":"","sources":["../../src/utils/getOptimizeDeps.ts"],"names":[],"mappings":"AAKA,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"getOptimizeDeps.d.ts","sourceRoot":"","sources":["../../src/utils/getOptimizeDeps.ts"],"names":[],"mappings":"AAKA,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;;;;;;;;;;;EAiJtD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getReactNativeConfig.d.ts","sourceRoot":"","sources":["../../src/utils/getReactNativeConfig.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getReactNativeConfig.d.ts","sourceRoot":"","sources":["../../src/utils/getReactNativeConfig.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAM3D,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4M7F"}
|
package/types/utils/patches.d.ts
CHANGED
|
@@ -1,13 +1,22 @@
|
|
|
1
1
|
import type { VXRNOptionsFilled } from './getOptionsFilled';
|
|
2
|
+
import type { UserConfig } from 'vite';
|
|
2
3
|
type Strategies = 'swc' | 'flow' | 'jsx';
|
|
4
|
+
export type DepOptimize = boolean | 'exclude' | 'interop';
|
|
5
|
+
export type DepFileStrategy = ((contents?: string) => void | string | Promise<void | string>) | string | Strategies[];
|
|
3
6
|
export type DepPatch = {
|
|
4
7
|
module: string;
|
|
5
8
|
patchFiles: {
|
|
6
|
-
|
|
9
|
+
optimize?: DepOptimize;
|
|
10
|
+
version?: string;
|
|
11
|
+
} & {
|
|
12
|
+
[key: string]: DepFileStrategy;
|
|
7
13
|
};
|
|
8
14
|
};
|
|
9
15
|
export declare function bailIfExists(haystack: string, needle: string): void;
|
|
10
16
|
export declare function applyBuiltInPatches(options: VXRNOptionsFilled): Promise<void>;
|
|
11
|
-
export declare function
|
|
17
|
+
export declare function applyOptimizePatches(patches: DepPatch[], config: UserConfig): Promise<void>;
|
|
18
|
+
export declare function applyDependencyPatches(patches: DepPatch[], { root }?: {
|
|
19
|
+
root?: string;
|
|
20
|
+
}): Promise<void>;
|
|
12
21
|
export {};
|
|
13
22
|
//# sourceMappingURL=patches.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patches.d.ts","sourceRoot":"","sources":["../../src/utils/patches.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"patches.d.ts","sourceRoot":"","sources":["../../src/utils/patches.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAI3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAEtC,KAAK,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAAA;AAExC,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAA;AAEzD,MAAM,MAAM,eAAe,GACvB,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,GAC/D,MAAM,GACN,UAAU,EAAE,CAAA;AAEhB,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE;QAAE,QAAQ,CAAC,EAAE,WAAW,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;KAAE,CAAA;CAC9F,CAAA;AAID,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAI5D;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,iBAKnE;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,UAAU,iBAwBjF;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,QAAQ,EAAE,EACnB,EAAE,IAAoB,EAAE,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,iBA2HjD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Symbolicator.d.ts","sourceRoot":"","sources":["../../../src/utils/symbolicate/Symbolicator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,KAAK,EAGV,qBAAqB,EAErB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,SAAS,CAAA;AAEhB;;;;;GAKG;AACH,qBAAa,YAAY;IAwCX,OAAO,CAAC,QAAQ;IAvC5B;;;;;;;OAOG;IACH,MAAM,CAAC,sBAAsB,CAAC,KAAK,EAAE,qBAAqB,EAAE;IAqB5D;;OAEG;IACH,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAK;IAE9D;;;;OAIG;gBACiB,QAAQ,EAAE,oBAAoB;IAElD;;;;;;;;;;;OAWG;IACG,OAAO,CAAC,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA4E3E,OAAO,CAAC,YAAY;YAyCN,YAAY;CAwC3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/symbolicate/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/symbolicate/types.ts"],"names":[],"mappings":";AAAA;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,qBAAqB;IAC5D,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,eAAe;IACjD,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE;QACR,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAEzD;;;;;;OAMG;IACH,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAE5D;;;;OAIG;IACH,kBAAkB,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC;CACpD"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
function fixDependenciesPlugin() {
|
|
2
|
-
return {
|
|
3
|
-
name: "vxrn:fix-dependencies-plugin",
|
|
4
|
-
enforce: "pre",
|
|
5
|
-
resolveId(source, importer, options) {
|
|
6
|
-
console.log("resolve", source, importer);
|
|
7
|
-
},
|
|
8
|
-
load(id) {
|
|
9
|
-
console.log("load", id);
|
|
10
|
-
},
|
|
11
|
-
transform(code, id) {
|
|
12
|
-
console.log("go?", id);
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
export {
|
|
17
|
-
fixDependenciesPlugin
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=fixDependenciesPlugin.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/plugins/fixDependenciesPlugin.ts"],
|
|
4
|
-
"mappings": "AAKO,SAAS,wBAAgC;AAE9C,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IAET,UAAU,QAAQ,UAAU,SAAS;AACnC,cAAQ,IAAI,WAAW,QAAQ,QAAQ;AAAA,IACzC;AAAA,IAEA,KAAK,IAAI;AACP,cAAQ,IAAI,QAAQ,EAAE;AAAA,IACxB;AAAA,IAEA,UAAU,MAAM,IAAI;AAClB,cAAQ,IAAI,OAAO,EAAE;AAAA,IACvB;AAAA,EACF;AACF;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
function fixDependenciesPlugin() {
|
|
2
|
-
return {
|
|
3
|
-
name: "vxrn:fix-dependencies-plugin",
|
|
4
|
-
enforce: "pre",
|
|
5
|
-
resolveId(source, importer, options) {
|
|
6
|
-
console.log("resolve", source, importer);
|
|
7
|
-
},
|
|
8
|
-
load(id) {
|
|
9
|
-
console.log("load", id);
|
|
10
|
-
},
|
|
11
|
-
transform(code, id) {
|
|
12
|
-
console.log("go?", id);
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
export { fixDependenciesPlugin };
|
|
17
|
-
//# sourceMappingURL=fixDependenciesPlugin.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["fixDependenciesPlugin","name","enforce","resolveId","source","importer","options","console","log","load","id","transform","code"],"sources":["../../src/plugins/fixDependenciesPlugin.ts"],"sourcesContent":[null],"mappings":"AAKO,SAASA,sBAAA,EAAgC;EAE9C,OAAO;IACLC,IAAA,EAAM;IACNC,OAAA,EAAS;IAETC,UAAUC,MAAA,EAAQC,QAAA,EAAUC,OAAA,EAAS;MACnCC,OAAA,CAAQC,GAAA,CAAI,WAAWJ,MAAA,EAAQC,QAAQ;IACzC;IAEAI,KAAKC,EAAA,EAAI;MACPH,OAAA,CAAQC,GAAA,CAAI,QAAQE,EAAE;IACxB;IAEAC,UAAUC,IAAA,EAAMF,EAAA,EAAI;MAClBH,OAAA,CAAQC,GAAA,CAAI,OAAOE,EAAE;IACvB;EACF;AACF","ignoreList":[]}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
function fixDependenciesPlugin() {
|
|
2
|
-
return {
|
|
3
|
-
name: "vxrn:fix-dependencies-plugin",
|
|
4
|
-
enforce: "pre",
|
|
5
|
-
resolveId: function(source, importer, options) {
|
|
6
|
-
console.log("resolve", source, importer);
|
|
7
|
-
},
|
|
8
|
-
load: function(id) {
|
|
9
|
-
console.log("load", id);
|
|
10
|
-
},
|
|
11
|
-
transform: function(code, id) {
|
|
12
|
-
console.log("go?", id);
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
export {
|
|
17
|
-
fixDependenciesPlugin
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=fixDependenciesPlugin.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/plugins/Users/n8/vxrn/packages/vxrn/src/plugins/fixDependenciesPlugin.ts"],
|
|
4
|
-
"mappings": "AAKO,SAASA,wBAAAA;AAEd,SAAO;IACLC,MAAM;IACNC,SAAS;IAETC,WAAAA,SAAUC,QAAQC,UAAUC,SAAO;AACjCC,cAAQC,IAAI,WAAWJ,QAAQC,QAAAA;IACjC;IAEAI,MAAAA,SAAKC,IAAE;AACLH,cAAQC,IAAI,QAAQE,EAAAA;IACtB;IAEAC,WAAAA,SAAUC,MAAMF,IAAE;AAChBH,cAAQC,IAAI,OAAOE,EAAAA;IACrB;EACF;AACF;",
|
|
5
|
-
"names": ["fixDependenciesPlugin", "name", "enforce", "resolveId", "source", "importer", "options", "console", "log", "load", "id", "transform", "code"]
|
|
6
|
-
}
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
import fs from "node:fs/promises";
|
|
2
|
-
import fsSync from "node:fs";
|
|
3
|
-
import path from "node:path";
|
|
4
|
-
async function crawlFrameworkPkgs(options) {
|
|
5
|
-
const pkgJsonPath = await findClosestPkgJsonPath(options.root);
|
|
6
|
-
if (!pkgJsonPath) {
|
|
7
|
-
if (typeof Deno < "u")
|
|
8
|
-
return {
|
|
9
|
-
optimizeDeps: { include: [], exclude: [] },
|
|
10
|
-
ssr: { noExternal: [], external: [] }
|
|
11
|
-
};
|
|
12
|
-
throw new Error(`Cannot find package.json from ${options.root}`);
|
|
13
|
-
}
|
|
14
|
-
const pkgJson = await readJson(pkgJsonPath).catch((e) => {
|
|
15
|
-
throw new Error(`Unable to read ${pkgJsonPath}`, { cause: e });
|
|
16
|
-
});
|
|
17
|
-
let optimizeDepsInclude = [], optimizeDepsExclude = [], ssrNoExternal = [], ssrExternal = [];
|
|
18
|
-
if (await crawl(pkgJsonPath, pkgJson), options.viteUserConfig) {
|
|
19
|
-
const _optimizeDepsExclude = options.viteUserConfig?.optimizeDeps?.exclude;
|
|
20
|
-
_optimizeDepsExclude && (optimizeDepsInclude = optimizeDepsInclude.filter(
|
|
21
|
-
(dep) => !isDepExcluded(dep, _optimizeDepsExclude)
|
|
22
|
-
));
|
|
23
|
-
const _optimizeDepsInclude = options.viteUserConfig?.optimizeDeps?.include;
|
|
24
|
-
_optimizeDepsInclude && (optimizeDepsExclude = optimizeDepsExclude.filter(
|
|
25
|
-
(dep) => !isDepIncluded(dep, _optimizeDepsInclude)
|
|
26
|
-
));
|
|
27
|
-
const _ssrExternal = options.viteUserConfig?.ssr?.external;
|
|
28
|
-
_ssrExternal && (ssrNoExternal = ssrNoExternal.filter((dep) => !isDepExternaled(dep, _ssrExternal)));
|
|
29
|
-
const _ssrNoExternal = options.viteUserConfig?.ssr?.noExternal;
|
|
30
|
-
_ssrNoExternal && (ssrExternal = ssrExternal.filter((dep) => !isDepNoExternaled(dep, _ssrNoExternal)));
|
|
31
|
-
}
|
|
32
|
-
return {
|
|
33
|
-
optimizeDeps: {
|
|
34
|
-
include: optimizeDepsInclude,
|
|
35
|
-
exclude: optimizeDepsExclude
|
|
36
|
-
},
|
|
37
|
-
ssr: {
|
|
38
|
-
noExternal: ssrNoExternal,
|
|
39
|
-
external: ssrExternal
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
async function crawl(pkgJsonPath2, pkgJson2, parentDepNames = []) {
|
|
43
|
-
const isRoot = parentDepNames.length === 0;
|
|
44
|
-
let deps = [
|
|
45
|
-
...Object.keys(pkgJson2.dependencies || {}),
|
|
46
|
-
...isRoot ? Object.keys(pkgJson2.devDependencies || {}) : []
|
|
47
|
-
];
|
|
48
|
-
deps = deps.filter((dep) => {
|
|
49
|
-
if (parentDepNames.includes(dep))
|
|
50
|
-
return !1;
|
|
51
|
-
const isFrameworkPkg = options.isFrameworkPkgByName?.(dep), isSemiFrameworkPkg = options.isSemiFrameworkPkgByName?.(dep);
|
|
52
|
-
return isFrameworkPkg ? (optimizeDepsExclude.push(dep), ssrNoExternal.push(dep)) : isSemiFrameworkPkg && ssrNoExternal.push(dep), !(isFrameworkPkg === !1 || isSemiFrameworkPkg === !1);
|
|
53
|
-
});
|
|
54
|
-
const promises = deps.map(async (dep) => {
|
|
55
|
-
const depPkgJsonPath = await findDepPkgJsonPath(dep, pkgJsonPath2);
|
|
56
|
-
if (!depPkgJsonPath) return;
|
|
57
|
-
const depPkgJson = await readJson(depPkgJsonPath).catch(() => {
|
|
58
|
-
});
|
|
59
|
-
if (!depPkgJson) return;
|
|
60
|
-
if (ssrNoExternal.includes(dep))
|
|
61
|
-
return crawl(depPkgJsonPath, depPkgJson, parentDepNames.concat(dep));
|
|
62
|
-
const isFrameworkPkg = options.isFrameworkPkgByJson?.(depPkgJson), isSemiFrameworkPkg = options.isSemiFrameworkPkgByJson?.(depPkgJson);
|
|
63
|
-
if (isFrameworkPkg || isSemiFrameworkPkg)
|
|
64
|
-
return isFrameworkPkg ? (optimizeDepsExclude.push(dep), ssrNoExternal.push(dep)) : isSemiFrameworkPkg && ssrNoExternal.push(dep), crawl(depPkgJsonPath, depPkgJson, parentDepNames.concat(dep));
|
|
65
|
-
isRoot || (await pkgNeedsOptimization(depPkgJson, depPkgJsonPath) && optimizeDepsInclude.push(parentDepNames.concat(dep).join(" > ")), !options.isBuild && !ssrExternal.includes(dep) && ssrExternal.push(dep));
|
|
66
|
-
});
|
|
67
|
-
await Promise.all(promises);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
async function findDepPkgJsonPath(dep, parent) {
|
|
71
|
-
let root = parent;
|
|
72
|
-
for (; root; ) {
|
|
73
|
-
const pkg = path.join(root, "node_modules", dep, "package.json");
|
|
74
|
-
try {
|
|
75
|
-
return await fs.access(pkg), fsSync.realpathSync(pkg);
|
|
76
|
-
} catch {
|
|
77
|
-
}
|
|
78
|
-
const nextRoot = path.dirname(root);
|
|
79
|
-
if (nextRoot === root) break;
|
|
80
|
-
root = nextRoot;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
async function findClosestPkgJsonPath(dir, predicate) {
|
|
84
|
-
for (dir.endsWith("package.json") && (dir = path.dirname(dir)); dir; ) {
|
|
85
|
-
const pkg = path.join(dir, "package.json");
|
|
86
|
-
try {
|
|
87
|
-
if ((await fs.stat(pkg)).isFile() && (!predicate || await predicate(pkg)))
|
|
88
|
-
return pkg;
|
|
89
|
-
} catch {
|
|
90
|
-
}
|
|
91
|
-
const nextDir = path.dirname(dir);
|
|
92
|
-
if (nextDir === dir) break;
|
|
93
|
-
dir = nextDir;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
async function pkgNeedsOptimization(pkgJson, pkgJsonPath) {
|
|
97
|
-
if (pkgJson.module || pkgJson.exports) return !1;
|
|
98
|
-
if (pkgJson.main) {
|
|
99
|
-
const entryExt = path.extname(pkgJson.main);
|
|
100
|
-
return !entryExt || entryExt === ".js" || entryExt === ".cjs";
|
|
101
|
-
}
|
|
102
|
-
try {
|
|
103
|
-
return await fs.access(path.join(path.dirname(pkgJsonPath), "index.js")), !0;
|
|
104
|
-
} catch {
|
|
105
|
-
return !1;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
async function readJson(findDepPkgJsonPath2) {
|
|
109
|
-
return JSON.parse(await fs.readFile(findDepPkgJsonPath2, "utf8"));
|
|
110
|
-
}
|
|
111
|
-
function isDepIncluded(dep, optimizeDepsInclude) {
|
|
112
|
-
return optimizeDepsInclude.some((id) => parseIncludeStr(id) === dep);
|
|
113
|
-
}
|
|
114
|
-
function isDepExcluded(dep, optimizeDepsExclude) {
|
|
115
|
-
return dep = parseIncludeStr(dep), optimizeDepsExclude.some((id) => id === dep || dep.startsWith(`${id}/`));
|
|
116
|
-
}
|
|
117
|
-
function isDepNoExternaled(dep, ssrNoExternal) {
|
|
118
|
-
return ssrNoExternal === !0 ? !0 : isMatch(dep, ssrNoExternal);
|
|
119
|
-
}
|
|
120
|
-
function isDepExternaled(dep, ssrExternal) {
|
|
121
|
-
return ssrExternal.includes(dep);
|
|
122
|
-
}
|
|
123
|
-
function parseIncludeStr(raw) {
|
|
124
|
-
const lastArrow = raw.lastIndexOf(">");
|
|
125
|
-
return lastArrow === -1 ? raw : raw.slice(lastArrow + 1).trim();
|
|
126
|
-
}
|
|
127
|
-
function isMatch(target, pattern) {
|
|
128
|
-
if (Array.isArray(pattern))
|
|
129
|
-
return pattern.some((p) => isMatch(target, p));
|
|
130
|
-
if (typeof pattern == "string")
|
|
131
|
-
return target === pattern;
|
|
132
|
-
if (pattern instanceof RegExp)
|
|
133
|
-
return pattern.test(target);
|
|
134
|
-
}
|
|
135
|
-
export {
|
|
136
|
-
crawlFrameworkPkgs,
|
|
137
|
-
findClosestPkgJsonPath,
|
|
138
|
-
findDepPkgJsonPath,
|
|
139
|
-
isDepExcluded,
|
|
140
|
-
isDepExternaled,
|
|
141
|
-
isDepIncluded,
|
|
142
|
-
isDepNoExternaled,
|
|
143
|
-
pkgNeedsOptimization
|
|
144
|
-
};
|
|
145
|
-
//# sourceMappingURL=findDepsToOptimize.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/utils/findDepsToOptimize.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": ["pkgJsonPath", "pkgJson", "findDepPkgJsonPath"]
|
|
6
|
-
}
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
import fs from "node:fs/promises";
|
|
2
|
-
import fsSync from "node:fs";
|
|
3
|
-
import path from "node:path";
|
|
4
|
-
async function crawlFrameworkPkgs(options) {
|
|
5
|
-
const pkgJsonPath = await findClosestPkgJsonPath(options.root);
|
|
6
|
-
if (!pkgJsonPath) {
|
|
7
|
-
if (typeof Deno < "u") return {
|
|
8
|
-
optimizeDeps: {
|
|
9
|
-
include: [],
|
|
10
|
-
exclude: []
|
|
11
|
-
},
|
|
12
|
-
ssr: {
|
|
13
|
-
noExternal: [],
|
|
14
|
-
external: []
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
throw new Error(`Cannot find package.json from ${options.root}`);
|
|
18
|
-
}
|
|
19
|
-
const pkgJson = await readJson(pkgJsonPath).catch(e => {
|
|
20
|
-
throw new Error(`Unable to read ${pkgJsonPath}`, {
|
|
21
|
-
cause: e
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
let optimizeDepsInclude = [],
|
|
25
|
-
optimizeDepsExclude = [],
|
|
26
|
-
ssrNoExternal = [],
|
|
27
|
-
ssrExternal = [];
|
|
28
|
-
if (await crawl(pkgJsonPath, pkgJson), options.viteUserConfig) {
|
|
29
|
-
const _optimizeDepsExclude = options.viteUserConfig?.optimizeDeps?.exclude;
|
|
30
|
-
_optimizeDepsExclude && (optimizeDepsInclude = optimizeDepsInclude.filter(dep => !isDepExcluded(dep, _optimizeDepsExclude)));
|
|
31
|
-
const _optimizeDepsInclude = options.viteUserConfig?.optimizeDeps?.include;
|
|
32
|
-
_optimizeDepsInclude && (optimizeDepsExclude = optimizeDepsExclude.filter(dep => !isDepIncluded(dep, _optimizeDepsInclude)));
|
|
33
|
-
const _ssrExternal = options.viteUserConfig?.ssr?.external;
|
|
34
|
-
_ssrExternal && (ssrNoExternal = ssrNoExternal.filter(dep => !isDepExternaled(dep, _ssrExternal)));
|
|
35
|
-
const _ssrNoExternal = options.viteUserConfig?.ssr?.noExternal;
|
|
36
|
-
_ssrNoExternal && (ssrExternal = ssrExternal.filter(dep => !isDepNoExternaled(dep, _ssrNoExternal)));
|
|
37
|
-
}
|
|
38
|
-
return {
|
|
39
|
-
optimizeDeps: {
|
|
40
|
-
include: optimizeDepsInclude,
|
|
41
|
-
exclude: optimizeDepsExclude
|
|
42
|
-
},
|
|
43
|
-
ssr: {
|
|
44
|
-
noExternal: ssrNoExternal,
|
|
45
|
-
external: ssrExternal
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
async function crawl(pkgJsonPath2, pkgJson2, parentDepNames = []) {
|
|
49
|
-
const isRoot = parentDepNames.length === 0;
|
|
50
|
-
let deps = [...Object.keys(pkgJson2.dependencies || {}), ...(isRoot ? Object.keys(pkgJson2.devDependencies || {}) : [])];
|
|
51
|
-
deps = deps.filter(dep => {
|
|
52
|
-
if (parentDepNames.includes(dep)) return !1;
|
|
53
|
-
const isFrameworkPkg = options.isFrameworkPkgByName?.(dep),
|
|
54
|
-
isSemiFrameworkPkg = options.isSemiFrameworkPkgByName?.(dep);
|
|
55
|
-
return isFrameworkPkg ? (optimizeDepsExclude.push(dep), ssrNoExternal.push(dep)) : isSemiFrameworkPkg && ssrNoExternal.push(dep), !(isFrameworkPkg === !1 || isSemiFrameworkPkg === !1);
|
|
56
|
-
});
|
|
57
|
-
const promises = deps.map(async dep => {
|
|
58
|
-
const depPkgJsonPath = await findDepPkgJsonPath(dep, pkgJsonPath2);
|
|
59
|
-
if (!depPkgJsonPath) return;
|
|
60
|
-
const depPkgJson = await readJson(depPkgJsonPath).catch(() => {});
|
|
61
|
-
if (!depPkgJson) return;
|
|
62
|
-
if (ssrNoExternal.includes(dep)) return crawl(depPkgJsonPath, depPkgJson, parentDepNames.concat(dep));
|
|
63
|
-
const isFrameworkPkg = options.isFrameworkPkgByJson?.(depPkgJson),
|
|
64
|
-
isSemiFrameworkPkg = options.isSemiFrameworkPkgByJson?.(depPkgJson);
|
|
65
|
-
if (isFrameworkPkg || isSemiFrameworkPkg) return isFrameworkPkg ? (optimizeDepsExclude.push(dep), ssrNoExternal.push(dep)) : isSemiFrameworkPkg && ssrNoExternal.push(dep), crawl(depPkgJsonPath, depPkgJson, parentDepNames.concat(dep));
|
|
66
|
-
isRoot || ((await pkgNeedsOptimization(depPkgJson, depPkgJsonPath)) && optimizeDepsInclude.push(parentDepNames.concat(dep).join(" > ")), !options.isBuild && !ssrExternal.includes(dep) && ssrExternal.push(dep));
|
|
67
|
-
});
|
|
68
|
-
await Promise.all(promises);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
async function findDepPkgJsonPath(dep, parent) {
|
|
72
|
-
let root = parent;
|
|
73
|
-
for (; root;) {
|
|
74
|
-
const pkg = path.join(root, "node_modules", dep, "package.json");
|
|
75
|
-
try {
|
|
76
|
-
return await fs.access(pkg), fsSync.realpathSync(pkg);
|
|
77
|
-
} catch {}
|
|
78
|
-
const nextRoot = path.dirname(root);
|
|
79
|
-
if (nextRoot === root) break;
|
|
80
|
-
root = nextRoot;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
async function findClosestPkgJsonPath(dir, predicate) {
|
|
84
|
-
for (dir.endsWith("package.json") && (dir = path.dirname(dir)); dir;) {
|
|
85
|
-
const pkg = path.join(dir, "package.json");
|
|
86
|
-
try {
|
|
87
|
-
if ((await fs.stat(pkg)).isFile() && (!predicate || (await predicate(pkg)))) return pkg;
|
|
88
|
-
} catch {}
|
|
89
|
-
const nextDir = path.dirname(dir);
|
|
90
|
-
if (nextDir === dir) break;
|
|
91
|
-
dir = nextDir;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
async function pkgNeedsOptimization(pkgJson, pkgJsonPath) {
|
|
95
|
-
if (pkgJson.module || pkgJson.exports) return !1;
|
|
96
|
-
if (pkgJson.main) {
|
|
97
|
-
const entryExt = path.extname(pkgJson.main);
|
|
98
|
-
return !entryExt || entryExt === ".js" || entryExt === ".cjs";
|
|
99
|
-
}
|
|
100
|
-
try {
|
|
101
|
-
return await fs.access(path.join(path.dirname(pkgJsonPath), "index.js")), !0;
|
|
102
|
-
} catch {
|
|
103
|
-
return !1;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
async function readJson(findDepPkgJsonPath2) {
|
|
107
|
-
return JSON.parse(await fs.readFile(findDepPkgJsonPath2, "utf8"));
|
|
108
|
-
}
|
|
109
|
-
function isDepIncluded(dep, optimizeDepsInclude) {
|
|
110
|
-
return optimizeDepsInclude.some(id => parseIncludeStr(id) === dep);
|
|
111
|
-
}
|
|
112
|
-
function isDepExcluded(dep, optimizeDepsExclude) {
|
|
113
|
-
return dep = parseIncludeStr(dep), optimizeDepsExclude.some(id => id === dep || dep.startsWith(`${id}/`));
|
|
114
|
-
}
|
|
115
|
-
function isDepNoExternaled(dep, ssrNoExternal) {
|
|
116
|
-
return ssrNoExternal === !0 ? !0 : isMatch(dep, ssrNoExternal);
|
|
117
|
-
}
|
|
118
|
-
function isDepExternaled(dep, ssrExternal) {
|
|
119
|
-
return ssrExternal.includes(dep);
|
|
120
|
-
}
|
|
121
|
-
function parseIncludeStr(raw) {
|
|
122
|
-
const lastArrow = raw.lastIndexOf(">");
|
|
123
|
-
return lastArrow === -1 ? raw : raw.slice(lastArrow + 1).trim();
|
|
124
|
-
}
|
|
125
|
-
function isMatch(target, pattern) {
|
|
126
|
-
if (Array.isArray(pattern)) return pattern.some(p => isMatch(target, p));
|
|
127
|
-
if (typeof pattern == "string") return target === pattern;
|
|
128
|
-
if (pattern instanceof RegExp) return pattern.test(target);
|
|
129
|
-
}
|
|
130
|
-
export { crawlFrameworkPkgs, findClosestPkgJsonPath, findDepPkgJsonPath, isDepExcluded, isDepExternaled, isDepIncluded, isDepNoExternaled, pkgNeedsOptimization };
|
|
131
|
-
//# sourceMappingURL=findDepsToOptimize.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["fs","fsSync","path","crawlFrameworkPkgs","options","pkgJsonPath","findClosestPkgJsonPath","root","Deno","optimizeDeps","include","exclude","ssr","noExternal","external","Error","pkgJson","readJson","catch","e","cause","optimizeDepsInclude","optimizeDepsExclude","ssrNoExternal","ssrExternal","crawl","viteUserConfig","_optimizeDepsExclude","filter","dep","isDepExcluded","_optimizeDepsInclude","isDepIncluded","_ssrExternal","isDepExternaled","_ssrNoExternal","isDepNoExternaled","pkgJsonPath2","pkgJson2","parentDepNames","isRoot","length","deps","Object","keys","dependencies","devDependencies","includes","isFrameworkPkg","isFrameworkPkgByName","isSemiFrameworkPkg","isSemiFrameworkPkgByName","push","promises","map","depPkgJsonPath","findDepPkgJsonPath","depPkgJson","concat","isFrameworkPkgByJson","isSemiFrameworkPkgByJson","pkgNeedsOptimization","join","isBuild","Promise","all","parent","pkg","access","realpathSync","nextRoot","dirname","dir","predicate","endsWith","stat","isFile","nextDir","module","exports","main","entryExt","extname","findDepPkgJsonPath2","JSON","parse","readFile","some","id","parseIncludeStr","startsWith","isMatch","raw","lastArrow","lastIndexOf","slice","trim","target","pattern","Array","isArray","p","RegExp","test"],"sources":["../../src/utils/findDepsToOptimize.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|