vxrn 0.1.30 → 0.1.32
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/cli.js +20 -1
- package/dist/cjs/cli.js.map +2 -2
- package/dist/cjs/cli.native.js +43 -1
- package/dist/cjs/cli.native.js.map +2 -2
- package/dist/cjs/constants.js +65 -2
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/constants.native.js +103 -3
- package/dist/cjs/constants.native.js.map +2 -2
- package/dist/cjs/exports/build.js +66 -50
- package/dist/cjs/exports/build.js.map +2 -2
- package/dist/cjs/exports/build.native.js +182 -83
- package/dist/cjs/exports/build.native.js.map +2 -2
- package/dist/cjs/exports/dev.js +292 -293
- package/dist/cjs/exports/dev.js.map +2 -2
- package/dist/cjs/exports/dev.native.js +575 -561
- package/dist/cjs/exports/dev.native.js.map +2 -2
- package/dist/cjs/exports/serve.js +7 -1
- package/dist/cjs/exports/serve.js.map +1 -1
- package/dist/cjs/exports/serve.native.js +76 -81
- package/dist/cjs/exports/serve.native.js.map +2 -2
- package/dist/cjs/plugins/clientBundleTreeShakePlugin.js +25 -11
- package/dist/cjs/plugins/clientBundleTreeShakePlugin.js.map +1 -1
- package/dist/cjs/plugins/clientBundleTreeShakePlugin.native.js +38 -22
- package/dist/cjs/plugins/clientBundleTreeShakePlugin.native.js.map +2 -2
- package/dist/cjs/utils/getBaseViteConfig.js +14 -4
- package/dist/cjs/utils/getBaseViteConfig.js.map +2 -2
- package/dist/cjs/utils/getBaseViteConfig.native.js +16 -4
- package/dist/cjs/utils/getBaseViteConfig.native.js.map +2 -2
- package/dist/cjs/{utils.js → utils/getHtml.js} +16 -12
- package/dist/cjs/utils/getHtml.js.map +6 -0
- package/dist/cjs/{utils.native.js → utils/getHtml.native.js} +11 -16
- package/dist/cjs/utils/getHtml.native.js.map +6 -0
- package/dist/cjs/utils/getVitePath.js.map +1 -1
- package/dist/cjs/utils/getVitePath.native.js.map +1 -1
- package/dist/cjs/utils/readVXRNConfig.js +2 -2
- package/dist/cjs/utils/readVXRNConfig.js.map +1 -1
- package/dist/cjs/utils/readVXRNConfig.native.js +1 -1
- package/dist/cjs/utils/readVXRNConfig.native.js.map +2 -2
- package/dist/esm/cli.js +20 -1
- package/dist/esm/cli.js.map +2 -2
- package/dist/esm/cli.mjs +25 -1
- package/dist/esm/cli.native.js +43 -1
- package/dist/esm/cli.native.js.map +2 -2
- package/dist/esm/constants.js +65 -2
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/constants.mjs +30 -2
- package/dist/esm/constants.native.js +96 -2
- package/dist/esm/constants.native.js.map +2 -2
- package/dist/esm/exports/build.js +70 -51
- package/dist/esm/exports/build.js.map +1 -1
- package/dist/esm/exports/build.mjs +79 -29
- package/dist/esm/exports/build.native.js +186 -84
- package/dist/esm/exports/build.native.js.map +2 -2
- package/dist/esm/exports/dev.js +291 -295
- package/dist/esm/exports/dev.js.map +1 -1
- package/dist/esm/exports/dev.mjs +298 -283
- package/dist/esm/exports/dev.native.js +575 -561
- package/dist/esm/exports/dev.native.js.map +2 -2
- package/dist/esm/exports/serve.js +8 -1
- package/dist/esm/exports/serve.js.map +1 -1
- package/dist/esm/exports/serve.mjs +8 -1
- package/dist/esm/exports/serve.native.js +77 -81
- package/dist/esm/exports/serve.native.js.map +2 -2
- package/dist/esm/plugins/clientBundleTreeShakePlugin.js +25 -11
- package/dist/esm/plugins/clientBundleTreeShakePlugin.js.map +1 -1
- package/dist/esm/plugins/clientBundleTreeShakePlugin.mjs +29 -13
- package/dist/esm/plugins/clientBundleTreeShakePlugin.native.js +38 -22
- package/dist/esm/plugins/clientBundleTreeShakePlugin.native.js.map +2 -2
- package/dist/esm/utils/getBaseViteConfig.js +4 -2
- package/dist/esm/utils/getBaseViteConfig.js.map +1 -1
- package/dist/esm/utils/getBaseViteConfig.mjs +4 -2
- package/dist/esm/utils/getBaseViteConfig.native.js +6 -2
- package/dist/esm/utils/getBaseViteConfig.native.js.map +2 -2
- package/dist/esm/utils/getHtml.js +16 -0
- package/dist/esm/utils/getHtml.js.map +6 -0
- package/dist/esm/utils/getHtml.mjs +13 -0
- package/dist/esm/utils/getHtml.native.js +10 -0
- package/dist/esm/utils/getHtml.native.js.map +6 -0
- package/dist/esm/utils/getVitePath.js.map +1 -1
- package/dist/esm/utils/getVitePath.native.js.map +1 -1
- package/dist/esm/utils/readVXRNConfig.js +2 -2
- package/dist/esm/utils/readVXRNConfig.js.map +1 -1
- package/dist/esm/utils/readVXRNConfig.mjs +2 -2
- package/dist/esm/utils/readVXRNConfig.native.js +1 -1
- package/dist/esm/utils/readVXRNConfig.native.js.map +2 -2
- package/package.json +10 -8
- package/src/cli.ts +27 -0
- package/src/constants.ts +71 -0
- package/src/exports/build.ts +93 -59
- package/src/exports/dev.ts +408 -398
- package/src/exports/serve.ts +12 -14
- package/src/types.ts +1 -1
- package/src/utils/getBaseViteConfig.ts +8 -2
- package/src/utils/getHtml.ts +12 -0
- package/src/utils/getVitePath.ts +1 -0
- package/src/utils/readVXRNConfig.ts +5 -0
- package/types/constants.d.ts +13 -0
- package/types/exports/dev.d.ts +0 -6
- package/types/types.d.ts +1 -1
- package/types/utils/getHtml.d.ts +8 -0
- package/types/utils/getOptionsFilled.d.ts +1 -1
- package/types/vendor/createExpoServer.d.ts +3 -1
- package/dist/cjs/build.js +0 -145
- package/dist/cjs/build.js.map +0 -6
- package/dist/cjs/build.native.js +0 -409
- package/dist/cjs/build.native.js.map +0 -6
- package/dist/cjs/commands/cli-build.js +0 -36
- package/dist/cjs/commands/cli-build.js.map +0 -6
- package/dist/cjs/commands/cli-build.native.js +0 -171
- package/dist/cjs/commands/cli-build.native.js.map +0 -6
- package/dist/cjs/commands/cli-dev.js +0 -52
- package/dist/cjs/commands/cli-dev.js.map +0 -6
- package/dist/cjs/commands/cli-dev.native.js +0 -217
- package/dist/cjs/commands/cli-dev.native.js.map +0 -6
- package/dist/cjs/commands/index.js +0 -34
- package/dist/cjs/commands/index.js.map +0 -6
- package/dist/cjs/commands/index.native.js +0 -45
- package/dist/cjs/commands/index.native.js.map +0 -6
- package/dist/cjs/create.js +0 -643
- package/dist/cjs/create.js.map +0 -6
- package/dist/cjs/create.native.js +0 -1318
- package/dist/cjs/create.native.js.map +0 -6
- package/dist/cjs/createDevServer.js +0 -601
- package/dist/cjs/createDevServer.js.map +0 -6
- package/dist/cjs/createDevServer.native.js +0 -1220
- package/dist/cjs/createDevServer.native.js.map +0 -6
- package/dist/cjs/createExpoServer.js +0 -34
- package/dist/cjs/createExpoServer.js.map +0 -6
- package/dist/cjs/createExpoServer.native.js +0 -42
- package/dist/cjs/createExpoServer.native.js.map +0 -6
- package/dist/cjs/dev/clientInjectPlugin.js +0 -67
- package/dist/cjs/dev/clientInjectPlugin.js.map +0 -6
- package/dist/cjs/dev/clientInjectPlugin.native.js +0 -191
- package/dist/cjs/dev/clientInjectPlugin.native.js.map +0 -6
- package/dist/cjs/dev/createDevServer.js +0 -1
- package/dist/cjs/dev/createDevServer.js.map +0 -6
- package/dist/cjs/dev/createDevServer.native.js +0 -2
- package/dist/cjs/dev/createDevServer.native.js.map +0 -6
- package/dist/cjs/dispose.js +0 -28
- package/dist/cjs/dispose.js.map +0 -6
- package/dist/cjs/dispose.native.js +0 -36
- package/dist/cjs/dispose.native.js.map +0 -6
- package/dist/cjs/exports/checkPatches.js +0 -62
- package/dist/cjs/exports/checkPatches.js.map +0 -6
- package/dist/cjs/exports/checkPatches.native.js +0 -289
- package/dist/cjs/exports/checkPatches.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 +0 -197
- package/dist/cjs/getVitePath.native.js.map +0 -6
- package/dist/cjs/nativePlugin.js +0 -89
- package/dist/cjs/nativePlugin.js.map +0 -6
- package/dist/cjs/nativePlugin.native.js +0 -346
- package/dist/cjs/nativePlugin.native.js.map +0 -6
- package/dist/cjs/utils/checkPatches.js +0 -62
- package/dist/cjs/utils/checkPatches.js.map +0 -6
- package/dist/cjs/utils/checkPatches.native.js +0 -289
- package/dist/cjs/utils/checkPatches.native.js.map +0 -6
- package/dist/cjs/utils/constants.js +0 -21
- package/dist/cjs/utils/constants.js.map +0 -6
- package/dist/cjs/utils/constants.native.js +0 -26
- package/dist/cjs/utils/constants.native.js.map +0 -6
- package/dist/cjs/utils/prerender.js +0 -1
- package/dist/cjs/utils/prerender.js.map +0 -6
- package/dist/cjs/utils/prerender.native.js +0 -2
- package/dist/cjs/utils/prerender.native.js.map +0 -6
- package/dist/cjs/utils.js.map +0 -6
- package/dist/cjs/utils.native.js.map +0 -6
- package/dist/esm/build.js +0 -128
- package/dist/esm/build.js.map +0 -6
- package/dist/esm/build.mjs +0 -119
- package/dist/esm/build.native.js +0 -385
- package/dist/esm/build.native.js.map +0 -6
- package/dist/esm/commands/cli-build.js +0 -23
- package/dist/esm/commands/cli-build.js.map +0 -6
- package/dist/esm/commands/cli-build.mjs +0 -22
- package/dist/esm/commands/cli-build.native.js +0 -156
- package/dist/esm/commands/cli-build.native.js.map +0 -6
- package/dist/esm/commands/cli-dev.js +0 -39
- package/dist/esm/commands/cli-dev.js.map +0 -6
- package/dist/esm/commands/cli-dev.mjs +0 -45
- package/dist/esm/commands/cli-dev.native.js +0 -202
- package/dist/esm/commands/cli-dev.native.js.map +0 -6
- package/dist/esm/commands/index.js +0 -10
- package/dist/esm/commands/index.js.map +0 -6
- package/dist/esm/commands/index.mjs +0 -8
- package/dist/esm/commands/index.native.js +0 -16
- package/dist/esm/commands/index.native.js.map +0 -6
- package/dist/esm/create.js +0 -655
- package/dist/esm/create.js.map +0 -6
- package/dist/esm/create.mjs +0 -622
- package/dist/esm/create.native.js +0 -1309
- package/dist/esm/create.native.js.map +0 -6
- package/dist/esm/createDevServer.js +0 -614
- package/dist/esm/createDevServer.js.map +0 -6
- package/dist/esm/createDevServer.mjs +0 -570
- package/dist/esm/createDevServer.native.js +0 -1211
- package/dist/esm/createDevServer.native.js.map +0 -6
- package/dist/esm/createExpoServer.js +0 -20
- package/dist/esm/createExpoServer.js.map +0 -6
- package/dist/esm/createExpoServer.mjs +0 -17
- package/dist/esm/createExpoServer.native.js +0 -22
- package/dist/esm/createExpoServer.native.js.map +0 -6
- package/dist/esm/dev/clientInjectPlugin.js +0 -43
- package/dist/esm/dev/clientInjectPlugin.js.map +0 -6
- package/dist/esm/dev/clientInjectPlugin.mjs +0 -57
- package/dist/esm/dev/clientInjectPlugin.native.js +0 -162
- package/dist/esm/dev/clientInjectPlugin.native.js.map +0 -6
- package/dist/esm/dev/createDevServer.js +0 -1
- package/dist/esm/dev/createDevServer.js.map +0 -6
- package/dist/esm/dev/createDevServer.mjs +0 -0
- package/dist/esm/dev/createDevServer.native.js +0 -1
- package/dist/esm/dev/createDevServer.native.js.map +0 -6
- package/dist/esm/dispose.js +0 -12
- package/dist/esm/dispose.js.map +0 -6
- package/dist/esm/dispose.mjs +0 -8
- package/dist/esm/dispose.native.js +0 -14
- package/dist/esm/dispose.native.js.map +0 -6
- package/dist/esm/exports/checkPatches.js +0 -40
- package/dist/esm/exports/checkPatches.js.map +0 -6
- package/dist/esm/exports/checkPatches.mjs +0 -31
- package/dist/esm/exports/checkPatches.native.js +0 -262
- package/dist/esm/exports/checkPatches.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/dist/esm/nativePlugin.js +0 -75
- package/dist/esm/nativePlugin.js.map +0 -6
- package/dist/esm/nativePlugin.mjs +0 -55
- package/dist/esm/nativePlugin.native.js +0 -327
- package/dist/esm/nativePlugin.native.js.map +0 -6
- package/dist/esm/utils/checkPatches.js +0 -40
- package/dist/esm/utils/checkPatches.js.map +0 -6
- package/dist/esm/utils/checkPatches.mjs +0 -31
- package/dist/esm/utils/checkPatches.native.js +0 -262
- package/dist/esm/utils/checkPatches.native.js.map +0 -6
- package/dist/esm/utils/constants.js +0 -5
- package/dist/esm/utils/constants.js.map +0 -6
- package/dist/esm/utils/constants.mjs +0 -2
- package/dist/esm/utils/constants.native.js +0 -5
- package/dist/esm/utils/constants.native.js.map +0 -6
- package/dist/esm/utils/prerender.js +0 -1
- package/dist/esm/utils/prerender.js.map +0 -6
- package/dist/esm/utils/prerender.mjs +0 -0
- package/dist/esm/utils/prerender.native.js +0 -1
- package/dist/esm/utils/prerender.native.js.map +0 -6
- package/dist/esm/utils.js +0 -12
- package/dist/esm/utils.js.map +0 -6
- package/dist/esm/utils.mjs +0 -8
- package/dist/esm/utils.native.js +0 -14
- package/dist/esm/utils.native.js.map +0 -6
- package/src/plugins/clientBundleTreeShakePlugin.tsx +0 -105
- package/src/vendor/createExpoServer.ts +0 -43
- package/src/vendor/repack/dev-server/src/createServer.ts +0 -128
- package/src/vendor/repack/dev-server/src/img/favicon.ico +0 -0
- package/src/vendor/repack/dev-server/src/index.ts +0 -2
- package/src/vendor/repack/dev-server/src/plugins/api/apiPlugin.ts +0 -50
- package/src/vendor/repack/dev-server/src/plugins/api/index.ts +0 -1
- package/src/vendor/repack/dev-server/src/plugins/compiler/compilerPlugin.ts +0 -84
- package/src/vendor/repack/dev-server/src/plugins/compiler/index.ts +0 -2
- package/src/vendor/repack/dev-server/src/plugins/compiler/types.ts +0 -37
- package/src/vendor/repack/dev-server/src/plugins/devtools/devtoolsPlugin.ts +0 -107
- package/src/vendor/repack/dev-server/src/plugins/devtools/index.ts +0 -1
- package/src/vendor/repack/dev-server/src/plugins/favicon/faviconPlugin.ts +0 -14
- package/src/vendor/repack/dev-server/src/plugins/favicon/index.ts +0 -1
- package/src/vendor/repack/dev-server/src/plugins/multipart/index.ts +0 -2
- package/src/vendor/repack/dev-server/src/plugins/multipart/multipartPlugin.ts +0 -77
- package/src/vendor/repack/dev-server/src/plugins/multipart/types.ts +0 -13
- package/src/vendor/repack/dev-server/src/plugins/symbolicate/Symbolicator.ts +0 -233
- package/src/vendor/repack/dev-server/src/plugins/symbolicate/index.ts +0 -3
- package/src/vendor/repack/dev-server/src/plugins/symbolicate/sybmolicatePlugin.ts +0 -48
- package/src/vendor/repack/dev-server/src/plugins/symbolicate/types.ts +0 -71
- package/src/vendor/repack/dev-server/src/plugins/wss/WebSocketRouter.ts +0 -74
- package/src/vendor/repack/dev-server/src/plugins/wss/WebSocketServer.ts +0 -60
- package/src/vendor/repack/dev-server/src/plugins/wss/index.ts +0 -3
- package/src/vendor/repack/dev-server/src/plugins/wss/servers/HermesInspectorProxy.ts +0 -158
- package/src/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketApiServer.ts +0 -69
- package/src/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketDebuggerServer.ts +0 -134
- package/src/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketDevClientServer.ts +0 -74
- package/src/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketEventsServer.ts +0 -205
- package/src/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketHMRServer.ts +0 -97
- package/src/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketMessageServer.ts +0 -401
- package/src/vendor/repack/dev-server/src/plugins/wss/types.ts +0 -17
- package/src/vendor/repack/dev-server/src/plugins/wss/wssPlugin.ts +0 -73
- package/src/vendor/repack/dev-server/src/types.ts +0 -197
- package/types/VXRNConfigFilled.d.ts +0 -21
- package/types/build.d.ts +0 -4
- package/types/commands/cli-build.d.ts +0 -3
- package/types/commands/cli-dev.d.ts +0 -3
- package/types/commands/index.d.ts +0 -6
- package/types/create.d.ts +0 -13
- package/types/createDevServer.d.ts +0 -13
- package/types/createExpoServer.d.ts +0 -4
- package/types/dev/bindKeypressInput.d.ts +0 -3
- package/types/dev/clientInjectPlugin.d.ts +0 -7
- package/types/dev/createDevServer.d.ts +0 -1
- package/types/dispose.d.ts +0 -3
- package/types/getBaseViteConfig.d.ts +0 -5
- package/types/getOptionsFIlled.d.ts +0 -21
- package/types/getVitePath.d.ts +0 -2
- package/types/nativePlugin.d.ts +0 -7
- package/types/plugins/clientBundleTreeShakePlugni.d.ts +0 -13
- package/types/plugins/server-tree-shake.d.ts +0 -13
- package/types/utils/checkPatches.d.ts +0 -3
- package/types/utils/constants.d.ts +0 -2
- package/types/utils/prerender.d.ts +0 -1
- package/types/utils.d.ts +0 -3
- package/types/vendor/repack/dev-server/src/createServer.d.ts +0 -1
- package/types/vendor/repack/dev-server/src/index.d.ts +0 -1
- package/types/vendor/repack/dev-server/src/plugins/api/apiPlugin.d.ts +0 -1
- package/types/vendor/repack/dev-server/src/plugins/api/index.d.ts +0 -1
- package/types/vendor/repack/dev-server/src/plugins/compiler/compilerPlugin.d.ts +0 -1
- package/types/vendor/repack/dev-server/src/plugins/compiler/index.d.ts +0 -1
- package/types/vendor/repack/dev-server/src/plugins/compiler/types.d.ts +0 -1
- package/types/vendor/repack/dev-server/src/plugins/devtools/devtoolsPlugin.d.ts +0 -1
- package/types/vendor/repack/dev-server/src/plugins/devtools/index.d.ts +0 -1
- package/types/vendor/repack/dev-server/src/plugins/favicon/faviconPlugin.d.ts +0 -1
- package/types/vendor/repack/dev-server/src/plugins/favicon/index.d.ts +0 -1
- package/types/vendor/repack/dev-server/src/plugins/multipart/index.d.ts +0 -1
- package/types/vendor/repack/dev-server/src/plugins/multipart/multipartPlugin.d.ts +0 -1
- package/types/vendor/repack/dev-server/src/plugins/multipart/types.d.ts +0 -1
- package/types/vendor/repack/dev-server/src/plugins/symbolicate/Symbolicator.d.ts +0 -1
- package/types/vendor/repack/dev-server/src/plugins/symbolicate/index.d.ts +0 -1
- package/types/vendor/repack/dev-server/src/plugins/symbolicate/sybmolicatePlugin.d.ts +0 -1
- package/types/vendor/repack/dev-server/src/plugins/symbolicate/types.d.ts +0 -1
- package/types/vendor/repack/dev-server/src/plugins/wss/WebSocketRouter.d.ts +0 -1
- package/types/vendor/repack/dev-server/src/plugins/wss/WebSocketServer.d.ts +0 -1
- package/types/vendor/repack/dev-server/src/plugins/wss/index.d.ts +0 -1
- package/types/vendor/repack/dev-server/src/plugins/wss/servers/HermesInspectorProxy.d.ts +0 -1
- package/types/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketApiServer.d.ts +0 -1
- package/types/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketDebuggerServer.d.ts +0 -1
- package/types/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketDevClientServer.d.ts +0 -1
- package/types/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketEventsServer.d.ts +0 -1
- package/types/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketHMRServer.d.ts +0 -1
- package/types/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketMessageServer.d.ts +0 -1
- package/types/vendor/repack/dev-server/src/plugins/wss/types.d.ts +0 -1
- package/types/vendor/repack/dev-server/src/plugins/wss/wssPlugin.d.ts +0 -1
- package/types/vendor/repack/dev-server/src/types.d.ts +0 -1
|
@@ -1,56 +1,35 @@
|
|
|
1
|
+
import { build as esbuild } from "esbuild";
|
|
1
2
|
import { resolve as importMetaResolve } from "import-meta-resolve";
|
|
2
3
|
import fs from "node:fs";
|
|
3
|
-
import
|
|
4
|
+
import { tmpdir } from "node:os";
|
|
5
|
+
import path, { dirname, resolve } from "node:path";
|
|
4
6
|
import { mergeConfig, build as viteBuild } from "vite";
|
|
5
7
|
import FSExtra from "fs-extra";
|
|
6
|
-
import { clientBundleTreeShakePlugin } from "../plugins/clientBundleTreeShakePlugin";
|
|
7
8
|
import { getBaseViteConfig } from "../utils/getBaseViteConfig";
|
|
9
|
+
import { getHtml } from "../utils/getHtml";
|
|
8
10
|
import { getOptionsFilled } from "../utils/getOptionsFilled";
|
|
11
|
+
import { ssrOptimizeDeps } from "../constants";
|
|
9
12
|
const resolveFile = (path2) => {
|
|
10
13
|
try {
|
|
11
14
|
return importMetaResolve(path2, import.meta.url).replace("file://", "");
|
|
12
15
|
} catch {
|
|
13
16
|
return require.resolve(path2);
|
|
14
17
|
}
|
|
15
|
-
}, { ensureDir, existsSync, readFile } = FSExtra,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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(
|
|
18
|
+
}, { ensureDir, existsSync, readFile, pathExists } = FSExtra, build = async (optionsIn) => {
|
|
19
|
+
const options = await getOptionsFilled(optionsIn);
|
|
20
|
+
process.env.NODE_ENV = "production";
|
|
21
|
+
let webBuildConfig = mergeConfig(
|
|
37
22
|
getBaseViteConfig({
|
|
38
23
|
mode: "production"
|
|
39
24
|
}),
|
|
40
25
|
{
|
|
41
26
|
root: options.root,
|
|
42
27
|
clearScreen: !1,
|
|
43
|
-
optimizeDeps:
|
|
44
|
-
include: depsToOptimize,
|
|
45
|
-
esbuildOptions: {
|
|
46
|
-
resolveExtensions: extensions
|
|
47
|
-
}
|
|
48
|
-
}
|
|
28
|
+
optimizeDeps: ssrOptimizeDeps
|
|
49
29
|
}
|
|
50
30
|
);
|
|
51
|
-
options.webConfig && (
|
|
52
|
-
mergeConfig(
|
|
53
|
-
plugins: [clientBundleTreeShakePlugin({})],
|
|
31
|
+
options.webConfig && (webBuildConfig = mergeConfig(webBuildConfig, options.webConfig)), console.info("build client"), await viteBuild(
|
|
32
|
+
mergeConfig(webBuildConfig, {
|
|
54
33
|
build: {
|
|
55
34
|
ssrManifest: !0,
|
|
56
35
|
outDir: "dist/client"
|
|
@@ -58,7 +37,29 @@ const resolveFile = (path2) => {
|
|
|
58
37
|
})
|
|
59
38
|
), console.info("build server");
|
|
60
39
|
const { output } = await viteBuild(
|
|
61
|
-
mergeConfig(
|
|
40
|
+
mergeConfig(webBuildConfig, {
|
|
41
|
+
plugins: [
|
|
42
|
+
{
|
|
43
|
+
name: "test",
|
|
44
|
+
enforce: "pre",
|
|
45
|
+
async resolveId(id, importer = "") {
|
|
46
|
+
if (id[0] === ".") {
|
|
47
|
+
const absolutePath = resolve(dirname(importer), id), webPath = absolutePath.replace(/(.m?js)/, "") + ".web.js";
|
|
48
|
+
if (webPath === id)
|
|
49
|
+
return;
|
|
50
|
+
try {
|
|
51
|
+
const directoryPath = absolutePath + "/index.web.js";
|
|
52
|
+
if (await pathExists(directoryPath))
|
|
53
|
+
return console.info(`temp fix found ${directoryPath}`), directoryPath;
|
|
54
|
+
if (await pathExists(webPath))
|
|
55
|
+
return console.info(`temp fix found ${webPath}`), webPath;
|
|
56
|
+
} catch (err) {
|
|
57
|
+
console.warn("error probably fine", err);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
],
|
|
62
63
|
resolve: {
|
|
63
64
|
alias: {
|
|
64
65
|
"react-native": "react-native-web-lite"
|
|
@@ -70,7 +71,8 @@ const resolveFile = (path2) => {
|
|
|
70
71
|
}
|
|
71
72
|
},
|
|
72
73
|
ssr: {
|
|
73
|
-
noExternal: !0
|
|
74
|
+
noExternal: !0,
|
|
75
|
+
optimizeDeps: ssrOptimizeDeps
|
|
74
76
|
},
|
|
75
77
|
build: {
|
|
76
78
|
// we want one big file of css
|
|
@@ -88,36 +90,53 @@ const resolveFile = (path2) => {
|
|
|
88
90
|
async function generateStaticPages(options, serverOutput) {
|
|
89
91
|
const toAbsolute = (p) => path.resolve(options.root, p), staticDir = toAbsolute("dist/static");
|
|
90
92
|
await ensureDir(staticDir);
|
|
91
|
-
const template = fs.readFileSync(toAbsolute("index.html"), "utf-8"), render = (await import(`${options.root}/dist/server/entry-server.js`)).render,
|
|
92
|
-
(x) => x.type === "chunk" && x.facadeModuleId?.includes("entry-server")
|
|
93
|
-
), assets = [], allRoutes = (await Promise.all(
|
|
93
|
+
const template = fs.readFileSync(toAbsolute("index.html"), "utf-8"), render = (await import(`${options.root}/dist/server/entry-server.js`)).render, assets = [], allRoutes = (await Promise.all(
|
|
94
94
|
serverOutput.flatMap(async (output) => {
|
|
95
95
|
if (output.type === "asset")
|
|
96
96
|
return assets.push(output), [];
|
|
97
97
|
const id = output.facadeModuleId || "", file = path.basename(id), name = file.replace(/\.[^/.]+$/, "");
|
|
98
98
|
if (!id || file[0] === "_" || file.includes("entry-server"))
|
|
99
99
|
return [];
|
|
100
|
-
|
|
101
|
-
|
|
100
|
+
if (id.includes("+api"))
|
|
101
|
+
return [];
|
|
102
|
+
const exported = await import(path.join(options.root, "dist/server", output.fileName)), paramsList = await exported.generateStaticParams?.() ?? [{}];
|
|
103
|
+
return await Promise.all(
|
|
104
|
+
paramsList.map(async (params) => {
|
|
105
|
+
const path2 = getUrl(params), props = await exported.generateStaticProps?.({ path: getUrl(params), params }) ?? {};
|
|
106
|
+
return { path: path2, props };
|
|
107
|
+
})
|
|
108
|
+
);
|
|
109
|
+
function getUrl(_params = {}) {
|
|
102
110
|
return name === "index" ? "/" : `/${name.split("/").map((part) => {
|
|
103
111
|
if (part[0] === "[") {
|
|
104
|
-
const found =
|
|
105
|
-
return found || console.warn("not found", {
|
|
112
|
+
const found = _params[part.slice(1, part.length - 1)];
|
|
113
|
+
return found || console.warn("not found", { _params, part }), found;
|
|
106
114
|
}
|
|
107
115
|
return part;
|
|
108
116
|
}).join("/")}`;
|
|
109
117
|
}
|
|
110
|
-
return result;
|
|
111
118
|
})
|
|
112
|
-
)).flat(),
|
|
119
|
+
)).flat(), cssStringRaw = assets.filter((x) => x.name?.endsWith(".css")).map((x) => x.source).join(`
|
|
113
120
|
|
|
114
|
-
`);
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
+
`), tmpCssFile = path.join(tmpdir(), "tmp.css");
|
|
122
|
+
await FSExtra.writeFile(tmpCssFile, cssStringRaw, "utf-8"), await esbuild({
|
|
123
|
+
entryPoints: [tmpCssFile],
|
|
124
|
+
target: "safari17",
|
|
125
|
+
bundle: !0,
|
|
126
|
+
minifyWhitespace: !0,
|
|
127
|
+
sourcemap: !1,
|
|
128
|
+
outfile: tmpCssFile,
|
|
129
|
+
loader: { ".css": "css" }
|
|
130
|
+
});
|
|
131
|
+
const cssString = await FSExtra.readFile(tmpCssFile, "utf-8");
|
|
132
|
+
for (const { path: path2, props } of allRoutes) {
|
|
133
|
+
const { appHtml, headHtml } = await render({ path: path2, props }), slashFileName = `${path2 === "/" ? "/index" : path2}.html`, clientHtmlPath = toAbsolute(`dist/client${slashFileName}`), clientHtml = existsSync(clientHtmlPath) ? await readFile(clientHtmlPath, "utf-8") : null, html = getHtml({
|
|
134
|
+
template: clientHtml || template,
|
|
135
|
+
appHtml,
|
|
136
|
+
headHtml,
|
|
137
|
+
props,
|
|
138
|
+
css: cssString
|
|
139
|
+
}), filePath = toAbsolute(`dist/static${slashFileName}`);
|
|
121
140
|
fs.writeFileSync(toAbsolute(filePath), html);
|
|
122
141
|
}
|
|
123
142
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/exports/build.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,WAAW,yBAAyB;AAC7C,OAAO,QAAQ;AACf,OAAO,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["path"]
|
|
6
6
|
}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
+
import { build as esbuild } from "esbuild";
|
|
1
2
|
import { resolve as importMetaResolve } from "import-meta-resolve";
|
|
2
3
|
import fs from "node:fs";
|
|
3
|
-
import
|
|
4
|
+
import { tmpdir } from "node:os";
|
|
5
|
+
import path, { dirname, resolve } from "node:path";
|
|
4
6
|
import { mergeConfig, build as viteBuild } from "vite";
|
|
5
7
|
import FSExtra from "fs-extra";
|
|
6
|
-
import { clientBundleTreeShakePlugin } from "../plugins/clientBundleTreeShakePlugin.mjs";
|
|
7
8
|
import { getBaseViteConfig } from "../utils/getBaseViteConfig.mjs";
|
|
9
|
+
import { getHtml } from "../utils/getHtml.mjs";
|
|
8
10
|
import { getOptionsFilled } from "../utils/getOptionsFilled.mjs";
|
|
11
|
+
import { ssrOptimizeDeps } from "../constants.mjs";
|
|
9
12
|
const resolveFile = path2 => {
|
|
10
13
|
try {
|
|
11
14
|
return importMetaResolve(path2, import.meta.url).replace("file://", "");
|
|
@@ -16,26 +19,20 @@ const resolveFile = path2 => {
|
|
|
16
19
|
{
|
|
17
20
|
ensureDir,
|
|
18
21
|
existsSync,
|
|
19
|
-
readFile
|
|
22
|
+
readFile,
|
|
23
|
+
pathExists
|
|
20
24
|
} = FSExtra,
|
|
21
|
-
extensions = [".web.tsx", ".tsx", ".web.ts", ".ts", ".web.jsx", ".jsx", ".web.js", ".js", ".css", ".json"],
|
|
22
25
|
build = async optionsIn => {
|
|
23
|
-
const options = await getOptionsFilled(optionsIn)
|
|
24
|
-
|
|
25
|
-
let
|
|
26
|
+
const options = await getOptionsFilled(optionsIn);
|
|
27
|
+
process.env.NODE_ENV = "production";
|
|
28
|
+
let webBuildConfig = mergeConfig(getBaseViteConfig({
|
|
26
29
|
mode: "production"
|
|
27
30
|
}), {
|
|
28
31
|
root: options.root,
|
|
29
32
|
clearScreen: !1,
|
|
30
|
-
optimizeDeps:
|
|
31
|
-
include: depsToOptimize,
|
|
32
|
-
esbuildOptions: {
|
|
33
|
-
resolveExtensions: extensions
|
|
34
|
-
}
|
|
35
|
-
}
|
|
33
|
+
optimizeDeps: ssrOptimizeDeps
|
|
36
34
|
});
|
|
37
|
-
options.webConfig && (
|
|
38
|
-
plugins: [clientBundleTreeShakePlugin({})],
|
|
35
|
+
options.webConfig && (webBuildConfig = mergeConfig(webBuildConfig, options.webConfig)), console.info("build client"), await viteBuild(mergeConfig(webBuildConfig, {
|
|
39
36
|
build: {
|
|
40
37
|
ssrManifest: !0,
|
|
41
38
|
outDir: "dist/client"
|
|
@@ -43,7 +40,25 @@ const resolveFile = path2 => {
|
|
|
43
40
|
})), console.info("build server");
|
|
44
41
|
const {
|
|
45
42
|
output
|
|
46
|
-
} = await viteBuild(mergeConfig(
|
|
43
|
+
} = await viteBuild(mergeConfig(webBuildConfig, {
|
|
44
|
+
plugins: [{
|
|
45
|
+
name: "test",
|
|
46
|
+
enforce: "pre",
|
|
47
|
+
async resolveId(id, importer = "") {
|
|
48
|
+
if (id[0] === ".") {
|
|
49
|
+
const absolutePath = resolve(dirname(importer), id),
|
|
50
|
+
webPath = absolutePath.replace(/(.m?js)/, "") + ".web.js";
|
|
51
|
+
if (webPath === id) return;
|
|
52
|
+
try {
|
|
53
|
+
const directoryPath = absolutePath + "/index.web.js";
|
|
54
|
+
if (await pathExists(directoryPath)) return console.info(`temp fix found ${directoryPath}`), directoryPath;
|
|
55
|
+
if (await pathExists(webPath)) return console.info(`temp fix found ${webPath}`), webPath;
|
|
56
|
+
} catch (err) {
|
|
57
|
+
console.warn("error probably fine", err);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}],
|
|
47
62
|
resolve: {
|
|
48
63
|
alias: {
|
|
49
64
|
"react-native": "react-native-web-lite"
|
|
@@ -55,7 +70,8 @@ const resolveFile = path2 => {
|
|
|
55
70
|
}
|
|
56
71
|
},
|
|
57
72
|
ssr: {
|
|
58
|
-
noExternal: !0
|
|
73
|
+
noExternal: !0,
|
|
74
|
+
optimizeDeps: ssrOptimizeDeps
|
|
59
75
|
},
|
|
60
76
|
build: {
|
|
61
77
|
// we want one big file of css
|
|
@@ -75,7 +91,6 @@ async function generateStaticPages(options, serverOutput) {
|
|
|
75
91
|
await ensureDir(staticDir);
|
|
76
92
|
const template = fs.readFileSync(toAbsolute("index.html"), "utf-8"),
|
|
77
93
|
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
94
|
assets = [],
|
|
80
95
|
allRoutes = (await Promise.all(serverOutput.flatMap(async output => {
|
|
81
96
|
if (output.type === "asset") return assets.push(output), [];
|
|
@@ -83,35 +98,70 @@ async function generateStaticPages(options, serverOutput) {
|
|
|
83
98
|
file = path.basename(id),
|
|
84
99
|
name = file.replace(/\.[^/.]+$/, "");
|
|
85
100
|
if (!id || file[0] === "_" || file.includes("entry-server")) return [];
|
|
86
|
-
|
|
87
|
-
|
|
101
|
+
if (id.includes("+api")) return [];
|
|
102
|
+
const exported = await import(path.join(options.root, "dist/server", output.fileName)),
|
|
103
|
+
paramsList = (await exported.generateStaticParams?.()) ?? [{}];
|
|
104
|
+
return await Promise.all(paramsList.map(async params => {
|
|
105
|
+
const path2 = getUrl(params),
|
|
106
|
+
props = (await exported.generateStaticProps?.({
|
|
107
|
+
path: getUrl(params),
|
|
108
|
+
params
|
|
109
|
+
})) ?? {};
|
|
110
|
+
return {
|
|
111
|
+
path: path2,
|
|
112
|
+
props
|
|
113
|
+
};
|
|
114
|
+
}));
|
|
115
|
+
function getUrl(_params = {}) {
|
|
88
116
|
return name === "index" ? "/" : `/${name.split("/").map(part => {
|
|
89
117
|
if (part[0] === "[") {
|
|
90
|
-
const found =
|
|
118
|
+
const found = _params[part.slice(1, part.length - 1)];
|
|
91
119
|
return found || console.warn("not found", {
|
|
92
|
-
|
|
120
|
+
_params,
|
|
93
121
|
part
|
|
94
122
|
}), found;
|
|
95
123
|
}
|
|
96
124
|
return part;
|
|
97
125
|
}).join("/")}`;
|
|
98
126
|
}
|
|
99
|
-
return result;
|
|
100
127
|
}))).flat(),
|
|
101
|
-
|
|
128
|
+
cssStringRaw = assets.filter(x => x.name?.endsWith(".css")).map(x => x.source).join(`
|
|
102
129
|
|
|
103
|
-
`)
|
|
104
|
-
|
|
130
|
+
`),
|
|
131
|
+
tmpCssFile = path.join(tmpdir(), "tmp.css");
|
|
132
|
+
await FSExtra.writeFile(tmpCssFile, cssStringRaw, "utf-8"), await esbuild({
|
|
133
|
+
entryPoints: [tmpCssFile],
|
|
134
|
+
target: "safari17",
|
|
135
|
+
bundle: !0,
|
|
136
|
+
minifyWhitespace: !0,
|
|
137
|
+
sourcemap: !1,
|
|
138
|
+
outfile: tmpCssFile,
|
|
139
|
+
loader: {
|
|
140
|
+
".css": "css"
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
const cssString = await FSExtra.readFile(tmpCssFile, "utf-8");
|
|
144
|
+
for (const {
|
|
145
|
+
path: path2,
|
|
146
|
+
props
|
|
147
|
+
} of allRoutes) {
|
|
105
148
|
const {
|
|
106
149
|
appHtml,
|
|
107
150
|
headHtml
|
|
108
151
|
} = await render({
|
|
109
|
-
path: path2
|
|
152
|
+
path: path2,
|
|
153
|
+
props
|
|
110
154
|
}),
|
|
111
155
|
slashFileName = `${path2 === "/" ? "/index" : path2}.html`,
|
|
112
156
|
clientHtmlPath = toAbsolute(`dist/client${slashFileName}`),
|
|
113
|
-
|
|
114
|
-
|
|
157
|
+
clientHtml = existsSync(clientHtmlPath) ? await readFile(clientHtmlPath, "utf-8") : null,
|
|
158
|
+
html = getHtml({
|
|
159
|
+
template: clientHtml || template,
|
|
160
|
+
appHtml,
|
|
161
|
+
headHtml,
|
|
162
|
+
props,
|
|
163
|
+
css: cssString
|
|
164
|
+
}),
|
|
115
165
|
filePath = toAbsolute(`dist/static${slashFileName}`);
|
|
116
166
|
fs.writeFileSync(toAbsolute(filePath), html);
|
|
117
167
|
}
|