vxrn 0.1.19 → 0.1.21
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/build.js +57 -8
- package/dist/cjs/build.js.map +2 -2
- package/dist/cjs/build.native.js +180 -8
- package/dist/cjs/build.native.js.map +2 -2
- package/dist/cjs/cli.js +77 -3
- package/dist/cjs/cli.js.map +2 -2
- package/dist/cjs/cli.native.js +268 -2
- package/dist/cjs/cli.native.js.map +2 -2
- package/dist/cjs/constants.js +21 -0
- package/dist/cjs/constants.js.map +6 -0
- package/dist/cjs/constants.native.js +26 -0
- package/dist/cjs/constants.native.js.map +6 -0
- package/dist/cjs/createDevServer.js +9 -10
- package/dist/cjs/createDevServer.js.map +1 -1
- package/dist/cjs/createDevServer.native.js +9 -11
- package/dist/cjs/createDevServer.native.js.map +2 -2
- package/dist/cjs/createExpoServer.js +34 -0
- package/dist/cjs/createExpoServer.js.map +6 -0
- package/dist/cjs/createExpoServer.native.js +42 -0
- package/dist/cjs/createExpoServer.native.js.map +6 -0
- package/dist/cjs/{getBaseViteConfig.js → dispose.js} +12 -24
- package/dist/cjs/dispose.js.map +6 -0
- package/dist/cjs/{getBaseViteConfig.native.js → dispose.native.js} +16 -26
- package/dist/cjs/dispose.native.js.map +6 -0
- package/dist/cjs/exports/build.js +145 -0
- package/dist/cjs/exports/build.js.map +6 -0
- package/dist/cjs/exports/build.native.js +409 -0
- package/dist/cjs/exports/build.native.js.map +6 -0
- package/dist/cjs/exports/checkPatches.js +62 -0
- package/dist/cjs/exports/checkPatches.js.map +6 -0
- package/dist/cjs/{getOptionsFIlled.native.js → exports/checkPatches.native.js} +106 -124
- package/dist/cjs/exports/checkPatches.native.js.map +6 -0
- package/dist/cjs/{create.js → exports/dev.js} +90 -168
- package/dist/cjs/exports/dev.js.map +6 -0
- package/dist/cjs/{create.native.js → exports/dev.native.js} +148 -357
- package/dist/cjs/exports/dev.native.js.map +6 -0
- package/dist/cjs/{dev/bindKeypressInput.js → exports/serve.js} +31 -40
- package/dist/cjs/exports/serve.js.map +6 -0
- package/dist/cjs/{getVitePath.native.js → exports/serve.native.js} +99 -60
- package/dist/cjs/exports/serve.native.js.map +6 -0
- package/dist/cjs/index.js +2 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index.native.js +3 -5
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/plugins/clientBundleTreeShakePlugin.js +69 -0
- package/dist/cjs/plugins/clientBundleTreeShakePlugin.js.map +6 -0
- package/dist/cjs/plugins/clientBundleTreeShakePlugin.native.js +97 -0
- package/dist/cjs/plugins/clientBundleTreeShakePlugin.native.js.map +6 -0
- package/dist/cjs/plugins/clientInjectPlugin.js +66 -0
- package/dist/cjs/plugins/clientInjectPlugin.js.map +6 -0
- package/dist/cjs/plugins/clientInjectPlugin.native.js +190 -0
- package/dist/cjs/plugins/clientInjectPlugin.native.js.map +6 -0
- package/dist/cjs/plugins/reactNativeCommonJsPlugin.js +89 -0
- package/dist/cjs/plugins/reactNativeCommonJsPlugin.js.map +6 -0
- package/dist/cjs/plugins/reactNativeCommonJsPlugin.native.js +346 -0
- package/dist/cjs/plugins/reactNativeCommonJsPlugin.native.js.map +6 -0
- package/dist/cjs/utils/checkPatches.js +62 -0
- package/dist/cjs/utils/checkPatches.js.map +6 -0
- package/dist/cjs/{VXRNConfigFilled.native.js → utils/checkPatches.native.js} +106 -124
- package/dist/cjs/utils/checkPatches.native.js.map +6 -0
- package/dist/cjs/utils/dispose.js +28 -0
- package/dist/cjs/utils/dispose.js.map +6 -0
- package/dist/cjs/utils/dispose.native.js +36 -0
- package/dist/cjs/utils/dispose.native.js.map +6 -0
- package/dist/cjs/utils/getBaseViteConfig.js +2 -2
- package/dist/cjs/utils/getBaseViteConfig.js.map +1 -1
- package/dist/cjs/utils/getBaseViteConfig.native.js +2 -2
- package/dist/cjs/utils/getBaseViteConfig.native.js.map +1 -1
- package/dist/cjs/utils/getOptionsFilled.js +3 -3
- package/dist/cjs/utils/getOptionsFilled.js.map +2 -2
- package/dist/cjs/utils/getOptionsFilled.native.js +4 -3
- package/dist/cjs/utils/getOptionsFilled.native.js.map +2 -2
- package/dist/cjs/utils/patches.js +62 -0
- package/dist/cjs/utils/patches.js.map +6 -0
- package/dist/cjs/utils/patches.native.js +289 -0
- package/dist/cjs/utils/patches.native.js.map +6 -0
- package/dist/cjs/utils/prerender.js +1 -0
- package/dist/cjs/utils/prerender.js.map +6 -0
- package/dist/cjs/utils/prerender.native.js +2 -0
- package/dist/cjs/utils/prerender.native.js.map +6 -0
- package/dist/cjs/vendor/createExpoServer.js +34 -0
- package/dist/cjs/vendor/createExpoServer.js.map +6 -0
- package/dist/cjs/vendor/createExpoServer.native.js +42 -0
- package/dist/cjs/vendor/createExpoServer.native.js.map +6 -0
- package/dist/esm/build.js +51 -6
- package/dist/esm/build.js.map +2 -2
- package/dist/esm/build.mjs +68 -5
- package/dist/esm/build.native.js +174 -6
- package/dist/esm/build.native.js.map +2 -2
- package/dist/esm/cli.js +58 -3
- package/dist/esm/cli.js.map +2 -2
- package/dist/esm/cli.mjs +81 -9
- package/dist/esm/cli.native.js +249 -3
- package/dist/esm/cli.native.js.map +2 -2
- package/dist/esm/constants.js +5 -0
- package/dist/esm/constants.js.map +6 -0
- package/dist/esm/constants.mjs +2 -0
- package/dist/esm/constants.native.js +5 -0
- package/dist/esm/constants.native.js.map +6 -0
- package/dist/esm/createDevServer.js +10 -9
- package/dist/esm/createDevServer.js.map +1 -1
- package/dist/esm/createDevServer.mjs +8 -12
- package/dist/esm/createDevServer.native.js +10 -10
- package/dist/esm/createDevServer.native.js.map +2 -2
- package/dist/esm/createExpoServer.js +20 -0
- package/dist/esm/createExpoServer.js.map +6 -0
- package/dist/esm/createExpoServer.mjs +17 -0
- package/dist/esm/createExpoServer.native.js +22 -0
- package/dist/esm/createExpoServer.native.js.map +6 -0
- package/dist/esm/dispose.js +12 -0
- package/dist/esm/dispose.js.map +6 -0
- package/dist/esm/dispose.mjs +8 -0
- package/dist/esm/dispose.native.js +14 -0
- package/dist/esm/dispose.native.js.map +6 -0
- package/dist/esm/exports/build.js +128 -0
- package/dist/esm/exports/build.js.map +6 -0
- package/dist/esm/exports/build.mjs +119 -0
- package/dist/esm/exports/build.native.js +385 -0
- package/dist/esm/exports/build.native.js.map +6 -0
- package/dist/esm/exports/checkPatches.js +40 -0
- package/dist/esm/exports/checkPatches.js.map +6 -0
- package/dist/esm/exports/checkPatches.mjs +31 -0
- package/dist/esm/exports/checkPatches.native.js +262 -0
- package/dist/esm/exports/checkPatches.native.js.map +6 -0
- package/dist/esm/{create.js → exports/dev.js} +94 -171
- package/dist/esm/exports/dev.js.map +6 -0
- package/dist/esm/exports/dev.mjs +543 -0
- package/dist/esm/{create.native.js → exports/dev.native.js} +150 -359
- package/dist/esm/exports/dev.native.js.map +6 -0
- package/dist/esm/exports/serve.js +33 -0
- package/dist/esm/exports/serve.js.map +6 -0
- package/dist/esm/exports/serve.mjs +38 -0
- package/dist/esm/exports/serve.native.js +209 -0
- package/dist/esm/exports/serve.native.js.map +6 -0
- package/dist/esm/index.js +3 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +3 -4
- package/dist/esm/index.native.js +3 -5
- package/dist/esm/index.native.js.map +2 -2
- package/dist/esm/plugins/clientBundleTreeShakePlugin.js +46 -0
- package/dist/esm/plugins/clientBundleTreeShakePlugin.js.map +6 -0
- package/dist/esm/plugins/clientBundleTreeShakePlugin.mjs +41 -0
- package/dist/esm/plugins/clientBundleTreeShakePlugin.native.js +70 -0
- package/dist/esm/plugins/clientBundleTreeShakePlugin.native.js.map +6 -0
- package/dist/esm/plugins/clientInjectPlugin.js +42 -0
- package/dist/esm/plugins/clientInjectPlugin.js.map +6 -0
- package/dist/esm/plugins/clientInjectPlugin.mjs +56 -0
- package/dist/esm/plugins/clientInjectPlugin.native.js +161 -0
- package/dist/esm/plugins/clientInjectPlugin.native.js.map +6 -0
- package/dist/esm/plugins/reactNativeCommonJsPlugin.js +75 -0
- package/dist/esm/plugins/reactNativeCommonJsPlugin.js.map +6 -0
- package/dist/esm/plugins/reactNativeCommonJsPlugin.mjs +55 -0
- package/dist/esm/plugins/reactNativeCommonJsPlugin.native.js +327 -0
- package/dist/esm/plugins/reactNativeCommonJsPlugin.native.js.map +6 -0
- package/dist/esm/utils/checkPatches.js +40 -0
- package/dist/esm/utils/checkPatches.js.map +6 -0
- package/dist/esm/utils/checkPatches.mjs +31 -0
- package/dist/esm/utils/checkPatches.native.js +262 -0
- package/dist/esm/utils/checkPatches.native.js.map +6 -0
- package/dist/esm/utils/dispose.js +12 -0
- package/dist/esm/utils/dispose.js.map +6 -0
- package/dist/esm/utils/dispose.mjs +8 -0
- package/dist/esm/utils/dispose.native.js +14 -0
- package/dist/esm/utils/dispose.native.js.map +6 -0
- package/dist/esm/utils/getBaseViteConfig.js +1 -1
- package/dist/esm/utils/getBaseViteConfig.mjs +1 -1
- package/dist/esm/utils/getBaseViteConfig.native.js +1 -1
- package/dist/esm/utils/getOptionsFilled.js +3 -1
- package/dist/esm/utils/getOptionsFilled.js.map +2 -2
- package/dist/esm/utils/getOptionsFilled.mjs +3 -1
- package/dist/esm/utils/getOptionsFilled.native.js +4 -2
- package/dist/esm/utils/getOptionsFilled.native.js.map +2 -2
- package/dist/esm/utils/patches.js +40 -0
- package/dist/esm/utils/patches.js.map +6 -0
- package/dist/esm/utils/patches.mjs +31 -0
- package/dist/esm/utils/patches.native.js +262 -0
- package/dist/esm/utils/patches.native.js.map +6 -0
- package/dist/esm/utils/prerender.js +1 -0
- package/dist/esm/utils/prerender.js.map +6 -0
- package/dist/esm/utils/prerender.mjs +0 -0
- package/dist/esm/utils/prerender.native.js +1 -0
- package/dist/esm/utils/prerender.native.js.map +6 -0
- package/dist/esm/vendor/createExpoServer.js +20 -0
- package/dist/esm/vendor/createExpoServer.js.map +6 -0
- package/dist/esm/vendor/createExpoServer.mjs +17 -0
- package/dist/esm/vendor/createExpoServer.native.js +22 -0
- package/dist/esm/vendor/createExpoServer.native.js.map +6 -0
- package/package.json +9 -6
- package/react-native-template.js +11 -0
- package/src/cli.ts +78 -2
- package/src/exports/build.ts +197 -0
- package/src/{createDevServer.ts → exports/dev.ts} +25 -72
- package/src/exports/serve.ts +51 -0
- package/src/index.ts +3 -3
- package/src/plugins/clientBundleTreeShakePlugin.tsx +105 -0
- package/src/{dev → plugins}/clientInjectPlugin.ts +1 -12
- package/src/{nativePlugin.ts → plugins/reactNativeCommonJsPlugin.ts} +3 -26
- package/src/utils/getBaseViteConfig.ts +1 -1
- package/src/utils/getOptionsFilled.ts +6 -1
- package/src/utils/patches.ts +54 -0
- package/src/vendor/createExpoServer.ts +27 -0
- package/types/build.d.ts +4 -4
- package/types/constants.d.ts +2 -0
- package/types/createExpoServer.d.ts +4 -0
- package/types/dispose.d.ts +3 -0
- package/types/exports/build.d.ts +4 -0
- package/types/exports/dev.d.ts +13 -0
- package/types/exports/serve.d.ts +3 -0
- package/types/index.d.ts +2 -3
- package/types/plugins/clientBundleTreeShakePlugin.d.ts +13 -0
- package/types/plugins/clientBundleTreeShakePlugni.d.ts +13 -0
- package/types/plugins/clientInjectPlugin.d.ts +7 -0
- package/types/plugins/reactNativeCommonJsPlugin.d.ts +7 -0
- package/types/plugins/server-tree-shake.d.ts +13 -0
- package/types/utils/checkPatches.d.ts +3 -0
- package/types/utils/dispose.d.ts +3 -0
- package/types/utils/patches.d.ts +3 -0
- package/types/utils/prerender.d.ts +1 -0
- package/types/vendor/createExpoServer.d.ts +4 -0
- package/dist/cjs/VXRNConfigFilled.js +0 -53
- package/dist/cjs/VXRNConfigFilled.js.map +0 -6
- package/dist/cjs/VXRNConfigFilled.native.js.map +0 -6
- package/dist/cjs/create.js.map +0 -6
- package/dist/cjs/create.native.js.map +0 -6
- package/dist/cjs/dev/bindKeypressInput.js.map +0 -6
- package/dist/cjs/dev/bindKeypressInput.native.js +0 -73
- package/dist/cjs/dev/bindKeypressInput.native.js.map +0 -6
- package/dist/cjs/getBaseViteConfig.js.map +0 -6
- package/dist/cjs/getBaseViteConfig.native.js.map +0 -6
- package/dist/cjs/getOptionsFIlled.js +0 -53
- package/dist/cjs/getOptionsFIlled.js.map +0 -6
- package/dist/cjs/getOptionsFIlled.native.js.map +0 -6
- package/dist/cjs/getVitePath.js +0 -50
- package/dist/cjs/getVitePath.js.map +0 -6
- package/dist/cjs/getVitePath.native.js.map +0 -6
- package/dist/esm/VXRNConfigFilled.js +0 -30
- package/dist/esm/VXRNConfigFilled.js.map +0 -6
- package/dist/esm/VXRNConfigFilled.mjs +0 -34
- package/dist/esm/VXRNConfigFilled.native.js +0 -279
- package/dist/esm/VXRNConfigFilled.native.js.map +0 -6
- package/dist/esm/create.js.map +0 -6
- package/dist/esm/create.mjs +0 -624
- package/dist/esm/create.native.js.map +0 -6
- package/dist/esm/dev/bindKeypressInput.js +0 -40
- package/dist/esm/dev/bindKeypressInput.js.map +0 -6
- package/dist/esm/dev/bindKeypressInput.mjs +0 -41
- package/dist/esm/dev/bindKeypressInput.native.js +0 -44
- package/dist/esm/dev/bindKeypressInput.native.js.map +0 -6
- package/dist/esm/getBaseViteConfig.js +0 -24
- package/dist/esm/getBaseViteConfig.js.map +0 -6
- package/dist/esm/getBaseViteConfig.mjs +0 -23
- package/dist/esm/getBaseViteConfig.native.js +0 -25
- package/dist/esm/getBaseViteConfig.native.js.map +0 -6
- package/dist/esm/getOptionsFIlled.js +0 -30
- package/dist/esm/getOptionsFIlled.js.map +0 -6
- package/dist/esm/getOptionsFIlled.mjs +0 -34
- package/dist/esm/getOptionsFIlled.native.js +0 -279
- package/dist/esm/getOptionsFIlled.native.js.map +0 -6
- package/dist/esm/getVitePath.js +0 -28
- package/dist/esm/getVitePath.js.map +0 -6
- package/dist/esm/getVitePath.mjs +0 -21
- package/dist/esm/getVitePath.native.js +0 -170
- package/dist/esm/getVitePath.native.js.map +0 -6
- package/src/build.ts +0 -96
- package/src/commands/cli-build.ts +0 -25
- package/src/commands/cli-dev.ts +0 -47
- package/src/commands/index.ts +0 -10
- package/src/dev/createDevServer.ts +0 -234
- /package/src/{utils/constants.ts → constants.ts} +0 -0
- /package/src/{utils.ts → utils/dispose.ts} +0 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { resolve as importMetaResolve } from "import-meta-resolve";
|
|
2
|
+
import fs from "node:fs";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { mergeConfig, build as viteBuild } from "vite";
|
|
5
|
+
import FSExtra from "fs-extra";
|
|
6
|
+
import { clientBundleTreeShakePlugin } from "../plugins/clientBundleTreeShakePlugin";
|
|
7
|
+
import { getBaseViteConfig } from "../utils/getBaseViteConfig";
|
|
8
|
+
import { getOptionsFilled } from "../utils/getOptionsFilled";
|
|
9
|
+
const resolveFile = (path2) => {
|
|
10
|
+
try {
|
|
11
|
+
return importMetaResolve(path2, import.meta.url).replace("file://", "");
|
|
12
|
+
} catch {
|
|
13
|
+
return require.resolve(path2);
|
|
14
|
+
}
|
|
15
|
+
}, { ensureDir, existsSync, readFile } = FSExtra, extensions = [
|
|
16
|
+
".web.tsx",
|
|
17
|
+
".tsx",
|
|
18
|
+
".web.ts",
|
|
19
|
+
".ts",
|
|
20
|
+
".web.jsx",
|
|
21
|
+
".jsx",
|
|
22
|
+
".web.js",
|
|
23
|
+
".js",
|
|
24
|
+
".css",
|
|
25
|
+
".json"
|
|
26
|
+
], build = async (optionsIn) => {
|
|
27
|
+
const options = await getOptionsFilled(optionsIn), depsToOptimize = [
|
|
28
|
+
"react",
|
|
29
|
+
"react-dom",
|
|
30
|
+
"@react-native/normalize-color",
|
|
31
|
+
"@react-navigation/native",
|
|
32
|
+
"expo-constants",
|
|
33
|
+
"expo-modules-core",
|
|
34
|
+
"expo-status-bar"
|
|
35
|
+
];
|
|
36
|
+
let buildConfig = mergeConfig(
|
|
37
|
+
getBaseViteConfig({
|
|
38
|
+
mode: "production"
|
|
39
|
+
}),
|
|
40
|
+
{
|
|
41
|
+
root: options.root,
|
|
42
|
+
clearScreen: !1,
|
|
43
|
+
optimizeDeps: {
|
|
44
|
+
include: depsToOptimize,
|
|
45
|
+
esbuildOptions: {
|
|
46
|
+
resolveExtensions: extensions
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
);
|
|
51
|
+
options.webConfig && (buildConfig = mergeConfig(buildConfig, options.webConfig)), console.info("build client"), await viteBuild(
|
|
52
|
+
mergeConfig(buildConfig, {
|
|
53
|
+
plugins: [clientBundleTreeShakePlugin({})],
|
|
54
|
+
build: {
|
|
55
|
+
ssrManifest: !0,
|
|
56
|
+
outDir: "dist/client"
|
|
57
|
+
}
|
|
58
|
+
})
|
|
59
|
+
), console.info("build server");
|
|
60
|
+
const { output } = await viteBuild(
|
|
61
|
+
mergeConfig(buildConfig, {
|
|
62
|
+
resolve: {
|
|
63
|
+
alias: {
|
|
64
|
+
"react-native": "react-native-web-lite"
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
optimizeDeps: {
|
|
68
|
+
esbuildOptions: {
|
|
69
|
+
format: "cjs"
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
ssr: {
|
|
73
|
+
noExternal: !0
|
|
74
|
+
},
|
|
75
|
+
build: {
|
|
76
|
+
// we want one big file of css
|
|
77
|
+
cssCodeSplit: !1,
|
|
78
|
+
ssr: "src/entry-server.tsx",
|
|
79
|
+
outDir: "dist/server",
|
|
80
|
+
rollupOptions: {
|
|
81
|
+
external: []
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
})
|
|
85
|
+
);
|
|
86
|
+
console.info("generating static pages"), await generateStaticPages(options, output);
|
|
87
|
+
};
|
|
88
|
+
async function generateStaticPages(options, serverOutput) {
|
|
89
|
+
const toAbsolute = (p) => path.resolve(options.root, p), staticDir = toAbsolute("dist/static");
|
|
90
|
+
await ensureDir(staticDir);
|
|
91
|
+
const template = fs.readFileSync(toAbsolute("index.html"), "utf-8"), render = (await import(`${options.root}/dist/server/entry-server.js`)).render, entry = serverOutput.find(
|
|
92
|
+
(x) => x.type === "chunk" && x.facadeModuleId?.includes("entry-server")
|
|
93
|
+
), assets = [], allRoutes = (await Promise.all(
|
|
94
|
+
serverOutput.flatMap(async (output) => {
|
|
95
|
+
if (output.type === "asset")
|
|
96
|
+
return assets.push(output), [];
|
|
97
|
+
const id = output.facadeModuleId || "", file = path.basename(id), name = file.replace(/\.[^/.]+$/, "");
|
|
98
|
+
if (!id || file[0] === "_" || file.includes("entry-server"))
|
|
99
|
+
return [];
|
|
100
|
+
const result = (await (await import(path.join(options.root, "dist/server", output.fileName))).generateStaticParams?.() || [{}]).map((params) => getUrl(params));
|
|
101
|
+
function getUrl(params = {}) {
|
|
102
|
+
return name === "index" ? "/" : `/${name.split("/").map((part) => {
|
|
103
|
+
if (part[0] === "[") {
|
|
104
|
+
const found = params[part.slice(1, part.length - 1)];
|
|
105
|
+
return found || console.warn("not found", { params, part }), found;
|
|
106
|
+
}
|
|
107
|
+
return part;
|
|
108
|
+
}).join("/")}`;
|
|
109
|
+
}
|
|
110
|
+
return result;
|
|
111
|
+
})
|
|
112
|
+
)).flat(), cssString = assets.filter((x) => x.name?.endsWith(".css")).map((x) => x.source).join(`
|
|
113
|
+
|
|
114
|
+
`);
|
|
115
|
+
for (const path2 of allRoutes) {
|
|
116
|
+
const { appHtml, headHtml } = await render({ path: path2 }), slashFileName = `${path2 === "/" ? "/index" : path2}.html`, clientHtmlPath = toAbsolute(`dist/client${slashFileName}`), html = ((existsSync(clientHtmlPath) ? await readFile(clientHtmlPath, "utf-8") : null) || template).replace("<!--ssr-outlet-->", appHtml).replace(
|
|
117
|
+
"<!--head-outlet-->",
|
|
118
|
+
`${headHtml}
|
|
119
|
+
${cssString ? `<style>${cssString}</style>` : ""}`
|
|
120
|
+
), filePath = toAbsolute(`dist/static${slashFileName}`);
|
|
121
|
+
fs.writeFileSync(toAbsolute(filePath), html);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
export {
|
|
125
|
+
build,
|
|
126
|
+
resolveFile
|
|
127
|
+
};
|
|
128
|
+
//# sourceMappingURL=build.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/exports/build.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["path"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { resolve as importMetaResolve } from "import-meta-resolve";
|
|
2
|
+
import fs from "node:fs";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { mergeConfig, build as viteBuild } from "vite";
|
|
5
|
+
import FSExtra from "fs-extra";
|
|
6
|
+
import { clientBundleTreeShakePlugin } from "../plugins/clientBundleTreeShakePlugin.mjs";
|
|
7
|
+
import { getBaseViteConfig } from "../utils/getBaseViteConfig.mjs";
|
|
8
|
+
import { getOptionsFilled } from "../utils/getOptionsFilled.mjs";
|
|
9
|
+
const resolveFile = path2 => {
|
|
10
|
+
try {
|
|
11
|
+
return importMetaResolve(path2, import.meta.url).replace("file://", "");
|
|
12
|
+
} catch {
|
|
13
|
+
return require.resolve(path2);
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
ensureDir,
|
|
18
|
+
existsSync,
|
|
19
|
+
readFile
|
|
20
|
+
} = FSExtra,
|
|
21
|
+
extensions = [".web.tsx", ".tsx", ".web.ts", ".ts", ".web.jsx", ".jsx", ".web.js", ".js", ".css", ".json"],
|
|
22
|
+
build = async optionsIn => {
|
|
23
|
+
const options = await getOptionsFilled(optionsIn),
|
|
24
|
+
depsToOptimize = ["react", "react-dom", "@react-native/normalize-color", "@react-navigation/native", "expo-constants", "expo-modules-core", "expo-status-bar"];
|
|
25
|
+
let buildConfig = mergeConfig(getBaseViteConfig({
|
|
26
|
+
mode: "production"
|
|
27
|
+
}), {
|
|
28
|
+
root: options.root,
|
|
29
|
+
clearScreen: !1,
|
|
30
|
+
optimizeDeps: {
|
|
31
|
+
include: depsToOptimize,
|
|
32
|
+
esbuildOptions: {
|
|
33
|
+
resolveExtensions: extensions
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
options.webConfig && (buildConfig = mergeConfig(buildConfig, options.webConfig)), console.info("build client"), await viteBuild(mergeConfig(buildConfig, {
|
|
38
|
+
plugins: [clientBundleTreeShakePlugin({})],
|
|
39
|
+
build: {
|
|
40
|
+
ssrManifest: !0,
|
|
41
|
+
outDir: "dist/client"
|
|
42
|
+
}
|
|
43
|
+
})), console.info("build server");
|
|
44
|
+
const {
|
|
45
|
+
output
|
|
46
|
+
} = await viteBuild(mergeConfig(buildConfig, {
|
|
47
|
+
resolve: {
|
|
48
|
+
alias: {
|
|
49
|
+
"react-native": "react-native-web-lite"
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
optimizeDeps: {
|
|
53
|
+
esbuildOptions: {
|
|
54
|
+
format: "cjs"
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
ssr: {
|
|
58
|
+
noExternal: !0
|
|
59
|
+
},
|
|
60
|
+
build: {
|
|
61
|
+
// we want one big file of css
|
|
62
|
+
cssCodeSplit: !1,
|
|
63
|
+
ssr: "src/entry-server.tsx",
|
|
64
|
+
outDir: "dist/server",
|
|
65
|
+
rollupOptions: {
|
|
66
|
+
external: []
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}));
|
|
70
|
+
console.info("generating static pages"), await generateStaticPages(options, output);
|
|
71
|
+
};
|
|
72
|
+
async function generateStaticPages(options, serverOutput) {
|
|
73
|
+
const toAbsolute = p => path.resolve(options.root, p),
|
|
74
|
+
staticDir = toAbsolute("dist/static");
|
|
75
|
+
await ensureDir(staticDir);
|
|
76
|
+
const template = fs.readFileSync(toAbsolute("index.html"), "utf-8"),
|
|
77
|
+
render = (await import(`${options.root}/dist/server/entry-server.js`)).render,
|
|
78
|
+
entry = serverOutput.find(x => x.type === "chunk" && x.facadeModuleId?.includes("entry-server")),
|
|
79
|
+
assets = [],
|
|
80
|
+
allRoutes = (await Promise.all(serverOutput.flatMap(async output => {
|
|
81
|
+
if (output.type === "asset") return assets.push(output), [];
|
|
82
|
+
const id = output.facadeModuleId || "",
|
|
83
|
+
file = path.basename(id),
|
|
84
|
+
name = file.replace(/\.[^/.]+$/, "");
|
|
85
|
+
if (!id || file[0] === "_" || file.includes("entry-server")) return [];
|
|
86
|
+
const result = ((await (await import(path.join(options.root, "dist/server", output.fileName))).generateStaticParams?.()) || [{}]).map(params => getUrl(params));
|
|
87
|
+
function getUrl(params = {}) {
|
|
88
|
+
return name === "index" ? "/" : `/${name.split("/").map(part => {
|
|
89
|
+
if (part[0] === "[") {
|
|
90
|
+
const found = params[part.slice(1, part.length - 1)];
|
|
91
|
+
return found || console.warn("not found", {
|
|
92
|
+
params,
|
|
93
|
+
part
|
|
94
|
+
}), found;
|
|
95
|
+
}
|
|
96
|
+
return part;
|
|
97
|
+
}).join("/")}`;
|
|
98
|
+
}
|
|
99
|
+
return result;
|
|
100
|
+
}))).flat(),
|
|
101
|
+
cssString = assets.filter(x => x.name?.endsWith(".css")).map(x => x.source).join(`
|
|
102
|
+
|
|
103
|
+
`);
|
|
104
|
+
for (const path2 of allRoutes) {
|
|
105
|
+
const {
|
|
106
|
+
appHtml,
|
|
107
|
+
headHtml
|
|
108
|
+
} = await render({
|
|
109
|
+
path: path2
|
|
110
|
+
}),
|
|
111
|
+
slashFileName = `${path2 === "/" ? "/index" : path2}.html`,
|
|
112
|
+
clientHtmlPath = toAbsolute(`dist/client${slashFileName}`),
|
|
113
|
+
html = ((existsSync(clientHtmlPath) ? await readFile(clientHtmlPath, "utf-8") : null) || template).replace("<!--ssr-outlet-->", appHtml).replace("<!--head-outlet-->", `${headHtml}
|
|
114
|
+
${cssString ? `<style>${cssString}</style>` : ""}`),
|
|
115
|
+
filePath = toAbsolute(`dist/static${slashFileName}`);
|
|
116
|
+
fs.writeFileSync(toAbsolute(filePath), html);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
export { build, resolveFile };
|
|
@@ -0,0 +1,385 @@
|
|
|
1
|
+
import { resolve as importMetaResolve } from "import-meta-resolve";
|
|
2
|
+
import fs from "node:fs";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { mergeConfig, build as viteBuild } from "vite";
|
|
5
|
+
import FSExtra from "fs-extra";
|
|
6
|
+
import { clientBundleTreeShakePlugin } from "../plugins/clientBundleTreeShakePlugin";
|
|
7
|
+
import { getBaseViteConfig } from "../utils/getBaseViteConfig";
|
|
8
|
+
import { getOptionsFilled } from "../utils/getOptionsFilled";
|
|
9
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
10
|
+
try {
|
|
11
|
+
var info = gen[key](arg), value = info.value;
|
|
12
|
+
} catch (error) {
|
|
13
|
+
reject(error);
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
info.done ? resolve(value) : Promise.resolve(value).then(_next, _throw);
|
|
17
|
+
}
|
|
18
|
+
function _async_to_generator(fn) {
|
|
19
|
+
return function() {
|
|
20
|
+
var self = this, args = arguments;
|
|
21
|
+
return new Promise(function(resolve, reject) {
|
|
22
|
+
var gen = fn.apply(self, args);
|
|
23
|
+
function _next(value) {
|
|
24
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
25
|
+
}
|
|
26
|
+
function _throw(err) {
|
|
27
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
28
|
+
}
|
|
29
|
+
_next(void 0);
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
function _ts_generator(thisArg, body) {
|
|
34
|
+
var f, y, t, g, _ = {
|
|
35
|
+
label: 0,
|
|
36
|
+
sent: function() {
|
|
37
|
+
if (t[0] & 1)
|
|
38
|
+
throw t[1];
|
|
39
|
+
return t[1];
|
|
40
|
+
},
|
|
41
|
+
trys: [],
|
|
42
|
+
ops: []
|
|
43
|
+
};
|
|
44
|
+
return g = {
|
|
45
|
+
next: verb(0),
|
|
46
|
+
throw: verb(1),
|
|
47
|
+
return: verb(2)
|
|
48
|
+
}, typeof Symbol == "function" && (g[Symbol.iterator] = function() {
|
|
49
|
+
return this;
|
|
50
|
+
}), g;
|
|
51
|
+
function verb(n) {
|
|
52
|
+
return function(v) {
|
|
53
|
+
return step([
|
|
54
|
+
n,
|
|
55
|
+
v
|
|
56
|
+
]);
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
function step(op) {
|
|
60
|
+
if (f)
|
|
61
|
+
throw new TypeError("Generator is already executing.");
|
|
62
|
+
for (; _; )
|
|
63
|
+
try {
|
|
64
|
+
if (f = 1, y && (t = op[0] & 2 ? y.return : op[0] ? y.throw || ((t = y.return) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
|
|
65
|
+
return t;
|
|
66
|
+
switch (y = 0, t && (op = [
|
|
67
|
+
op[0] & 2,
|
|
68
|
+
t.value
|
|
69
|
+
]), op[0]) {
|
|
70
|
+
case 0:
|
|
71
|
+
case 1:
|
|
72
|
+
t = op;
|
|
73
|
+
break;
|
|
74
|
+
case 4:
|
|
75
|
+
return _.label++, {
|
|
76
|
+
value: op[1],
|
|
77
|
+
done: !1
|
|
78
|
+
};
|
|
79
|
+
case 5:
|
|
80
|
+
_.label++, y = op[1], op = [
|
|
81
|
+
0
|
|
82
|
+
];
|
|
83
|
+
continue;
|
|
84
|
+
case 7:
|
|
85
|
+
op = _.ops.pop(), _.trys.pop();
|
|
86
|
+
continue;
|
|
87
|
+
default:
|
|
88
|
+
if (t = _.trys, !(t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
89
|
+
_ = 0;
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
93
|
+
_.label = op[1];
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
96
|
+
if (op[0] === 6 && _.label < t[1]) {
|
|
97
|
+
_.label = t[1], t = op;
|
|
98
|
+
break;
|
|
99
|
+
}
|
|
100
|
+
if (t && _.label < t[2]) {
|
|
101
|
+
_.label = t[2], _.ops.push(op);
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
t[2] && _.ops.pop(), _.trys.pop();
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
op = body.call(thisArg, _);
|
|
108
|
+
} catch (e) {
|
|
109
|
+
op = [
|
|
110
|
+
6,
|
|
111
|
+
e
|
|
112
|
+
], y = 0;
|
|
113
|
+
} finally {
|
|
114
|
+
f = t = 0;
|
|
115
|
+
}
|
|
116
|
+
if (op[0] & 5)
|
|
117
|
+
throw op[1];
|
|
118
|
+
return {
|
|
119
|
+
value: op[0] ? op[1] : void 0,
|
|
120
|
+
done: !0
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
var resolveFile = function(path2) {
|
|
125
|
+
try {
|
|
126
|
+
return importMetaResolve(path2, import.meta.url).replace("file://", "");
|
|
127
|
+
} catch {
|
|
128
|
+
return require.resolve(path2);
|
|
129
|
+
}
|
|
130
|
+
}, ensureDir = FSExtra.ensureDir, existsSync = FSExtra.existsSync, readFile = FSExtra.readFile, extensions = [
|
|
131
|
+
".web.tsx",
|
|
132
|
+
".tsx",
|
|
133
|
+
".web.ts",
|
|
134
|
+
".ts",
|
|
135
|
+
".web.jsx",
|
|
136
|
+
".jsx",
|
|
137
|
+
".web.js",
|
|
138
|
+
".js",
|
|
139
|
+
".css",
|
|
140
|
+
".json"
|
|
141
|
+
], build = function() {
|
|
142
|
+
var _ref = _async_to_generator(function(optionsIn) {
|
|
143
|
+
var options, depsToOptimize, buildConfig, output;
|
|
144
|
+
return _ts_generator(this, function(_state) {
|
|
145
|
+
switch (_state.label) {
|
|
146
|
+
case 0:
|
|
147
|
+
return [
|
|
148
|
+
4,
|
|
149
|
+
getOptionsFilled(optionsIn)
|
|
150
|
+
];
|
|
151
|
+
case 1:
|
|
152
|
+
return options = _state.sent(), depsToOptimize = [
|
|
153
|
+
"react",
|
|
154
|
+
"react-dom",
|
|
155
|
+
"@react-native/normalize-color",
|
|
156
|
+
"@react-navigation/native",
|
|
157
|
+
"expo-constants",
|
|
158
|
+
"expo-modules-core",
|
|
159
|
+
"expo-status-bar"
|
|
160
|
+
], buildConfig = mergeConfig(getBaseViteConfig({
|
|
161
|
+
mode: "production"
|
|
162
|
+
}), {
|
|
163
|
+
root: options.root,
|
|
164
|
+
clearScreen: !1,
|
|
165
|
+
optimizeDeps: {
|
|
166
|
+
include: depsToOptimize,
|
|
167
|
+
esbuildOptions: {
|
|
168
|
+
resolveExtensions: extensions
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}), options.webConfig && (buildConfig = mergeConfig(buildConfig, options.webConfig)), console.info("build client"), [
|
|
172
|
+
4,
|
|
173
|
+
viteBuild(mergeConfig(buildConfig, {
|
|
174
|
+
plugins: [
|
|
175
|
+
clientBundleTreeShakePlugin({})
|
|
176
|
+
],
|
|
177
|
+
build: {
|
|
178
|
+
ssrManifest: !0,
|
|
179
|
+
outDir: "dist/client"
|
|
180
|
+
}
|
|
181
|
+
}))
|
|
182
|
+
];
|
|
183
|
+
case 2:
|
|
184
|
+
return _state.sent(), console.info("build server"), [
|
|
185
|
+
4,
|
|
186
|
+
viteBuild(mergeConfig(buildConfig, {
|
|
187
|
+
resolve: {
|
|
188
|
+
alias: {
|
|
189
|
+
"react-native": "react-native-web-lite"
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
optimizeDeps: {
|
|
193
|
+
esbuildOptions: {
|
|
194
|
+
format: "cjs"
|
|
195
|
+
}
|
|
196
|
+
},
|
|
197
|
+
ssr: {
|
|
198
|
+
noExternal: !0
|
|
199
|
+
},
|
|
200
|
+
build: {
|
|
201
|
+
// we want one big file of css
|
|
202
|
+
cssCodeSplit: !1,
|
|
203
|
+
ssr: "src/entry-server.tsx",
|
|
204
|
+
outDir: "dist/server",
|
|
205
|
+
rollupOptions: {
|
|
206
|
+
external: []
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}))
|
|
210
|
+
];
|
|
211
|
+
case 3:
|
|
212
|
+
return output = _state.sent().output, console.info("generating static pages"), [
|
|
213
|
+
4,
|
|
214
|
+
generateStaticPages(options, output)
|
|
215
|
+
];
|
|
216
|
+
case 4:
|
|
217
|
+
return _state.sent(), [
|
|
218
|
+
2
|
|
219
|
+
];
|
|
220
|
+
}
|
|
221
|
+
});
|
|
222
|
+
});
|
|
223
|
+
return function(optionsIn) {
|
|
224
|
+
return _ref.apply(this, arguments);
|
|
225
|
+
};
|
|
226
|
+
}();
|
|
227
|
+
function generateStaticPages(options, serverOutput) {
|
|
228
|
+
return _generateStaticPages.apply(this, arguments);
|
|
229
|
+
}
|
|
230
|
+
function _generateStaticPages() {
|
|
231
|
+
return _generateStaticPages = _async_to_generator(function(options, serverOutput) {
|
|
232
|
+
var toAbsolute, staticDir, template, render, entry, assets, allRoutes, cssString, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, path1, _ref, appHtml, headHtml, slashFileName, clientHtmlPath, clientHtml, _tmp, html, filePath, err;
|
|
233
|
+
return _ts_generator(this, function(_state) {
|
|
234
|
+
switch (_state.label) {
|
|
235
|
+
case 0:
|
|
236
|
+
return toAbsolute = function(p) {
|
|
237
|
+
return path.resolve(options.root, p);
|
|
238
|
+
}, staticDir = toAbsolute("dist/static"), [
|
|
239
|
+
4,
|
|
240
|
+
ensureDir(staticDir)
|
|
241
|
+
];
|
|
242
|
+
case 1:
|
|
243
|
+
return _state.sent(), template = fs.readFileSync(toAbsolute("index.html"), "utf-8"), [
|
|
244
|
+
4,
|
|
245
|
+
import("".concat(options.root, "/dist/server/entry-server.js"))
|
|
246
|
+
];
|
|
247
|
+
case 2:
|
|
248
|
+
return render = _state.sent().render, entry = serverOutput.find(function(x) {
|
|
249
|
+
var _x_facadeModuleId;
|
|
250
|
+
return x.type === "chunk" && ((_x_facadeModuleId = x.facadeModuleId) === null || _x_facadeModuleId === void 0 ? void 0 : _x_facadeModuleId.includes("entry-server"));
|
|
251
|
+
}), assets = [], [
|
|
252
|
+
4,
|
|
253
|
+
Promise.all(serverOutput.flatMap(function() {
|
|
254
|
+
var _ref2 = _async_to_generator(function(output) {
|
|
255
|
+
var _exported_generateStaticParams, id, file, name, endpointPath, exported, staticParams, result;
|
|
256
|
+
function getUrl() {
|
|
257
|
+
var params = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
258
|
+
return name === "index" ? "/" : "/".concat(name.split("/").map(function(part) {
|
|
259
|
+
if (part[0] === "[") {
|
|
260
|
+
var found = params[part.slice(1, part.length - 1)];
|
|
261
|
+
return found || console.warn("not found", {
|
|
262
|
+
params,
|
|
263
|
+
part
|
|
264
|
+
}), found;
|
|
265
|
+
}
|
|
266
|
+
return part;
|
|
267
|
+
}).join("/"));
|
|
268
|
+
}
|
|
269
|
+
return _ts_generator(this, function(_state2) {
|
|
270
|
+
switch (_state2.label) {
|
|
271
|
+
case 0:
|
|
272
|
+
return output.type === "asset" ? (assets.push(output), [
|
|
273
|
+
2,
|
|
274
|
+
[]
|
|
275
|
+
]) : (id = output.facadeModuleId || "", file = path.basename(id), name = file.replace(/\.[^/.]+$/, ""), !id || file[0] === "_" || file.includes("entry-server") ? [
|
|
276
|
+
2,
|
|
277
|
+
[]
|
|
278
|
+
] : (endpointPath = path.join(options.root, "dist/server", output.fileName), [
|
|
279
|
+
4,
|
|
280
|
+
import(endpointPath)
|
|
281
|
+
]));
|
|
282
|
+
case 1:
|
|
283
|
+
return exported = _state2.sent(), [
|
|
284
|
+
4,
|
|
285
|
+
(_exported_generateStaticParams = exported.generateStaticParams) === null || _exported_generateStaticParams === void 0 ? void 0 : _exported_generateStaticParams.call(exported)
|
|
286
|
+
];
|
|
287
|
+
case 2:
|
|
288
|
+
return staticParams = _state2.sent(), result = (staticParams || [
|
|
289
|
+
{}
|
|
290
|
+
]).map(function(params) {
|
|
291
|
+
return getUrl(params);
|
|
292
|
+
}), [
|
|
293
|
+
2,
|
|
294
|
+
result
|
|
295
|
+
];
|
|
296
|
+
}
|
|
297
|
+
});
|
|
298
|
+
});
|
|
299
|
+
return function(output) {
|
|
300
|
+
return _ref2.apply(this, arguments);
|
|
301
|
+
};
|
|
302
|
+
}()))
|
|
303
|
+
];
|
|
304
|
+
case 3:
|
|
305
|
+
allRoutes = _state.sent().flat(), cssString = assets.filter(function(x) {
|
|
306
|
+
var _x_name;
|
|
307
|
+
return (_x_name = x.name) === null || _x_name === void 0 ? void 0 : _x_name.endsWith(".css");
|
|
308
|
+
}).map(function(x) {
|
|
309
|
+
return x.source;
|
|
310
|
+
}).join(`
|
|
311
|
+
|
|
312
|
+
`), _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0, _state.label = 4;
|
|
313
|
+
case 4:
|
|
314
|
+
_state.trys.push([
|
|
315
|
+
4,
|
|
316
|
+
12,
|
|
317
|
+
13,
|
|
318
|
+
14
|
|
319
|
+
]), _iterator = allRoutes[Symbol.iterator](), _state.label = 5;
|
|
320
|
+
case 5:
|
|
321
|
+
return (_iteratorNormalCompletion = (_step = _iterator.next()).done) ? [
|
|
322
|
+
3,
|
|
323
|
+
11
|
|
324
|
+
] : (path1 = _step.value, [
|
|
325
|
+
4,
|
|
326
|
+
render({
|
|
327
|
+
path: path1
|
|
328
|
+
})
|
|
329
|
+
]);
|
|
330
|
+
case 6:
|
|
331
|
+
return _ref = _state.sent(), appHtml = _ref.appHtml, headHtml = _ref.headHtml, slashFileName = "".concat(path1 === "/" ? "/index" : path1, ".html"), clientHtmlPath = toAbsolute("dist/client".concat(slashFileName)), existsSync(clientHtmlPath) ? [
|
|
332
|
+
4,
|
|
333
|
+
readFile(clientHtmlPath, "utf-8")
|
|
334
|
+
] : [
|
|
335
|
+
3,
|
|
336
|
+
8
|
|
337
|
+
];
|
|
338
|
+
case 7:
|
|
339
|
+
return _tmp = _state.sent(), [
|
|
340
|
+
3,
|
|
341
|
+
9
|
|
342
|
+
];
|
|
343
|
+
case 8:
|
|
344
|
+
_tmp = null, _state.label = 9;
|
|
345
|
+
case 9:
|
|
346
|
+
clientHtml = _tmp, html = (clientHtml || template).replace("<!--ssr-outlet-->", appHtml).replace("<!--head-outlet-->", "".concat(headHtml, `
|
|
347
|
+
`).concat(cssString ? "<style>".concat(cssString, "</style>") : "")), filePath = toAbsolute("dist/static".concat(slashFileName)), fs.writeFileSync(toAbsolute(filePath), html), _state.label = 10;
|
|
348
|
+
case 10:
|
|
349
|
+
return _iteratorNormalCompletion = !0, [
|
|
350
|
+
3,
|
|
351
|
+
5
|
|
352
|
+
];
|
|
353
|
+
case 11:
|
|
354
|
+
return [
|
|
355
|
+
3,
|
|
356
|
+
14
|
|
357
|
+
];
|
|
358
|
+
case 12:
|
|
359
|
+
return err = _state.sent(), _didIteratorError = !0, _iteratorError = err, [
|
|
360
|
+
3,
|
|
361
|
+
14
|
|
362
|
+
];
|
|
363
|
+
case 13:
|
|
364
|
+
try {
|
|
365
|
+
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
366
|
+
} finally {
|
|
367
|
+
if (_didIteratorError)
|
|
368
|
+
throw _iteratorError;
|
|
369
|
+
}
|
|
370
|
+
return [
|
|
371
|
+
7
|
|
372
|
+
];
|
|
373
|
+
case 14:
|
|
374
|
+
return [
|
|
375
|
+
2
|
|
376
|
+
];
|
|
377
|
+
}
|
|
378
|
+
});
|
|
379
|
+
}), _generateStaticPages.apply(this, arguments);
|
|
380
|
+
}
|
|
381
|
+
export {
|
|
382
|
+
build,
|
|
383
|
+
resolveFile
|
|
384
|
+
};
|
|
385
|
+
//# sourceMappingURL=build.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/exports/Users/n8/vxrn/packages/vxrn/src/exports/build.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["resolve", "importMetaResolve", "fs", "path", "mergeConfig", "build", "viteBuild", "FSExtra", "clientBundleTreeShakePlugin", "getBaseViteConfig", "getOptionsFilled", "resolveFile", "url", "replace", "require", "ensureDir", "existsSync", "readFile", "extensions", "optionsIn", "options", "depsToOptimize", "buildConfig", "output", "mode", "root", "clearScreen", "optimizeDeps", "include", "esbuildOptions", "resolveExtensions", "webConfig", "console", "info", "plugins", "ssrManifest", "outDir", "alias", "format", "ssr", "noExternal", "cssCodeSplit", "rollupOptions", "external", "generateStaticPages", "serverOutput", "toAbsolute", "staticDir", "template", "render", "entry", "assets", "allRoutes", "cssString", "appHtml", "headHtml", "slashFileName", "clientHtmlPath", "clientHtml", "html", "filePath", "p", "readFileSync", "find", "x", "type", "facadeModuleId", "includes", "Promise", "all", "flatMap", "exported", "id", "file", "name", "endpointPath", "staticParams", "result", "getUrl", "params", "split", "map", "part", "found", "slice", "length", "warn", "join", "push", "basename", "fileName", "_state", "generateStaticParams", "flat", "filter", "endsWith", "source", "writeFileSync"]
|
|
6
|
+
}
|