@modern-js/app-tools 2.69.4 → 3.0.0-alpha.0
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/bin/modern.js +2 -8
- package/dist/cjs/builder/builder-rspack/index.js +35 -27
- package/dist/cjs/builder/generator/adapterCopy.js +75 -46
- package/dist/cjs/builder/generator/createBuilderProviderConfig.js +83 -81
- package/dist/cjs/builder/generator/createCopyPattern.js +59 -58
- package/dist/cjs/builder/generator/getBuilderEnvironments.js +80 -82
- package/dist/cjs/builder/generator/index.js +70 -85
- package/dist/cjs/builder/index.js +44 -47
- package/dist/cjs/builder/shared/builderPlugins/adapterBasic.js +106 -83
- package/dist/cjs/builder/shared/builderPlugins/adapterHtml.js +79 -74
- package/dist/cjs/builder/shared/builderPlugins/adapterSSR.js +131 -165
- package/dist/cjs/builder/shared/builderPlugins/builderHooks.js +47 -46
- package/dist/cjs/builder/shared/builderPlugins/index.js +76 -25
- package/dist/cjs/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +66 -49
- package/dist/cjs/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +51 -50
- package/dist/cjs/builder/shared/bundlerPlugins/RouterPlugin.js +178 -317
- package/dist/cjs/builder/shared/bundlerPlugins/index.js +69 -23
- package/dist/cjs/builder/shared/createCopyInfo.js +54 -43
- package/dist/cjs/builder/shared/index.js +69 -23
- package/dist/cjs/builder/shared/loaders/serverModuleLoader.js +35 -23
- package/dist/cjs/builder/shared/types.js +17 -15
- package/dist/cjs/commands/build.js +107 -96
- package/dist/cjs/commands/deploy.js +40 -32
- package/dist/cjs/commands/dev.js +122 -141
- package/dist/cjs/commands/index.js +74 -121
- package/dist/cjs/commands/inspect.js +45 -39
- package/dist/cjs/commands/serve.js +87 -84
- package/dist/cjs/compat/hooks.js +97 -177
- package/dist/cjs/compat/index.js +57 -59
- package/dist/cjs/compat/utils.js +125 -116
- package/dist/cjs/config/default.js +118 -225
- package/dist/cjs/config/index.js +62 -23
- package/dist/cjs/config/initialize/index.js +37 -29
- package/dist/cjs/config/initialize/inits.js +92 -106
- package/dist/cjs/constants.js +37 -37
- package/dist/cjs/defineConfig.js +33 -35
- package/dist/cjs/esm/esbuild-loader.js +62 -0
- package/dist/cjs/esm/esbuild-loader.mjs +11 -23
- package/dist/cjs/esm/register-esm.js +85 -0
- package/dist/cjs/esm/register-esm.mjs +41 -54
- package/dist/cjs/esm/ts-node-loader.js +62 -0
- package/dist/cjs/esm/ts-node-loader.mjs +11 -23
- package/dist/cjs/esm/utils.js +69 -0
- package/dist/cjs/esm/utils.mjs +24 -36
- package/dist/cjs/exports/server.js +16 -26
- package/dist/cjs/index.js +288 -199
- package/dist/cjs/locale/en.js +70 -62
- package/dist/cjs/locale/index.js +42 -33
- package/dist/cjs/locale/zh.js +70 -62
- package/dist/cjs/plugins/analyze/constants.js +43 -36
- package/dist/cjs/plugins/analyze/getBundleEntry.js +90 -94
- package/dist/cjs/plugins/analyze/getFileSystemEntry.js +110 -137
- package/dist/cjs/plugins/analyze/getHtmlTemplate.js +125 -127
- package/dist/cjs/plugins/analyze/getServerRoutes.js +160 -164
- package/dist/cjs/plugins/analyze/index.js +221 -208
- package/dist/cjs/plugins/analyze/isDefaultExportFunction.js +81 -76
- package/dist/cjs/plugins/analyze/templates.js +36 -28
- package/dist/cjs/plugins/analyze/utils.js +109 -104
- package/dist/cjs/plugins/deploy/index.js +64 -56
- package/dist/cjs/plugins/deploy/platforms/gh-pages.js +82 -86
- package/dist/cjs/plugins/deploy/platforms/netlify-entry.js +35 -2
- package/dist/cjs/plugins/deploy/platforms/netlify-handler.js +86 -62
- package/dist/cjs/plugins/deploy/platforms/netlify.js +145 -157
- package/dist/cjs/plugins/deploy/platforms/node-entry.js +73 -45
- package/dist/cjs/plugins/deploy/platforms/node.js +113 -113
- package/dist/cjs/plugins/deploy/platforms/platform.js +17 -15
- package/dist/cjs/plugins/deploy/platforms/vercel-entry.js +36 -2
- package/dist/cjs/plugins/deploy/platforms/vercel-handler.js +87 -63
- package/dist/cjs/plugins/deploy/platforms/vercel.js +165 -169
- package/dist/cjs/plugins/deploy/utils.js +85 -85
- package/dist/cjs/plugins/initialize/index.js +86 -91
- package/dist/cjs/plugins/serverBuild.js +85 -78
- package/dist/cjs/plugins/serverRuntime.js +46 -34
- package/dist/cjs/run/index.js +86 -128
- package/dist/cjs/types/config/deploy.js +17 -15
- package/dist/cjs/types/config/dev.js +17 -15
- package/dist/cjs/types/config/experiments.js +17 -15
- package/dist/cjs/types/config/html.js +17 -15
- package/dist/cjs/types/config/index.js +55 -19
- package/dist/cjs/types/config/output.js +17 -15
- package/dist/cjs/types/config/performance.js +17 -15
- package/dist/cjs/types/config/resolve.js +17 -15
- package/dist/cjs/types/config/security.js +17 -15
- package/dist/cjs/types/config/source.js +17 -15
- package/dist/cjs/types/config/testing.js +17 -15
- package/dist/cjs/types/config/tools.js +17 -15
- package/dist/cjs/types/index.js +55 -23
- package/dist/cjs/types/plugin.js +18 -0
- package/dist/cjs/types/utils.js +17 -15
- package/dist/cjs/utils/config.js +40 -80
- package/dist/cjs/utils/createServer.js +46 -47
- package/dist/cjs/utils/env.js +41 -35
- package/dist/cjs/utils/generateWatchFiles.js +49 -60
- package/dist/cjs/utils/getConfigFile.js +46 -38
- package/dist/cjs/utils/getSelectedEntries.js +55 -53
- package/dist/cjs/utils/initAppContext.js +66 -59
- package/dist/cjs/utils/loadPlugins.js +77 -70
- package/dist/cjs/utils/printInstructions.js +39 -31
- package/dist/cjs/utils/register.js +108 -117
- package/dist/cjs/utils/restart.js +46 -41
- package/dist/cjs/utils/routes.js +60 -52
- package/dist/cjs/utils/types.js +17 -15
- package/dist/esm/builder/builder-rspack/index.mjs +6 -0
- package/dist/esm/builder/generator/adapterCopy.mjs +35 -0
- package/dist/esm/builder/generator/createBuilderProviderConfig.mjs +59 -0
- package/dist/esm/builder/generator/createCopyPattern.mjs +30 -0
- package/dist/esm/builder/generator/getBuilderEnvironments.mjs +56 -0
- package/dist/esm/builder/generator/index.mjs +45 -0
- package/dist/esm/builder/index.mjs +7 -0
- package/dist/esm/builder/shared/builderPlugins/adapterBasic.mjs +78 -0
- package/dist/esm/builder/shared/builderPlugins/adapterHtml.mjs +55 -0
- package/dist/esm/builder/shared/builderPlugins/adapterSSR.mjs +117 -0
- package/dist/esm/builder/shared/builderPlugins/builderHooks.mjs +17 -0
- package/dist/esm/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.mjs +37 -0
- package/dist/esm/builder/shared/bundlerPlugins/HtmlBottomTemplate.mjs +22 -0
- package/dist/esm/builder/shared/bundlerPlugins/RouterPlugin.mjs +157 -0
- package/dist/esm/builder/shared/createCopyInfo.mjs +15 -0
- package/dist/esm/builder/shared/loaders/serverModuleLoader.mjs +5 -0
- package/dist/esm/commands/build.mjs +68 -0
- package/dist/esm/commands/deploy.mjs +10 -0
- package/dist/esm/commands/dev.mjs +82 -0
- package/dist/esm/commands/index.mjs +37 -0
- package/dist/esm/commands/inspect.mjs +15 -0
- package/dist/esm/commands/serve.mjs +47 -0
- package/dist/esm/compat/hooks.mjs +67 -0
- package/dist/esm/compat/index.mjs +28 -0
- package/dist/esm/compat/utils.mjs +95 -0
- package/dist/esm/config/default.mjs +90 -0
- package/dist/{esm-node/config/index.js → esm/config/index.mjs} +0 -1
- package/dist/esm/config/initialize/index.mjs +7 -0
- package/dist/esm/config/initialize/inits.mjs +54 -0
- package/dist/esm/constants.mjs +3 -0
- package/dist/esm/defineConfig.mjs +2 -0
- package/dist/esm/esm/esbuild-loader.mjs +18 -29
- package/dist/esm/esm/register-esm.mjs +45 -57
- package/dist/esm/esm/ts-node-loader.mjs +18 -30
- package/dist/esm/esm/utils.mjs +31 -42
- package/dist/esm/index.mjs +121 -0
- package/dist/esm/locale/en.mjs +42 -0
- package/dist/esm/locale/index.mjs +9 -0
- package/dist/esm/locale/zh.mjs +42 -0
- package/dist/esm/plugins/analyze/constants.mjs +8 -0
- package/dist/esm/plugins/analyze/getBundleEntry.mjs +53 -0
- package/dist/esm/plugins/analyze/getFileSystemEntry.mjs +66 -0
- package/dist/esm/plugins/analyze/getHtmlTemplate.mjs +85 -0
- package/dist/esm/plugins/analyze/getServerRoutes.mjs +130 -0
- package/dist/esm/plugins/analyze/index.mjs +193 -0
- package/dist/esm/plugins/analyze/isDefaultExportFunction.mjs +41 -0
- package/dist/esm/plugins/analyze/templates.mjs +22 -0
- package/dist/esm/plugins/analyze/utils.mjs +55 -0
- package/dist/esm/plugins/deploy/index.mjs +38 -0
- package/dist/esm/plugins/deploy/platforms/gh-pages.mjs +43 -0
- package/dist/esm/plugins/deploy/platforms/netlify-entry.mjs +2 -1
- package/dist/esm/plugins/deploy/platforms/netlify-handler.mjs +85 -0
- package/dist/esm/plugins/deploy/platforms/netlify.mjs +111 -0
- package/dist/esm/plugins/deploy/platforms/node-entry.mjs +68 -0
- package/dist/esm/plugins/deploy/platforms/node.mjs +77 -0
- package/dist/esm/plugins/deploy/platforms/vercel-entry.mjs +3 -3
- package/dist/esm/plugins/deploy/platforms/vercel-handler.mjs +85 -0
- package/dist/esm/plugins/deploy/platforms/vercel.mjs +131 -0
- package/dist/esm/plugins/deploy/utils.mjs +39 -0
- package/dist/esm/plugins/initialize/index.mjs +59 -0
- package/dist/esm/plugins/serverBuild.mjs +48 -0
- package/dist/esm/plugins/serverRuntime.mjs +15 -0
- package/dist/esm/run/index.mjs +60 -0
- package/dist/esm/types/index.mjs +1 -0
- package/dist/esm/utils/config.mjs +11 -0
- package/dist/esm/utils/createServer.mjs +12 -0
- package/dist/esm/utils/env.mjs +12 -0
- package/dist/esm/utils/generateWatchFiles.mjs +10 -0
- package/dist/esm/utils/getConfigFile.mjs +5 -0
- package/dist/esm/utils/getSelectedEntries.mjs +26 -0
- package/dist/esm/utils/initAppContext.mjs +26 -0
- package/dist/esm/utils/loadPlugins.mjs +45 -0
- package/dist/esm/utils/printInstructions.mjs +9 -0
- package/dist/esm/utils/register.mjs +75 -0
- package/dist/esm/utils/restart.mjs +18 -0
- package/dist/esm/utils/routes.mjs +15 -0
- package/dist/esm-node/builder/builder-rspack/index.mjs +6 -0
- package/dist/esm-node/builder/generator/adapterCopy.mjs +35 -0
- package/dist/esm-node/builder/generator/createBuilderProviderConfig.mjs +59 -0
- package/dist/esm-node/builder/generator/createCopyPattern.mjs +30 -0
- package/dist/esm-node/builder/generator/getBuilderEnvironments.mjs +56 -0
- package/dist/esm-node/builder/generator/index.mjs +45 -0
- package/dist/esm-node/builder/index.mjs +7 -0
- package/dist/esm-node/builder/shared/builderPlugins/adapterBasic.mjs +78 -0
- package/dist/esm-node/builder/shared/builderPlugins/adapterHtml.mjs +55 -0
- package/dist/esm-node/builder/shared/builderPlugins/adapterSSR.mjs +117 -0
- package/dist/esm-node/builder/shared/builderPlugins/builderHooks.mjs +17 -0
- package/dist/esm-node/builder/shared/builderPlugins/index.mjs +4 -0
- package/dist/esm-node/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.mjs +37 -0
- package/dist/esm-node/builder/shared/bundlerPlugins/HtmlBottomTemplate.mjs +22 -0
- package/dist/esm-node/builder/shared/bundlerPlugins/RouterPlugin.mjs +157 -0
- package/dist/esm-node/builder/shared/bundlerPlugins/index.mjs +3 -0
- package/dist/esm-node/builder/shared/createCopyInfo.mjs +15 -0
- package/dist/esm-node/builder/shared/index.mjs +3 -0
- package/dist/esm-node/builder/shared/loaders/serverModuleLoader.mjs +5 -0
- package/dist/esm-node/commands/build.mjs +68 -0
- package/dist/esm-node/commands/deploy.mjs +10 -0
- package/dist/esm-node/commands/dev.mjs +82 -0
- package/dist/esm-node/commands/index.mjs +37 -0
- package/dist/esm-node/commands/inspect.mjs +15 -0
- package/dist/esm-node/commands/serve.mjs +47 -0
- package/dist/esm-node/compat/hooks.mjs +67 -0
- package/dist/esm-node/compat/index.mjs +28 -0
- package/dist/esm-node/compat/utils.mjs +95 -0
- package/dist/esm-node/config/default.mjs +90 -0
- package/dist/esm-node/config/index.mjs +2 -0
- package/dist/esm-node/config/initialize/index.mjs +7 -0
- package/dist/esm-node/config/initialize/inits.mjs +54 -0
- package/dist/esm-node/constants.mjs +3 -0
- package/dist/esm-node/defineConfig.mjs +2 -0
- package/dist/esm-node/esm/esbuild-loader.mjs +18 -29
- package/dist/esm-node/esm/register-esm.mjs +45 -57
- package/dist/esm-node/esm/ts-node-loader.mjs +18 -30
- package/dist/esm-node/esm/utils.mjs +31 -42
- package/dist/esm-node/index.mjs +121 -0
- package/dist/esm-node/locale/en.mjs +42 -0
- package/dist/esm-node/locale/index.mjs +9 -0
- package/dist/esm-node/locale/zh.mjs +42 -0
- package/dist/esm-node/plugins/analyze/constants.mjs +8 -0
- package/dist/esm-node/plugins/analyze/getBundleEntry.mjs +53 -0
- package/dist/esm-node/plugins/analyze/getFileSystemEntry.mjs +66 -0
- package/dist/esm-node/plugins/analyze/getHtmlTemplate.mjs +85 -0
- package/dist/esm-node/plugins/analyze/getServerRoutes.mjs +130 -0
- package/dist/esm-node/plugins/analyze/index.mjs +193 -0
- package/dist/esm-node/plugins/analyze/isDefaultExportFunction.mjs +41 -0
- package/dist/esm-node/plugins/analyze/{templates.js → templates.mjs} +5 -7
- package/dist/esm-node/plugins/analyze/utils.mjs +55 -0
- package/dist/esm-node/plugins/deploy/index.mjs +38 -0
- package/dist/esm-node/plugins/deploy/platforms/gh-pages.mjs +43 -0
- package/dist/esm-node/plugins/deploy/platforms/netlify-entry.mjs +2 -1
- package/dist/esm-node/plugins/deploy/platforms/netlify-handler.mjs +85 -0
- package/dist/esm-node/plugins/deploy/platforms/netlify.mjs +111 -0
- package/dist/esm-node/plugins/deploy/platforms/node-entry.mjs +68 -0
- package/dist/esm-node/plugins/deploy/platforms/node.mjs +77 -0
- package/dist/esm-node/plugins/deploy/platforms/vercel-entry.mjs +3 -3
- package/dist/esm-node/plugins/deploy/platforms/vercel-handler.mjs +85 -0
- package/dist/esm-node/plugins/deploy/platforms/vercel.mjs +131 -0
- package/dist/esm-node/plugins/deploy/utils.mjs +39 -0
- package/dist/esm-node/plugins/initialize/index.mjs +59 -0
- package/dist/esm-node/plugins/serverBuild.mjs +48 -0
- package/dist/esm-node/plugins/serverRuntime.mjs +15 -0
- package/dist/esm-node/run/index.mjs +60 -0
- package/dist/esm-node/types/config/index.mjs +1 -0
- package/dist/esm-node/types/index.mjs +1 -0
- package/dist/esm-node/utils/config.mjs +11 -0
- package/dist/esm-node/utils/createServer.mjs +12 -0
- package/dist/esm-node/utils/env.mjs +12 -0
- package/dist/esm-node/utils/generateWatchFiles.mjs +10 -0
- package/dist/esm-node/utils/getConfigFile.mjs +5 -0
- package/dist/esm-node/utils/getSelectedEntries.mjs +26 -0
- package/dist/esm-node/utils/initAppContext.mjs +26 -0
- package/dist/esm-node/utils/loadPlugins.mjs +45 -0
- package/dist/esm-node/utils/printInstructions.mjs +9 -0
- package/dist/esm-node/utils/register.mjs +75 -0
- package/dist/esm-node/utils/restart.mjs +18 -0
- package/dist/esm-node/utils/routes.mjs +15 -0
- package/dist/types/builder/builder-rspack/index.d.ts +1 -1
- package/dist/types/builder/generator/adapterCopy.d.ts +2 -3
- package/dist/types/builder/generator/createBuilderProviderConfig.d.ts +3 -3
- package/dist/types/builder/generator/createCopyPattern.d.ts +5 -5
- package/dist/types/builder/generator/getBuilderEnvironments.d.ts +4 -4
- package/dist/types/builder/generator/index.d.ts +2 -3
- package/dist/types/builder/index.d.ts +2 -2
- package/dist/types/builder/shared/builderPlugins/adapterBasic.d.ts +1 -2
- package/dist/types/builder/shared/builderPlugins/adapterHtml.d.ts +1 -2
- package/dist/types/builder/shared/builderPlugins/adapterSSR.d.ts +1 -2
- package/dist/types/builder/shared/builderPlugins/builderHooks.d.ts +1 -2
- package/dist/types/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.d.ts +4 -4
- package/dist/types/builder/shared/bundlerPlugins/HtmlBottomTemplate.d.ts +4 -4
- package/dist/types/builder/shared/bundlerPlugins/RouterPlugin.d.ts +3 -5
- package/dist/types/builder/shared/createCopyInfo.d.ts +4 -3
- package/dist/types/builder/shared/loaders/serverModuleLoader.d.ts +2 -2
- package/dist/types/builder/shared/types.d.ts +5 -5
- package/dist/types/commands/build.d.ts +2 -2
- package/dist/types/commands/deploy.d.ts +2 -2
- package/dist/types/commands/dev.d.ts +2 -2
- package/dist/types/commands/index.d.ts +7 -9
- package/dist/types/commands/inspect.d.ts +2 -2
- package/dist/types/commands/serve.d.ts +2 -2
- package/dist/types/compat/hooks.d.ts +2 -2
- package/dist/types/compat/index.d.ts +2 -2
- package/dist/types/config/default.d.ts +3 -4
- package/dist/types/config/index.d.ts +0 -1
- package/dist/types/config/initialize/index.d.ts +2 -2
- package/dist/types/config/initialize/inits.d.ts +3 -4
- package/dist/types/constants.d.ts +0 -3
- package/dist/types/defineConfig.d.ts +7 -8
- package/dist/types/exports/server.d.ts +1 -5
- package/dist/types/index.d.ts +4 -5
- package/dist/types/locale/index.d.ts +1 -1
- package/dist/types/plugins/analyze/constants.d.ts +0 -1
- package/dist/types/plugins/analyze/getBundleEntry.d.ts +2 -2
- package/dist/types/plugins/analyze/getFileSystemEntry.d.ts +2 -2
- package/dist/types/plugins/analyze/getHtmlTemplate.d.ts +4 -4
- package/dist/types/plugins/analyze/getServerRoutes.d.ts +3 -3
- package/dist/types/plugins/analyze/index.d.ts +2 -4
- package/dist/types/plugins/deploy/index.d.ts +2 -2
- package/dist/types/plugins/deploy/platforms/platform.d.ts +2 -2
- package/dist/types/plugins/deploy/utils.d.ts +2 -2
- package/dist/types/plugins/initialize/index.d.ts +2 -4
- package/dist/types/plugins/serverBuild.d.ts +2 -2
- package/dist/types/plugins/serverRuntime.d.ts +2 -2
- package/dist/types/run/index.d.ts +3 -8
- package/dist/types/types/config/deploy.d.ts +0 -1
- package/dist/types/types/config/dev.d.ts +50 -9
- package/dist/types/types/config/experiments.d.ts +2 -2
- package/dist/types/types/config/html.d.ts +2 -2
- package/dist/types/types/config/index.d.ts +10 -14
- package/dist/types/types/config/output.d.ts +8 -8
- package/dist/types/types/config/performance.d.ts +2 -2
- package/dist/types/types/config/resolve.d.ts +2 -2
- package/dist/types/types/config/security.d.ts +2 -2
- package/dist/types/types/config/source.d.ts +2 -23
- package/dist/types/types/config/tools.d.ts +5 -22
- package/dist/types/types/index.d.ts +7 -34
- package/dist/types/types/{new.d.ts → plugin.d.ts} +10 -39
- package/dist/types/types/utils.d.ts +0 -6
- package/dist/types/utils/config.d.ts +1 -11
- package/dist/types/utils/createServer.d.ts +1 -3
- package/dist/types/utils/env.d.ts +2 -2
- package/dist/types/utils/generateWatchFiles.d.ts +2 -3
- package/dist/types/utils/initAppContext.d.ts +1 -3
- package/dist/types/utils/loadPlugins.d.ts +5 -5
- package/dist/types/utils/printInstructions.d.ts +2 -2
- package/dist/types/utils/restart.d.ts +2 -2
- package/dist/types/utils/routes.d.ts +2 -3
- package/lib/types.d.ts +5 -16
- package/package.json +51 -38
- package/rslib.config.mts +20 -0
- package/dist/cjs/builder/builder-webpack/index.js +0 -50
- package/dist/cjs/config/legacy/createHtmlConfig.js +0 -45
- package/dist/cjs/config/legacy/createOutputConfig.js +0 -69
- package/dist/cjs/config/legacy/createSourceConfig.js +0 -53
- package/dist/cjs/config/legacy/createToolsConfig.js +0 -52
- package/dist/cjs/config/legacy/index.js +0 -68
- package/dist/cjs/plugins/deploy/platforms/netlify-entry.mjs +0 -1
- package/dist/cjs/plugins/deploy/platforms/vercel-entry.mjs +0 -3
- package/dist/cjs/types/hooks.js +0 -16
- package/dist/cjs/types/legacyConfig/deploy.js +0 -16
- package/dist/cjs/types/legacyConfig/dev.js +0 -16
- package/dist/cjs/types/legacyConfig/index.js +0 -16
- package/dist/cjs/types/legacyConfig/output.js +0 -16
- package/dist/cjs/types/legacyConfig/source.js +0 -16
- package/dist/cjs/types/legacyConfig/testing.js +0 -16
- package/dist/cjs/types/legacyConfig/tools.js +0 -16
- package/dist/cjs/types/new.js +0 -16
- package/dist/cjs/utils/getUserConfig.js +0 -34
- package/dist/esm/builder/builder-rspack/index.js +0 -30
- package/dist/esm/builder/builder-webpack/index.js +0 -48
- package/dist/esm/builder/generator/adapterCopy.js +0 -29
- package/dist/esm/builder/generator/createBuilderProviderConfig.js +0 -56
- package/dist/esm/builder/generator/createCopyPattern.js +0 -43
- package/dist/esm/builder/generator/getBuilderEnvironments.js +0 -89
- package/dist/esm/builder/generator/index.js +0 -116
- package/dist/esm/builder/index.js +0 -50
- package/dist/esm/builder/shared/builderPlugins/adapterBasic.js +0 -92
- package/dist/esm/builder/shared/builderPlugins/adapterHtml.js +0 -126
- package/dist/esm/builder/shared/builderPlugins/adapterSSR.js +0 -262
- package/dist/esm/builder/shared/builderPlugins/builderHooks.js +0 -120
- package/dist/esm/builder/shared/builderPlugins/index.js +0 -4
- package/dist/esm/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +0 -51
- package/dist/esm/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +0 -37
- package/dist/esm/builder/shared/bundlerPlugins/RouterPlugin.js +0 -420
- package/dist/esm/builder/shared/bundlerPlugins/index.js +0 -3
- package/dist/esm/builder/shared/createCopyInfo.js +0 -14
- package/dist/esm/builder/shared/index.js +0 -3
- package/dist/esm/builder/shared/loaders/serverModuleLoader.js +0 -7
- package/dist/esm/commands/build.js +0 -142
- package/dist/esm/commands/deploy.js +0 -48
- package/dist/esm/commands/dev.js +0 -197
- package/dist/esm/commands/index.js +0 -401
- package/dist/esm/commands/inspect.js +0 -31
- package/dist/esm/commands/serve.js +0 -96
- package/dist/esm/compat/hooks.js +0 -503
- package/dist/esm/compat/index.js +0 -45
- package/dist/esm/compat/utils.js +0 -100
- package/dist/esm/config/default.js +0 -205
- package/dist/esm/config/index.js +0 -3
- package/dist/esm/config/initialize/index.js +0 -9
- package/dist/esm/config/initialize/inits.js +0 -89
- package/dist/esm/config/legacy/createHtmlConfig.js +0 -21
- package/dist/esm/config/legacy/createOutputConfig.js +0 -45
- package/dist/esm/config/legacy/createSourceConfig.js +0 -46
- package/dist/esm/config/legacy/createToolsConfig.js +0 -28
- package/dist/esm/config/legacy/index.js +0 -43
- package/dist/esm/constants.js +0 -12
- package/dist/esm/defineConfig.js +0 -16
- package/dist/esm/exports/server.js +0 -4
- package/dist/esm/index.js +0 -265
- package/dist/esm/locale/en.js +0 -44
- package/dist/esm/locale/index.js +0 -12
- package/dist/esm/locale/zh.js +0 -44
- package/dist/esm/plugins/analyze/constants.js +0 -14
- package/dist/esm/plugins/analyze/getBundleEntry.js +0 -108
- package/dist/esm/plugins/analyze/getFileSystemEntry.js +0 -268
- package/dist/esm/plugins/analyze/getHtmlTemplate.js +0 -251
- package/dist/esm/plugins/analyze/getServerRoutes.js +0 -148
- package/dist/esm/plugins/analyze/index.js +0 -439
- package/dist/esm/plugins/analyze/isDefaultExportFunction.js +0 -49
- package/dist/esm/plugins/analyze/templates.js +0 -6
- package/dist/esm/plugins/analyze/utils.js +0 -106
- package/dist/esm/plugins/deploy/index.js +0 -133
- package/dist/esm/plugins/deploy/platforms/gh-pages.js +0 -184
- package/dist/esm/plugins/deploy/platforms/netlify-entry.js +0 -11
- package/dist/esm/plugins/deploy/platforms/netlify-handler.js +0 -207
- package/dist/esm/plugins/deploy/platforms/netlify.js +0 -346
- package/dist/esm/plugins/deploy/platforms/node-entry.js +0 -110
- package/dist/esm/plugins/deploy/platforms/node.js +0 -178
- package/dist/esm/plugins/deploy/platforms/vercel-entry.js +0 -11
- package/dist/esm/plugins/deploy/platforms/vercel-handler.js +0 -207
- package/dist/esm/plugins/deploy/platforms/vercel.js +0 -280
- package/dist/esm/plugins/deploy/utils.js +0 -59
- package/dist/esm/plugins/initialize/index.js +0 -116
- package/dist/esm/plugins/serverBuild.js +0 -83
- package/dist/esm/plugins/serverRuntime.js +0 -22
- package/dist/esm/run/index.js +0 -134
- package/dist/esm/types/config/index.js +0 -1
- package/dist/esm/types/config/source.js +0 -0
- package/dist/esm/types/config/testing.js +0 -0
- package/dist/esm/types/config/tools.js +0 -0
- package/dist/esm/types/hooks.js +0 -0
- package/dist/esm/types/index.js +0 -3
- package/dist/esm/types/legacyConfig/deploy.js +0 -0
- package/dist/esm/types/legacyConfig/dev.js +0 -0
- package/dist/esm/types/legacyConfig/index.js +0 -0
- package/dist/esm/types/legacyConfig/output.js +0 -0
- package/dist/esm/types/legacyConfig/source.js +0 -0
- package/dist/esm/types/legacyConfig/testing.js +0 -0
- package/dist/esm/types/legacyConfig/tools.js +0 -0
- package/dist/esm/types/new.js +0 -0
- package/dist/esm/types/utils.js +0 -0
- package/dist/esm/utils/config.js +0 -122
- package/dist/esm/utils/createServer.js +0 -58
- package/dist/esm/utils/env.js +0 -16
- package/dist/esm/utils/generateWatchFiles.js +0 -71
- package/dist/esm/utils/getConfigFile.js +0 -11
- package/dist/esm/utils/getSelectedEntries.js +0 -67
- package/dist/esm/utils/getUserConfig.js +0 -32
- package/dist/esm/utils/initAppContext.js +0 -30
- package/dist/esm/utils/loadPlugins.js +0 -162
- package/dist/esm/utils/printInstructions.js +0 -32
- package/dist/esm/utils/register.js +0 -182
- package/dist/esm/utils/restart.js +0 -68
- package/dist/esm/utils/routes.js +0 -42
- package/dist/esm/utils/types.js +0 -0
- package/dist/esm-node/builder/builder-rspack/index.js +0 -8
- package/dist/esm-node/builder/builder-webpack/index.js +0 -16
- package/dist/esm-node/builder/generator/adapterCopy.js +0 -26
- package/dist/esm-node/builder/generator/createBuilderProviderConfig.js +0 -67
- package/dist/esm-node/builder/generator/createCopyPattern.js +0 -41
- package/dist/esm-node/builder/generator/getBuilderEnvironments.js +0 -68
- package/dist/esm-node/builder/generator/index.js +0 -60
- package/dist/esm-node/builder/index.js +0 -16
- package/dist/esm-node/builder/shared/builderPlugins/adapterBasic.js +0 -55
- package/dist/esm-node/builder/shared/builderPlugins/adapterHtml.js +0 -60
- package/dist/esm-node/builder/shared/builderPlugins/adapterSSR.js +0 -151
- package/dist/esm-node/builder/shared/builderPlugins/builderHooks.js +0 -26
- package/dist/esm-node/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +0 -30
- package/dist/esm-node/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +0 -31
- package/dist/esm-node/builder/shared/bundlerPlugins/RouterPlugin.js +0 -305
- package/dist/esm-node/builder/shared/createCopyInfo.js +0 -14
- package/dist/esm-node/builder/shared/loaders/serverModuleLoader.js +0 -7
- package/dist/esm-node/commands/build.js +0 -67
- package/dist/esm-node/commands/deploy.js +0 -12
- package/dist/esm-node/commands/dev.js +0 -111
- package/dist/esm-node/commands/index.js +0 -90
- package/dist/esm-node/commands/inspect.js +0 -19
- package/dist/esm-node/commands/serve.js +0 -54
- package/dist/esm-node/compat/hooks.js +0 -159
- package/dist/esm-node/compat/index.js +0 -40
- package/dist/esm-node/compat/utils.js +0 -100
- package/dist/esm-node/config/default.js +0 -206
- package/dist/esm-node/config/initialize/index.js +0 -9
- package/dist/esm-node/config/initialize/inits.js +0 -79
- package/dist/esm-node/config/legacy/createHtmlConfig.js +0 -21
- package/dist/esm-node/config/legacy/createOutputConfig.js +0 -45
- package/dist/esm-node/config/legacy/createSourceConfig.js +0 -29
- package/dist/esm-node/config/legacy/createToolsConfig.js +0 -28
- package/dist/esm-node/config/legacy/index.js +0 -43
- package/dist/esm-node/constants.js +0 -12
- package/dist/esm-node/defineConfig.js +0 -13
- package/dist/esm-node/exports/server.js +0 -4
- package/dist/esm-node/index.js +0 -160
- package/dist/esm-node/locale/en.js +0 -44
- package/dist/esm-node/locale/index.js +0 -12
- package/dist/esm-node/locale/zh.js +0 -44
- package/dist/esm-node/plugins/analyze/constants.js +0 -14
- package/dist/esm-node/plugins/analyze/getBundleEntry.js +0 -67
- package/dist/esm-node/plugins/analyze/getFileSystemEntry.js +0 -108
- package/dist/esm-node/plugins/analyze/getHtmlTemplate.js +0 -99
- package/dist/esm-node/plugins/analyze/getServerRoutes.js +0 -146
- package/dist/esm-node/plugins/analyze/index.js +0 -184
- package/dist/esm-node/plugins/analyze/isDefaultExportFunction.js +0 -47
- package/dist/esm-node/plugins/analyze/utils.js +0 -73
- package/dist/esm-node/plugins/deploy/index.js +0 -44
- package/dist/esm-node/plugins/deploy/platforms/gh-pages.js +0 -57
- package/dist/esm-node/plugins/deploy/platforms/netlify-entry.js +0 -11
- package/dist/esm-node/plugins/deploy/platforms/netlify-handler.js +0 -73
- package/dist/esm-node/plugins/deploy/platforms/netlify.js +0 -133
- package/dist/esm-node/plugins/deploy/platforms/node-entry.js +0 -46
- package/dist/esm-node/plugins/deploy/platforms/node.js +0 -87
- package/dist/esm-node/plugins/deploy/platforms/vercel-entry.js +0 -11
- package/dist/esm-node/plugins/deploy/platforms/vercel-handler.js +0 -73
- package/dist/esm-node/plugins/deploy/platforms/vercel.js +0 -145
- package/dist/esm-node/plugins/deploy/utils.js +0 -55
- package/dist/esm-node/plugins/initialize/index.js +0 -78
- package/dist/esm-node/plugins/serverBuild.js +0 -56
- package/dist/esm-node/plugins/serverRuntime.js +0 -17
- package/dist/esm-node/run/index.js +0 -104
- package/dist/esm-node/types/index.js +0 -3
- package/dist/esm-node/utils/config.js +0 -49
- package/dist/esm-node/utils/createServer.js +0 -26
- package/dist/esm-node/utils/env.js +0 -16
- package/dist/esm-node/utils/generateWatchFiles.js +0 -30
- package/dist/esm-node/utils/getConfigFile.js +0 -7
- package/dist/esm-node/utils/getSelectedEntries.js +0 -34
- package/dist/esm-node/utils/getUserConfig.js +0 -10
- package/dist/esm-node/utils/initAppContext.js +0 -29
- package/dist/esm-node/utils/loadPlugins.js +0 -52
- package/dist/esm-node/utils/printInstructions.js +0 -11
- package/dist/esm-node/utils/register.js +0 -94
- package/dist/esm-node/utils/restart.js +0 -23
- package/dist/esm-node/utils/routes.js +0 -21
- package/dist/types/builder/builder-webpack/index.d.ts +0 -2
- package/dist/types/config/legacy/createHtmlConfig.d.ts +0 -2
- package/dist/types/config/legacy/createOutputConfig.d.ts +0 -2
- package/dist/types/config/legacy/createSourceConfig.d.ts +0 -2
- package/dist/types/config/legacy/createToolsConfig.d.ts +0 -2
- package/dist/types/config/legacy/index.d.ts +0 -3
- package/dist/types/types/hooks.d.ts +0 -69
- package/dist/types/types/legacyConfig/deploy.d.ts +0 -8
- package/dist/types/types/legacyConfig/dev.d.ts +0 -12
- package/dist/types/types/legacyConfig/index.d.ts +0 -35
- package/dist/types/types/legacyConfig/output.d.ts +0 -50
- package/dist/types/types/legacyConfig/source.d.ts +0 -28
- package/dist/types/types/legacyConfig/testing.d.ts +0 -8
- package/dist/types/types/legacyConfig/tools.d.ts +0 -15
- package/dist/types/utils/getUserConfig.d.ts +0 -6
- /package/dist/{esm-node/builder/shared/builderPlugins/index.js → esm/builder/shared/builderPlugins/index.mjs} +0 -0
- /package/dist/{esm-node/builder/shared/bundlerPlugins/index.js → esm/builder/shared/bundlerPlugins/index.mjs} +0 -0
- /package/dist/{esm-node/builder/shared/index.js → esm/builder/shared/index.mjs} +0 -0
- /package/dist/{esm-node/types/legacyConfig/output.js → esm/builder/shared/types.mjs} +0 -0
- /package/dist/{esm-node/types/legacyConfig/source.js → esm/exports/server.mjs} +0 -0
- /package/dist/{esm-node/types/legacyConfig/testing.js → esm/plugins/deploy/platforms/platform.mjs} +0 -0
- /package/dist/{esm-node/types/legacyConfig/tools.js → esm/types/config/deploy.mjs} +0 -0
- /package/dist/{esm-node/types/new.js → esm/types/config/dev.mjs} +0 -0
- /package/dist/{esm-node/types/utils.js → esm/types/config/experiments.mjs} +0 -0
- /package/dist/{esm-node/utils/types.js → esm/types/config/html.mjs} +0 -0
- /package/dist/{esm-node/types/config/index.js → esm/types/config/index.mjs} +0 -0
- /package/dist/esm/{builder/shared/types.js → types/config/output.mjs} +0 -0
- /package/dist/esm/{plugins/deploy/platforms/platform.js → types/config/performance.mjs} +0 -0
- /package/dist/esm/types/config/{deploy.js → resolve.mjs} +0 -0
- /package/dist/esm/types/config/{dev.js → security.mjs} +0 -0
- /package/dist/esm/types/config/{experiments.js → source.mjs} +0 -0
- /package/dist/esm/types/config/{html.js → testing.mjs} +0 -0
- /package/dist/esm/types/config/{output.js → tools.mjs} +0 -0
- /package/dist/esm/types/{config/performance.js → plugin.mjs} +0 -0
- /package/dist/esm/types/{config/resolve.js → utils.mjs} +0 -0
- /package/dist/esm/{types/config/security.js → utils/types.mjs} +0 -0
- /package/dist/esm-node/builder/shared/{types.js → types.mjs} +0 -0
- /package/dist/esm-node/{plugins/deploy/platforms/platform.js → exports/server.mjs} +0 -0
- /package/dist/esm-node/{types/config/deploy.js → plugins/deploy/platforms/platform.mjs} +0 -0
- /package/dist/esm-node/types/config/{dev.js → deploy.mjs} +0 -0
- /package/dist/esm-node/types/config/{experiments.js → dev.mjs} +0 -0
- /package/dist/esm-node/types/config/{html.js → experiments.mjs} +0 -0
- /package/dist/esm-node/types/config/{output.js → html.mjs} +0 -0
- /package/dist/esm-node/types/config/{performance.js → output.mjs} +0 -0
- /package/dist/esm-node/types/config/{resolve.js → performance.mjs} +0 -0
- /package/dist/esm-node/types/config/{security.js → resolve.mjs} +0 -0
- /package/dist/esm-node/types/config/{source.js → security.mjs} +0 -0
- /package/dist/esm-node/types/config/{testing.js → source.mjs} +0 -0
- /package/dist/esm-node/types/config/{tools.js → testing.mjs} +0 -0
- /package/dist/esm-node/types/{hooks.js → config/tools.mjs} +0 -0
- /package/dist/esm-node/types/{legacyConfig/deploy.js → plugin.mjs} +0 -0
- /package/dist/esm-node/types/{legacyConfig/dev.js → utils.mjs} +0 -0
- /package/dist/esm-node/{types/legacyConfig/index.js → utils/types.mjs} +0 -0
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { ensureAbsolutePath, getPort, isDev, isDevCommand } from "@modern-js/utils";
|
|
2
|
-
import { checkIsLegacyConfig, createDefaultConfig, createLegacyDefaultConfig, transformNormalizedConfig } from "../../config";
|
|
3
|
-
var initialize_default = ({ bundler }) => ({
|
|
4
|
-
name: "@modern-js/plugin-initialize",
|
|
5
|
-
post: [
|
|
6
|
-
"@modern-js/plugin-ssr",
|
|
7
|
-
"@modern-js/plugin-document",
|
|
8
|
-
"@modern-js/plugin-state",
|
|
9
|
-
"@modern-js/plugin-router",
|
|
10
|
-
"@modern-js/plugin-router-v5",
|
|
11
|
-
"@modern-js/plugin-polyfill"
|
|
12
|
-
],
|
|
13
|
-
setup(api) {
|
|
14
|
-
api.config(() => {
|
|
15
|
-
const appContext = api.getAppContext();
|
|
16
|
-
const userConfig = api.getConfig();
|
|
17
|
-
api.updateAppContext({
|
|
18
|
-
bundlerType: bundler
|
|
19
|
-
});
|
|
20
|
-
return checkIsLegacyConfig(userConfig) ? createLegacyDefaultConfig(appContext) : createDefaultConfig(appContext);
|
|
21
|
-
});
|
|
22
|
-
api.modifyResolvedConfig(async (resolved) => {
|
|
23
|
-
var _resolved_output_distPath;
|
|
24
|
-
let appContext = api.getAppContext();
|
|
25
|
-
const userConfig = api.getConfig();
|
|
26
|
-
const port = await getServerPort(resolved);
|
|
27
|
-
appContext = {
|
|
28
|
-
...appContext,
|
|
29
|
-
port,
|
|
30
|
-
distDirectory: ensureAbsolutePath(appContext.appDirectory, ((_resolved_output_distPath = resolved.output.distPath) === null || _resolved_output_distPath === void 0 ? void 0 : _resolved_output_distPath.root) || "dist")
|
|
31
|
-
};
|
|
32
|
-
api.updateAppContext(appContext);
|
|
33
|
-
const normalizedConfig = checkIsLegacyConfig(resolved) ? transformNormalizedConfig(resolved) : resolved;
|
|
34
|
-
resolved._raw = userConfig;
|
|
35
|
-
resolved.server = {
|
|
36
|
-
...normalizedConfig.server || {},
|
|
37
|
-
port
|
|
38
|
-
};
|
|
39
|
-
var _normalizedConfig_autoLoadPlugins;
|
|
40
|
-
resolved.autoLoadPlugins = (_normalizedConfig_autoLoadPlugins = normalizedConfig.autoLoadPlugins) !== null && _normalizedConfig_autoLoadPlugins !== void 0 ? _normalizedConfig_autoLoadPlugins : false;
|
|
41
|
-
stabilizeConfig(resolved, normalizedConfig, [
|
|
42
|
-
"source",
|
|
43
|
-
"bff",
|
|
44
|
-
"dev",
|
|
45
|
-
"html",
|
|
46
|
-
"output",
|
|
47
|
-
"tools",
|
|
48
|
-
"testing",
|
|
49
|
-
"plugins",
|
|
50
|
-
"builderPlugins",
|
|
51
|
-
"runtime",
|
|
52
|
-
"runtimeByEntries",
|
|
53
|
-
"deploy",
|
|
54
|
-
"performance"
|
|
55
|
-
]);
|
|
56
|
-
if (bundler === "webpack") {
|
|
57
|
-
resolved.security = normalizedConfig.security || {};
|
|
58
|
-
resolved.experiments = normalizedConfig.experiments;
|
|
59
|
-
}
|
|
60
|
-
return resolved;
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
function stabilizeConfig(resolve, config, keys) {
|
|
65
|
-
keys.forEach((key) => {
|
|
66
|
-
resolve[key] = config[key] || {};
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
async function getServerPort(config) {
|
|
70
|
-
const prodPort = Number(process.env.PORT) || config.server.port || 8080;
|
|
71
|
-
if (isDev() && isDevCommand()) {
|
|
72
|
-
return getPort(Number(process.env.PORT) || config.dev.port || prodPort);
|
|
73
|
-
}
|
|
74
|
-
return prodPort;
|
|
75
|
-
}
|
|
76
|
-
export {
|
|
77
|
-
initialize_default as default
|
|
78
|
-
};
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import fs from "fs";
|
|
2
|
-
import path from "path";
|
|
3
|
-
import { compile } from "@modern-js/server-utils";
|
|
4
|
-
import { SERVER_DIR, SHARED_DIR, getMeta } from "@modern-js/utils";
|
|
5
|
-
const TS_CONFIG_FILENAME = "tsconfig.json";
|
|
6
|
-
function checkHasCache(appDir) {
|
|
7
|
-
const tsFilepath = path.resolve(appDir, SERVER_DIR, "cache.ts");
|
|
8
|
-
const jsfilepath = path.resolve(appDir, SERVER_DIR, "cache.js");
|
|
9
|
-
return fs.existsSync(tsFilepath) || fs.existsSync(jsfilepath);
|
|
10
|
-
}
|
|
11
|
-
function checkHasConfig(appDir, metaName = "modern-js") {
|
|
12
|
-
const meta = getMeta(metaName);
|
|
13
|
-
const tsFilepath = path.resolve(appDir, SERVER_DIR, `${meta}.server.ts`);
|
|
14
|
-
const jsfilepath = path.resolve(appDir, SERVER_DIR, `${meta}.server.js`);
|
|
15
|
-
return fs.existsSync(tsFilepath) || fs.existsSync(jsfilepath);
|
|
16
|
-
}
|
|
17
|
-
var serverBuild_default = () => ({
|
|
18
|
-
name: "@modern-js/server-build",
|
|
19
|
-
setup(api) {
|
|
20
|
-
api.onAfterBuild(async () => {
|
|
21
|
-
const { appDirectory, distDirectory, metaName } = api.getAppContext();
|
|
22
|
-
if (!checkHasCache(appDirectory) && !checkHasConfig(appDirectory, metaName)) {
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
const modernConfig = api.getNormalizedConfig();
|
|
26
|
-
const distDir = path.resolve(distDirectory);
|
|
27
|
-
const serverDir = path.resolve(appDirectory, SERVER_DIR);
|
|
28
|
-
const sharedDir = path.resolve(appDirectory, SHARED_DIR);
|
|
29
|
-
const tsconfigPath = path.resolve(appDirectory, TS_CONFIG_FILENAME);
|
|
30
|
-
const sourceDirs = [];
|
|
31
|
-
if (fs.existsSync(serverDir)) {
|
|
32
|
-
sourceDirs.push(serverDir);
|
|
33
|
-
if (fs.existsSync(sharedDir)) {
|
|
34
|
-
sourceDirs.push(sharedDir);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
const { server } = modernConfig;
|
|
38
|
-
const { alias } = modernConfig.source;
|
|
39
|
-
const { babel } = modernConfig.tools;
|
|
40
|
-
if (sourceDirs.length > 0) {
|
|
41
|
-
await compile(appDirectory, {
|
|
42
|
-
server,
|
|
43
|
-
alias,
|
|
44
|
-
babelConfig: babel
|
|
45
|
-
}, {
|
|
46
|
-
sourceDirs,
|
|
47
|
-
distDir,
|
|
48
|
-
tsconfigPath
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
export {
|
|
55
|
-
serverBuild_default as default
|
|
56
|
-
};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
var serverRuntime_default = () => ({
|
|
2
|
-
name: "@modern-js/plugin-server-runtime",
|
|
3
|
-
setup(api) {
|
|
4
|
-
api.config(() => ({
|
|
5
|
-
output: {
|
|
6
|
-
externals: [
|
|
7
|
-
{
|
|
8
|
-
"@modern-js/server-runtime": "@modern-js/server-runtime"
|
|
9
|
-
}
|
|
10
|
-
]
|
|
11
|
-
}
|
|
12
|
-
}));
|
|
13
|
-
}
|
|
14
|
-
});
|
|
15
|
-
export {
|
|
16
|
-
serverRuntime_default as default
|
|
17
|
-
};
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import path from "path";
|
|
2
|
-
import { initAppDir } from "@modern-js/plugin-v2/cli";
|
|
3
|
-
import { run as CLIPluginRun } from "@modern-js/plugin-v2/run";
|
|
4
|
-
import { chalk, minimist } from "@modern-js/utils";
|
|
5
|
-
import { handleSetupResult } from "../compat/hooks";
|
|
6
|
-
import { PACKAGE_JSON_CONFIG_NAME, STATE_PLUGIN_NAME } from "../constants";
|
|
7
|
-
import { getConfigFile } from "../utils/getConfigFile";
|
|
8
|
-
import { getUserConfig } from "../utils/getUserConfig";
|
|
9
|
-
import { loadInternalPlugins } from "../utils/loadPlugins";
|
|
10
|
-
async function createRunOptions({ cwd, initialLog, metaName = "modern-js", version, internalPlugins, packageJsonConfig = PACKAGE_JSON_CONFIG_NAME, statePluginName = STATE_PLUGIN_NAME, configFile }) {
|
|
11
|
-
var _userConfig_runtime, _userConfig_runtime1, _userConfig_runtime_state, _userConfig_runtime2;
|
|
12
|
-
const nodeVersion = process.versions.node;
|
|
13
|
-
const versionArr = nodeVersion.split(".").map(Number);
|
|
14
|
-
if (versionArr[0] <= 16) {
|
|
15
|
-
console.warn(`
|
|
16
|
-
${chalk.bgRed.white.bold(" ⚠️ CRITICAL NODE.JS VERSION ALERT ⚠️ ")}
|
|
17
|
-
|
|
18
|
-
${chalk.red.bold("Node.js 16 End-of-Life Notice:")}
|
|
19
|
-
${chalk.red("- Security updates and support have ended for Node.js 16")}
|
|
20
|
-
|
|
21
|
-
${chalk.yellow("▸ Detected Runtime:")} ${chalk.yellow.bold(`Node.js v${nodeVersion}`)}
|
|
22
|
-
${chalk.green("▸ Required Minimum:")} ${chalk.green.bold("Node.js LTS (v18.x or higher)")}
|
|
23
|
-
${chalk.green("▸ Recommended:")} ${chalk.green.bold("Node.js LTS (v22.x or higher)")}
|
|
24
|
-
|
|
25
|
-
${chalk.cyan("Immediate Action Required:")}
|
|
26
|
-
${chalk.gray("├──")} ${chalk.yellow("Recommended Upgrade")}
|
|
27
|
-
${chalk.bold("nvm install 22 --lts && nvm use 22")}
|
|
28
|
-
${chalk.gray("├──")} ${chalk.yellow("Manual Installation")}
|
|
29
|
-
${chalk.underline("https://nodejs.org/download/release/lts-hydrogen/")}
|
|
30
|
-
${chalk.gray("└──")} ${chalk.yellow("Environment Verification")}
|
|
31
|
-
${chalk.bold("node -v && npm -v")}
|
|
32
|
-
|
|
33
|
-
${chalk.hex("#AAAAAA").italic("[Security Advisory] Node.js 16 is no longer supported. Upgrade immediately for security and compatibility.")}
|
|
34
|
-
`);
|
|
35
|
-
}
|
|
36
|
-
const command = process.argv[2];
|
|
37
|
-
const cliParams = minimist(process.argv.slice(2));
|
|
38
|
-
const SUPPORT_CONFIG_PARAM_COMMANDS = [
|
|
39
|
-
"dev",
|
|
40
|
-
"build",
|
|
41
|
-
"deploy",
|
|
42
|
-
"start",
|
|
43
|
-
"serve",
|
|
44
|
-
"inspect",
|
|
45
|
-
"upgrade"
|
|
46
|
-
];
|
|
47
|
-
let customConfigFile;
|
|
48
|
-
if (SUPPORT_CONFIG_PARAM_COMMANDS.includes(command)) {
|
|
49
|
-
customConfigFile = cliParams.config || cliParams.c;
|
|
50
|
-
}
|
|
51
|
-
if (command === "new") {
|
|
52
|
-
customConfigFile = cliParams["config-file"];
|
|
53
|
-
}
|
|
54
|
-
if (!process.env.NODE_ENV) {
|
|
55
|
-
if ([
|
|
56
|
-
"build",
|
|
57
|
-
"serve",
|
|
58
|
-
"deploy",
|
|
59
|
-
"analyze"
|
|
60
|
-
].includes(command)) {
|
|
61
|
-
process.env.NODE_ENV = "production";
|
|
62
|
-
} else if (command === "test") {
|
|
63
|
-
process.env.NODE_ENV = "test";
|
|
64
|
-
} else {
|
|
65
|
-
process.env.NODE_ENV = "development";
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
const appDirectory = await initAppDir(cwd);
|
|
69
|
-
const finalConfigFile = customConfigFile || getConfigFile(configFile);
|
|
70
|
-
const userConfig = await getUserConfig(appDirectory, finalConfigFile, packageJsonConfig, metaName);
|
|
71
|
-
const plugins = await loadInternalPlugins(appDirectory, internalPlugins === null || internalPlugins === void 0 ? void 0 : internalPlugins.cli, internalPlugins === null || internalPlugins === void 0 ? void 0 : internalPlugins.autoLoad, userConfig.autoLoadPlugins);
|
|
72
|
-
if (!userConfig.autoLoadPlugins && userConfig.runtime && typeof userConfig.runtime !== "boolean" && (((_userConfig_runtime = userConfig.runtime) === null || _userConfig_runtime === void 0 ? void 0 : _userConfig_runtime.state) === true || typeof ((_userConfig_runtime1 = userConfig.runtime) === null || _userConfig_runtime1 === void 0 ? void 0 : _userConfig_runtime1.state) === "object" && !((_userConfig_runtime2 = userConfig.runtime) === null || _userConfig_runtime2 === void 0 ? void 0 : (_userConfig_runtime_state = _userConfig_runtime2.state) === null || _userConfig_runtime_state === void 0 ? void 0 : _userConfig_runtime_state.legacy))) {
|
|
73
|
-
if (!userConfig.plugins.find((plugin) => plugin.name === statePluginName)) {
|
|
74
|
-
console.warn(`${chalk.red("\n[Warning]")} We will no longer support built-in \`runtime.state\`. If you want to use Reduck, you must run ${chalk.yellow.bold(`\`pnpm add ${statePluginName}@${version}\``)} to install the state plugin dependency and manually register the plugin. After install state plugin, please add the following code to ${chalk.yellow.bold(`\`${path.basename(finalConfigFile)}\``)}:
|
|
75
|
-
|
|
76
|
-
${chalk.yellow.bold(`import { statePlugin } from '${statePluginName}';
|
|
77
|
-
|
|
78
|
-
export default defineConfig({
|
|
79
|
-
plugins: [
|
|
80
|
-
...,
|
|
81
|
-
statePlugin(),
|
|
82
|
-
],
|
|
83
|
-
});
|
|
84
|
-
`)}`);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
return {
|
|
88
|
-
cwd,
|
|
89
|
-
initialLog: initialLog || `Modern.js Framework v${version}`,
|
|
90
|
-
configFile: finalConfigFile,
|
|
91
|
-
metaName,
|
|
92
|
-
packageJsonConfig,
|
|
93
|
-
internalPlugins: plugins,
|
|
94
|
-
handleSetupResult
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
async function run(options) {
|
|
98
|
-
const runOptions = await createRunOptions(options);
|
|
99
|
-
await CLIPluginRun(runOptions);
|
|
100
|
-
}
|
|
101
|
-
export {
|
|
102
|
-
createRunOptions,
|
|
103
|
-
run
|
|
104
|
-
};
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import * as path from "path";
|
|
2
|
-
import { bundle } from "@modern-js/node-bundle-require";
|
|
3
|
-
import { fs, CONFIG_FILE_EXTENSIONS, OUTPUT_CONFIG_FILE, ensureAbsolutePath, getServerConfig } from "@modern-js/utils";
|
|
4
|
-
import { stringify } from "flatted";
|
|
5
|
-
const defineServerConfig = (config) => config;
|
|
6
|
-
const buildServerConfig = async ({ appDirectory, distDirectory, configFile, options, watch }) => {
|
|
7
|
-
const configFilePath = await getServerConfig(appDirectory, configFile);
|
|
8
|
-
const getOutputFile = async (filepath) => path.resolve(distDirectory, `${filepath.replace(new RegExp(CONFIG_FILE_EXTENSIONS.join("|")), "")}.cjs`);
|
|
9
|
-
if (configFilePath) {
|
|
10
|
-
const configHelperFilePath = path.normalize(path.join(distDirectory, "./config-helper.js"));
|
|
11
|
-
const helperCode = `
|
|
12
|
-
export const defineConfig = (config) => config;
|
|
13
|
-
`;
|
|
14
|
-
await fs.ensureDir(distDirectory);
|
|
15
|
-
await fs.writeFile(configHelperFilePath, helperCode);
|
|
16
|
-
await bundle(configFilePath, {
|
|
17
|
-
...options,
|
|
18
|
-
watch,
|
|
19
|
-
getOutputFile,
|
|
20
|
-
esbuildPlugins: [
|
|
21
|
-
{
|
|
22
|
-
name: "native-build-config",
|
|
23
|
-
setup(ctx) {
|
|
24
|
-
ctx.onResolve({
|
|
25
|
-
filter: /app-tools\/server/
|
|
26
|
-
}, () => {
|
|
27
|
-
return {
|
|
28
|
-
path: configHelperFilePath
|
|
29
|
-
};
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
]
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
const emitResolvedConfig = async (appDirectory, resolvedConfig) => {
|
|
38
|
-
var _resolvedConfig_output_distPath;
|
|
39
|
-
const outputPath = ensureAbsolutePath(appDirectory, path.join(((_resolvedConfig_output_distPath = resolvedConfig.output.distPath) === null || _resolvedConfig_output_distPath === void 0 ? void 0 : _resolvedConfig_output_distPath.root) || "./dist", OUTPUT_CONFIG_FILE));
|
|
40
|
-
const output = stringify(resolvedConfig);
|
|
41
|
-
await fs.writeFile(outputPath, output, {
|
|
42
|
-
encoding: "utf-8"
|
|
43
|
-
});
|
|
44
|
-
};
|
|
45
|
-
export {
|
|
46
|
-
buildServerConfig,
|
|
47
|
-
defineServerConfig,
|
|
48
|
-
emitResolvedConfig
|
|
49
|
-
};
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { applyPlugins } from "@modern-js/prod-server";
|
|
2
|
-
import { createDevServer } from "@modern-js/server";
|
|
3
|
-
let server = null;
|
|
4
|
-
const getServer = () => server;
|
|
5
|
-
const setServer = (newServer) => {
|
|
6
|
-
server = newServer;
|
|
7
|
-
};
|
|
8
|
-
const closeServer = async () => {
|
|
9
|
-
if (server) {
|
|
10
|
-
server.close();
|
|
11
|
-
server = null;
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
const createServer = async (options) => {
|
|
15
|
-
if (server) {
|
|
16
|
-
server.close();
|
|
17
|
-
}
|
|
18
|
-
server = (await createDevServer(options, applyPlugins)).server;
|
|
19
|
-
return server;
|
|
20
|
-
};
|
|
21
|
-
export {
|
|
22
|
-
closeServer,
|
|
23
|
-
createServer,
|
|
24
|
-
getServer,
|
|
25
|
-
setServer
|
|
26
|
-
};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { cutNameByHyphen } from "@modern-js/utils/universal";
|
|
2
|
-
function getAutoInjectEnv(appContext) {
|
|
3
|
-
const { metaName } = appContext;
|
|
4
|
-
const prefix = `${cutNameByHyphen(metaName)}_`.toUpperCase();
|
|
5
|
-
const envReg = new RegExp(`^${prefix}`);
|
|
6
|
-
return Object.keys(process.env).reduce((prev, key) => {
|
|
7
|
-
const value = process.env[key];
|
|
8
|
-
if (envReg.test(key) && typeof value !== "undefined") {
|
|
9
|
-
prev[`process.env.${key}`] = value;
|
|
10
|
-
}
|
|
11
|
-
return prev;
|
|
12
|
-
}, {});
|
|
13
|
-
}
|
|
14
|
-
export {
|
|
15
|
-
getAutoInjectEnv
|
|
16
|
-
};
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import path from "path";
|
|
2
|
-
import { fs, getServerConfig } from "@modern-js/utils";
|
|
3
|
-
import { PACKAGE_JSON_CONFIG_NAME } from "../constants";
|
|
4
|
-
const getPackageConfig = (appDirectory, packageJsonConfig) => {
|
|
5
|
-
const json = JSON.parse(fs.readFileSync(path.resolve(appDirectory, "./package.json"), "utf8"));
|
|
6
|
-
return json[packageJsonConfig !== null && packageJsonConfig !== void 0 ? packageJsonConfig : PACKAGE_JSON_CONFIG_NAME];
|
|
7
|
-
};
|
|
8
|
-
const addServerConfigToDeps = async (dependencies, appDirectory, serverConfigFile) => {
|
|
9
|
-
const serverConfig = await getServerConfig(appDirectory, serverConfigFile);
|
|
10
|
-
if (serverConfig) {
|
|
11
|
-
dependencies.push(serverConfig);
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
async function generateWatchFiles(appContext, configDir) {
|
|
15
|
-
const { appDirectory, configFile } = appContext;
|
|
16
|
-
const configPath = path.join(appDirectory, configDir || "");
|
|
17
|
-
const dependencies = getPackageConfig(appContext.appDirectory, appContext.packageName) ? [
|
|
18
|
-
path.resolve(appDirectory, "./package.json")
|
|
19
|
-
] : [];
|
|
20
|
-
await addServerConfigToDeps(dependencies, appContext.appDirectory, appContext.serverConfigFile);
|
|
21
|
-
return [
|
|
22
|
-
`${configPath}/html`,
|
|
23
|
-
configFile || "./config",
|
|
24
|
-
...dependencies
|
|
25
|
-
];
|
|
26
|
-
}
|
|
27
|
-
export {
|
|
28
|
-
addServerConfigToDeps,
|
|
29
|
-
generateWatchFiles
|
|
30
|
-
};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import path from "path";
|
|
2
|
-
import { CONFIG_FILE_EXTENSIONS, findExists } from "@modern-js/utils";
|
|
3
|
-
import { DEFAULT_CONFIG_FILE } from "../constants";
|
|
4
|
-
const getConfigFile = (configFile) => findExists(CONFIG_FILE_EXTENSIONS.map((extension) => path.resolve(process.cwd(), `${configFile || DEFAULT_CONFIG_FILE}${extension}`)));
|
|
5
|
-
export {
|
|
6
|
-
getConfigFile
|
|
7
|
-
};
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { chalk, inquirer } from "@modern-js/utils";
|
|
2
|
-
import { i18n, localeKeys } from "../locale";
|
|
3
|
-
const getSelectedEntries = async (entry, entrypoints) => {
|
|
4
|
-
const entryNames = entrypoints.map((e) => e.entryName);
|
|
5
|
-
if (!entry) {
|
|
6
|
-
return entryNames;
|
|
7
|
-
}
|
|
8
|
-
if (typeof entry === "boolean") {
|
|
9
|
-
const { selected } = await inquirer.prompt([
|
|
10
|
-
{
|
|
11
|
-
type: "checkbox",
|
|
12
|
-
name: "selected",
|
|
13
|
-
choices: entryNames,
|
|
14
|
-
message: i18n.t(localeKeys.command.dev.selectEntry),
|
|
15
|
-
validate(answer) {
|
|
16
|
-
if (answer.length < 1) {
|
|
17
|
-
return i18n.t(localeKeys.command.dev.requireEntry);
|
|
18
|
-
}
|
|
19
|
-
return true;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
]);
|
|
23
|
-
return selected;
|
|
24
|
-
}
|
|
25
|
-
entry.forEach((name) => {
|
|
26
|
-
if (!entryNames.includes(name)) {
|
|
27
|
-
throw new Error(`Can not found entry ${chalk.yellow(name)}, the entry should be one of ${chalk.yellow(entryNames.join(", "))}`);
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
return entry;
|
|
31
|
-
};
|
|
32
|
-
export {
|
|
33
|
-
getSelectedEntries
|
|
34
|
-
};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { createLoadedConfig, loadEnv } from "@modern-js/plugin-v2/cli";
|
|
2
|
-
async function getUserConfig(appDirectory, configFile, packageJsonConfig, metaName) {
|
|
3
|
-
const envName = metaName === "modern-js" ? "MODERN" : metaName;
|
|
4
|
-
loadEnv(appDirectory, process.env[`${envName.toUpperCase()}_ENV`]);
|
|
5
|
-
const loaded = await createLoadedConfig(appDirectory, configFile, packageJsonConfig);
|
|
6
|
-
return loaded.config || {};
|
|
7
|
-
}
|
|
8
|
-
export {
|
|
9
|
-
getUserConfig
|
|
10
|
-
};
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import path from "path";
|
|
2
|
-
import { fs, address } from "@modern-js/utils";
|
|
3
|
-
const initAppContext = ({ metaName, appDirectory, runtimeConfigFile, options, serverConfigFile, tempDir }) => {
|
|
4
|
-
const { apiDir = "api", sharedDir = "shared" } = options || {};
|
|
5
|
-
const pkgPath = path.resolve(appDirectory, "./package.json");
|
|
6
|
-
return {
|
|
7
|
-
runtimeConfigFile,
|
|
8
|
-
serverConfigFile,
|
|
9
|
-
ip: address.ip(),
|
|
10
|
-
port: 0,
|
|
11
|
-
moduleType: fs.existsSync(pkgPath) ? require(pkgPath).type || "commonjs" : "commonjs",
|
|
12
|
-
apiDirectory: path.resolve(appDirectory, apiDir),
|
|
13
|
-
lambdaDirectory: path.resolve(appDirectory, apiDir, "lambda"),
|
|
14
|
-
sharedDirectory: path.resolve(appDirectory, sharedDir),
|
|
15
|
-
serverPlugins: [],
|
|
16
|
-
internalDirectory: path.resolve(appDirectory, tempDir || `./node_modules/.${metaName}`),
|
|
17
|
-
htmlTemplates: {},
|
|
18
|
-
serverRoutes: [],
|
|
19
|
-
entrypoints: [],
|
|
20
|
-
checkedEntries: [],
|
|
21
|
-
apiOnly: false,
|
|
22
|
-
internalDirAlias: `@_${metaName.replace(/-/g, "_")}_internal`,
|
|
23
|
-
internalSrcAlias: `@_${metaName.replace(/-/g, "_")}_src`,
|
|
24
|
-
bffRuntimeFramework: "hono"
|
|
25
|
-
};
|
|
26
|
-
};
|
|
27
|
-
export {
|
|
28
|
-
initAppContext
|
|
29
|
-
};
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { loadServerPlugins as loadServerPluginInstances } from "@modern-js/prod-server";
|
|
2
|
-
import { compatibleRequire, createDebugger, dynamicImport, getInternalPlugins, tryResolve } from "@modern-js/utils";
|
|
3
|
-
const debug = createDebugger("load-plugins");
|
|
4
|
-
async function getServerPlugins(api, metaName = "modern-js") {
|
|
5
|
-
const hooks = api.getHooks();
|
|
6
|
-
const { plugins } = await hooks._internalServerPlugins.call({
|
|
7
|
-
plugins: []
|
|
8
|
-
});
|
|
9
|
-
const filtedPlugins = plugins.filter((plugin) => plugin.name.includes(metaName));
|
|
10
|
-
api.updateAppContext({
|
|
11
|
-
serverPlugins: filtedPlugins
|
|
12
|
-
});
|
|
13
|
-
return filtedPlugins;
|
|
14
|
-
}
|
|
15
|
-
async function loadServerPlugins(api, appDirectory, metaName) {
|
|
16
|
-
const plugins = await getServerPlugins(api, metaName);
|
|
17
|
-
const instances = await loadServerPluginInstances(plugins, appDirectory);
|
|
18
|
-
return instances;
|
|
19
|
-
}
|
|
20
|
-
const resolveCliPlugin = async (p, appDirectory) => {
|
|
21
|
-
const pkg = typeof p === "string" ? p : p[0];
|
|
22
|
-
const pluginOptions = typeof p === "string" ? void 0 : p[1];
|
|
23
|
-
const path = tryResolve(pkg, appDirectory);
|
|
24
|
-
let module;
|
|
25
|
-
try {
|
|
26
|
-
module = await compatibleRequire(path);
|
|
27
|
-
} catch (e) {
|
|
28
|
-
({ default: module } = await dynamicImport(path));
|
|
29
|
-
}
|
|
30
|
-
if (typeof module === "function") {
|
|
31
|
-
const result = module(pluginOptions);
|
|
32
|
-
return result;
|
|
33
|
-
}
|
|
34
|
-
return module;
|
|
35
|
-
};
|
|
36
|
-
const loadInternalPlugins = async (appDirectory, internalPlugins, autoLoad, autoLoadPlugins) => {
|
|
37
|
-
const plugins = [
|
|
38
|
-
...autoLoadPlugins ? getInternalPlugins(appDirectory, internalPlugins) : [],
|
|
39
|
-
...autoLoad ? getInternalPlugins(appDirectory, autoLoad) : []
|
|
40
|
-
];
|
|
41
|
-
const loadedPlugins = await Promise.all(plugins.map((plugin) => {
|
|
42
|
-
const loadedPlugin = resolveCliPlugin(plugin, appDirectory);
|
|
43
|
-
debug(`resolve plugin %s: %s`, plugin, loadedPlugin);
|
|
44
|
-
return loadedPlugin;
|
|
45
|
-
}));
|
|
46
|
-
return loadedPlugins;
|
|
47
|
-
};
|
|
48
|
-
export {
|
|
49
|
-
getServerPlugins,
|
|
50
|
-
loadInternalPlugins,
|
|
51
|
-
loadServerPlugins
|
|
52
|
-
};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { logger, prettyInstructions } from "@modern-js/utils";
|
|
2
|
-
const printInstructions = async (hooks, appContext, config) => {
|
|
3
|
-
const message = prettyInstructions(appContext, config);
|
|
4
|
-
const { instructions } = await hooks.onBeforePrintInstructions.call({
|
|
5
|
-
instructions: message
|
|
6
|
-
});
|
|
7
|
-
logger.log(instructions);
|
|
8
|
-
};
|
|
9
|
-
export {
|
|
10
|
-
printInstructions
|
|
11
|
-
};
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import path from "node:path";
|
|
2
|
-
import { fs, getAliasConfig, loadFromProject, logger, readTsConfigByFile } from "@modern-js/utils";
|
|
3
|
-
const registerEsbuild = async ({ isTsProject, tsConfig, distDir }) => {
|
|
4
|
-
const esbuildRegister = await import("esbuild-register/dist/node");
|
|
5
|
-
esbuildRegister.register({
|
|
6
|
-
tsconfigRaw: isTsProject ? tsConfig : void 0,
|
|
7
|
-
hookIgnoreNodeModules: true,
|
|
8
|
-
hookMatcher: (fileName) => !fileName.startsWith(distDir)
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
const registerCompiler = async (appDir, distDir, alias) => {
|
|
12
|
-
const TS_CONFIG_FILENAME = `tsconfig.json`;
|
|
13
|
-
const tsconfigPath = path.resolve(appDir, TS_CONFIG_FILENAME);
|
|
14
|
-
const isTsProject = await fs.pathExists(tsconfigPath);
|
|
15
|
-
const aliasConfig = getAliasConfig(alias, {
|
|
16
|
-
appDirectory: appDir,
|
|
17
|
-
tsconfigPath
|
|
18
|
-
});
|
|
19
|
-
const { paths = {}, absoluteBaseUrl = "./" } = aliasConfig;
|
|
20
|
-
const tsPaths = Object.keys(paths).reduce((o, key) => {
|
|
21
|
-
let tsPath = paths[key];
|
|
22
|
-
if (typeof tsPath === "string" && key.startsWith("@") && tsPath.startsWith("@")) {
|
|
23
|
-
try {
|
|
24
|
-
tsPath = require.resolve(tsPath, {
|
|
25
|
-
paths: [
|
|
26
|
-
process.cwd(),
|
|
27
|
-
...module.paths
|
|
28
|
-
]
|
|
29
|
-
});
|
|
30
|
-
} catch {
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
if (typeof tsPath === "string" && path.isAbsolute(tsPath)) {
|
|
34
|
-
tsPath = path.relative(absoluteBaseUrl, tsPath);
|
|
35
|
-
}
|
|
36
|
-
if (typeof tsPath === "string") {
|
|
37
|
-
tsPath = [
|
|
38
|
-
tsPath
|
|
39
|
-
];
|
|
40
|
-
}
|
|
41
|
-
return {
|
|
42
|
-
...o,
|
|
43
|
-
[`${key}`]: tsPath
|
|
44
|
-
};
|
|
45
|
-
}, {});
|
|
46
|
-
let tsConfig = {};
|
|
47
|
-
if (isTsProject) {
|
|
48
|
-
tsConfig = readTsConfigByFile(tsconfigPath);
|
|
49
|
-
}
|
|
50
|
-
const { MODERN_NODE_LOADER } = process.env;
|
|
51
|
-
if (MODERN_NODE_LOADER === "esbuild" || !isTsProject) {
|
|
52
|
-
await registerEsbuild({
|
|
53
|
-
isTsProject,
|
|
54
|
-
tsConfig,
|
|
55
|
-
distDir
|
|
56
|
-
});
|
|
57
|
-
} else {
|
|
58
|
-
try {
|
|
59
|
-
const tsNode = await loadFromProject("ts-node", appDir);
|
|
60
|
-
const tsNodeOptions = tsConfig["ts-node"];
|
|
61
|
-
tsNode.register({
|
|
62
|
-
project: tsconfigPath,
|
|
63
|
-
scope: true,
|
|
64
|
-
// for env.d.ts, https://www.npmjs.com/package/ts-node#missing-types
|
|
65
|
-
files: true,
|
|
66
|
-
transpileOnly: true,
|
|
67
|
-
ignore: [
|
|
68
|
-
"(?:^|/)node_modules/",
|
|
69
|
-
`(?:^|/)${path.relative(appDir, distDir)}/`
|
|
70
|
-
],
|
|
71
|
-
...tsNodeOptions
|
|
72
|
-
});
|
|
73
|
-
} catch (error) {
|
|
74
|
-
if (process.env.DEBUG) {
|
|
75
|
-
logger.error(error);
|
|
76
|
-
}
|
|
77
|
-
await registerEsbuild({
|
|
78
|
-
isTsProject,
|
|
79
|
-
tsConfig,
|
|
80
|
-
distDir
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
const tsConfigPaths = (await import("@modern-js/utils/tsconfig-paths")).default;
|
|
85
|
-
if (await fs.pathExists(appDir)) {
|
|
86
|
-
tsConfigPaths.register({
|
|
87
|
-
baseUrl: absoluteBaseUrl || "./",
|
|
88
|
-
paths: tsPaths
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
};
|
|
92
|
-
export {
|
|
93
|
-
registerCompiler
|
|
94
|
-
};
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { cli } from "@modern-js/plugin-v2/cli";
|
|
2
|
-
import { chalk, clearConsole, getFullArgv, logger } from "@modern-js/utils";
|
|
3
|
-
import { program } from "@modern-js/utils/commander";
|
|
4
|
-
async function restart(hooks, filename) {
|
|
5
|
-
clearConsole();
|
|
6
|
-
logger.info(`Restart because ${chalk.yellow(filename)} is changed...
|
|
7
|
-
`);
|
|
8
|
-
let hasGetError = false;
|
|
9
|
-
await hooks.onBeforeRestart.call();
|
|
10
|
-
try {
|
|
11
|
-
await cli.init(cli.getPrevInitOptions());
|
|
12
|
-
} catch (err) {
|
|
13
|
-
console.error(err);
|
|
14
|
-
hasGetError = true;
|
|
15
|
-
} finally {
|
|
16
|
-
if (!hasGetError) {
|
|
17
|
-
program.parse(getFullArgv());
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
export {
|
|
22
|
-
restart
|
|
23
|
-
};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import path from "path";
|
|
2
|
-
import { fs, MAIN_ENTRY_NAME, ROUTE_SPEC_FILE } from "@modern-js/utils";
|
|
3
|
-
const generateRoutes = async (appContext) => {
|
|
4
|
-
const { serverRoutes, distDirectory } = appContext;
|
|
5
|
-
const output = JSON.stringify({
|
|
6
|
-
routes: serverRoutes
|
|
7
|
-
}, null, 2);
|
|
8
|
-
await fs.outputFile(path.join(distDirectory, ROUTE_SPEC_FILE), output);
|
|
9
|
-
};
|
|
10
|
-
const getPathWithoutExt = (filename) => {
|
|
11
|
-
const extname = path.extname(filename);
|
|
12
|
-
return filename.slice(0, -extname.length);
|
|
13
|
-
};
|
|
14
|
-
const isMainEntry = (entryName, mainEntryName) => {
|
|
15
|
-
return entryName === (mainEntryName || MAIN_ENTRY_NAME);
|
|
16
|
-
};
|
|
17
|
-
export {
|
|
18
|
-
generateRoutes,
|
|
19
|
-
getPathWithoutExt,
|
|
20
|
-
isMainEntry
|
|
21
|
-
};
|