@modern-js/app-tools 2.3.1-alpha.2 → 3.0.0-beta.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/CHANGELOG.md +87 -0
- package/README.md +14 -18
- package/dist/js/modern/analyze/getServerRoutes.js +5 -2
- package/dist/js/modern/analyze/index.js +47 -46
- package/dist/js/modern/builder/builder-rspack/index.js +8 -0
- package/dist/js/modern/builder/builder-webpack/builderPlugins/compatModern.js +41 -0
- package/dist/js/modern/builder/builder-webpack/index.js +93 -0
- package/dist/js/modern/builder/{webpackPlugins/routerPlugin.js → builder-webpack/webpackPlugins/RouterPlugin.js} +4 -1
- package/dist/js/modern/builder/builder-webpack/webpackPlugins/index.js +1 -0
- package/dist/js/modern/builder/generator/createBuilderOptions.js +24 -0
- package/dist/js/modern/builder/generator/createBuilderProviderConfig.js +39 -0
- package/dist/js/modern/builder/generator/getBuilderTargets.js +21 -0
- package/dist/js/modern/builder/generator/index.js +53 -0
- package/dist/js/modern/builder/index.js +13 -133
- package/dist/js/modern/builder/{builderPlugins/compatModern.js → shared/builderPlugins/adapterModern.js} +102 -116
- package/dist/js/modern/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +27 -0
- package/dist/js/modern/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +34 -0
- package/dist/js/modern/builder/{share.js → shared/createCopyPattern.js} +0 -0
- package/dist/js/modern/builder/shared/index.js +3 -0
- package/dist/js/modern/builder/{loaders → shared/loaders}/serverModuleLoader.js +0 -0
- package/dist/js/modern/builder/shared/types.js +0 -0
- package/dist/js/modern/config/default.js +2 -2
- package/dist/js/modern/config/index.js +3 -8
- package/dist/js/modern/config/initialize/index.js +12 -0
- package/dist/js/modern/config/{initial → initialize}/inits.js +4 -2
- package/dist/js/modern/config/{initial → legacy}/createHtmlConfig.js +0 -0
- package/dist/js/modern/config/{initial → legacy}/createOutputConfig.js +0 -0
- package/dist/js/modern/config/{initial → legacy}/createSourceConfig.js +0 -0
- package/dist/js/modern/config/{initial → legacy}/createToolsConfig.js +0 -0
- package/dist/js/modern/config/{initial/transformNormalizedConfig.js → legacy/index.js} +4 -0
- package/dist/js/modern/index.js +18 -8
- package/dist/js/modern/initialize/index.js +36 -28
- package/dist/js/modern/locale/zh.js +1 -1
- package/dist/js/modern/types/utils.js +0 -0
- package/dist/js/node/analyze/getServerRoutes.js +3 -1
- package/dist/js/node/analyze/index.js +48 -47
- package/dist/js/node/builder/builder-rspack/index.js +31 -0
- package/dist/js/node/builder/builder-webpack/builderPlugins/compatModern.js +64 -0
- package/dist/js/node/builder/builder-webpack/index.js +118 -0
- package/dist/js/node/builder/{webpackPlugins/routerPlugin.js → builder-webpack/webpackPlugins/RouterPlugin.js} +10 -5
- package/dist/js/node/builder/builder-webpack/webpackPlugins/index.js +17 -0
- package/dist/js/node/builder/generator/createBuilderOptions.js +47 -0
- package/dist/js/node/builder/generator/createBuilderProviderConfig.js +60 -0
- package/dist/js/node/builder/generator/getBuilderTargets.js +39 -0
- package/dist/js/node/builder/generator/index.js +82 -0
- package/dist/js/node/builder/index.js +14 -123
- package/dist/js/node/builder/{builderPlugins/compatModern.js → shared/builderPlugins/adapterModern.js} +107 -120
- package/dist/js/node/builder/{webpackPlugins/htmlAsyncChunkPlugin.js → shared/bundlerPlugins/HtmlAsyncChunkPlugin.js} +17 -20
- package/dist/js/node/builder/{webpackPlugins/htmlBottomTemplate.js → shared/bundlerPlugins/HtmlBottomTemplate.js} +21 -24
- package/dist/js/node/builder/{share.js → shared/createCopyPattern.js} +3 -3
- package/dist/js/node/builder/shared/index.js +19 -0
- package/dist/js/node/builder/{loaders → shared/loaders}/serverModuleLoader.js +0 -0
- package/dist/js/node/builder/shared/types.js +15 -0
- package/dist/js/node/config/default.js +2 -2
- package/dist/js/node/config/index.js +4 -19
- package/dist/js/node/config/{initial → initialize}/index.js +10 -16
- package/dist/js/node/config/{initial → initialize}/inits.js +4 -2
- package/dist/js/node/config/{initial → legacy}/createHtmlConfig.js +0 -0
- package/dist/js/node/config/{initial → legacy}/createOutputConfig.js +0 -0
- package/dist/js/node/config/{initial → legacy}/createSourceConfig.js +0 -0
- package/dist/js/node/config/{initial → legacy}/createToolsConfig.js +0 -0
- package/dist/js/node/config/{initial/transformNormalizedConfig.js → legacy/index.js} +8 -3
- package/dist/js/node/index.js +18 -8
- package/dist/js/node/initialize/index.js +35 -28
- package/dist/js/node/locale/zh.js +1 -1
- package/dist/js/node/types/utils.js +15 -0
- package/dist/js/treeshaking/analyze/generateCode.js +14 -14
- package/dist/js/treeshaking/analyze/getBundleEntry.js +2 -2
- package/dist/js/treeshaking/analyze/getClientRoutes/getRoutes.js +1 -1
- package/dist/js/treeshaking/analyze/getClientRoutes/getRoutesLegacy.js +1 -1
- package/dist/js/treeshaking/analyze/getFileSystemEntry.js +1 -1
- package/dist/js/treeshaking/analyze/getServerRoutes.js +8 -6
- package/dist/js/treeshaking/analyze/index.js +142 -137
- package/dist/js/treeshaking/analyze/nestedRoutes.js +5 -5
- package/dist/js/treeshaking/analyze/templates.js +6 -6
- package/dist/js/treeshaking/analyze/utils.js +3 -3
- package/dist/js/treeshaking/builder/builder-rspack/index.js +6 -0
- package/dist/js/treeshaking/builder/builder-webpack/builderPlugins/compatModern.js +64 -0
- package/dist/js/treeshaking/builder/builder-webpack/index.js +301 -0
- package/dist/js/treeshaking/builder/{webpackPlugins/routerPlugin.js → builder-webpack/webpackPlugins/RouterPlugin.js} +6 -3
- package/dist/js/treeshaking/builder/builder-webpack/webpackPlugins/index.js +1 -0
- package/dist/js/treeshaking/builder/generator/createBuilderOptions.js +41 -0
- package/dist/js/treeshaking/builder/generator/createBuilderProviderConfig.js +70 -0
- package/dist/js/treeshaking/builder/generator/getBuilderTargets.js +16 -0
- package/dist/js/treeshaking/builder/generator/index.js +199 -0
- package/dist/js/treeshaking/builder/index.js +29 -228
- package/dist/js/treeshaking/builder/{builderPlugins/compatModern.js → shared/builderPlugins/adapterModern.js} +138 -142
- package/dist/js/treeshaking/builder/{webpackPlugins/htmlAsyncChunkPlugin.js → shared/bundlerPlugins/HtmlAsyncChunkPlugin.js} +0 -0
- package/dist/js/treeshaking/builder/{webpackPlugins/htmlBottomTemplate.js → shared/bundlerPlugins/HtmlBottomTemplate.js} +2 -2
- package/dist/js/treeshaking/builder/{share.js → shared/createCopyPattern.js} +0 -0
- package/dist/js/treeshaking/builder/shared/index.js +3 -0
- package/dist/js/treeshaking/builder/{loaders → shared/loaders}/serverModuleLoader.js +0 -0
- package/dist/js/treeshaking/builder/shared/types.js +1 -0
- package/dist/js/treeshaking/commands/dev.js +2 -2
- package/dist/js/treeshaking/commands/serve.js +2 -2
- package/dist/js/treeshaking/config/default.js +2 -2
- package/dist/js/treeshaking/config/index.js +3 -3
- package/dist/js/treeshaking/config/initialize/index.js +10 -0
- package/dist/js/treeshaking/config/{initial → initialize}/inits.js +6 -4
- package/dist/js/treeshaking/config/legacy/createHtmlConfig.js +19 -0
- package/dist/js/treeshaking/config/{initial → legacy}/createOutputConfig.js +1 -1
- package/dist/js/treeshaking/config/{initial → legacy}/createSourceConfig.js +1 -1
- package/dist/js/treeshaking/config/{initial → legacy}/createToolsConfig.js +1 -1
- package/dist/js/treeshaking/config/{initial/transformNormalizedConfig.js → legacy/index.js} +4 -1
- package/dist/js/treeshaking/index.js +19 -12
- package/dist/js/treeshaking/initialize/index.js +36 -28
- package/dist/js/treeshaking/locale/zh.js +1 -1
- package/dist/js/treeshaking/types/utils.js +1 -0
- package/dist/js/treeshaking/utils/config.js +2 -2
- package/dist/js/treeshaking/utils/getServerInternalPlugins.js +2 -2
- package/dist/types/analyze/generateCode.d.ts +1 -1
- package/dist/types/analyze/getBundleEntry.d.ts +1 -1
- package/dist/types/analyze/getFileSystemEntry.d.ts +1 -1
- package/dist/types/analyze/getHtmlTemplate.d.ts +2 -2
- package/dist/types/analyze/getServerRoutes.d.ts +1 -1
- package/dist/types/analyze/index.d.ts +5 -1
- package/dist/types/builder/builder-rspack/index.d.ts +2 -0
- package/dist/types/builder/{builderPlugins → builder-webpack/builderPlugins}/compatModern.d.ts +2 -2
- package/dist/types/builder/builder-webpack/index.d.ts +4 -0
- package/dist/types/builder/{webpackPlugins/routerPlugin.d.ts → builder-webpack/webpackPlugins/RouterPlugin.d.ts} +1 -1
- package/dist/types/builder/builder-webpack/webpackPlugins/index.d.ts +1 -0
- package/dist/types/builder/generator/createBuilderOptions.d.ts +3 -0
- package/dist/types/builder/generator/createBuilderProviderConfig.d.ts +2 -0
- package/dist/types/builder/generator/getBuilderTargets.d.ts +3 -0
- package/dist/types/builder/generator/index.d.ts +17 -0
- package/dist/types/builder/index.d.ts +1 -18
- package/dist/types/builder/shared/builderPlugins/adapterModern.d.ts +13 -0
- package/dist/types/builder/{webpackPlugins/htmlAsyncChunkPlugin.d.ts → shared/bundlerPlugins/HtmlAsyncChunkPlugin.d.ts} +2 -1
- package/dist/types/builder/{webpackPlugins/htmlBottomTemplate.d.ts → shared/bundlerPlugins/HtmlBottomTemplate.d.ts} +2 -1
- package/dist/types/builder/{share.d.ts → shared/createCopyPattern.d.ts} +1 -1
- package/dist/types/builder/shared/index.d.ts +3 -0
- package/dist/types/builder/shared/loaders/serverModuleLoader.d.ts +4 -0
- package/dist/types/builder/shared/types.d.ts +16 -0
- package/dist/types/commands/build.d.ts +1 -1
- package/dist/types/commands/deploy.d.ts +1 -1
- package/dist/types/commands/dev.d.ts +1 -1
- package/dist/types/commands/inspect.d.ts +1 -1
- package/dist/types/commands/serve.d.ts +1 -1
- package/dist/types/config/default.d.ts +1 -1
- package/dist/types/config/index.d.ts +3 -2
- package/dist/types/config/initialize/index.d.ts +2 -0
- package/dist/types/config/{initial → initialize}/inits.d.ts +3 -3
- package/dist/types/config/{initial → legacy}/createHtmlConfig.d.ts +1 -1
- package/dist/types/config/{initial → legacy}/createOutputConfig.d.ts +1 -1
- package/dist/types/config/{initial → legacy}/createSourceConfig.d.ts +1 -1
- package/dist/types/config/{initial → legacy}/createToolsConfig.d.ts +1 -1
- package/dist/types/config/legacy/index.d.ts +3 -0
- package/dist/types/defineConfig.d.ts +2 -2
- package/dist/types/index.d.ts +7 -3
- package/dist/types/initialize/index.d.ts +6 -2
- package/dist/types/types/config/deploy.d.ts +1 -2
- package/dist/types/types/config/dev.d.ts +2 -3
- package/dist/types/types/config/experiments.d.ts +1 -2
- package/dist/types/types/config/html.d.ts +5 -3
- package/dist/types/types/config/index.d.ts +41 -48
- package/dist/types/types/config/output.d.ts +8 -3
- package/dist/types/types/config/performance.d.ts +6 -3
- package/dist/types/types/config/security.d.ts +3 -3
- package/dist/types/types/config/source.d.ts +7 -3
- package/dist/types/types/config/tools.d.ts +10 -4
- package/dist/types/types/hooks.d.ts +6 -4
- package/dist/types/types/index.d.ts +19 -7
- package/dist/types/types/utils.d.ts +7 -0
- package/dist/types/utils/config.d.ts +1 -1
- package/dist/types/utils/getServerInternalPlugins.d.ts +1 -1
- package/dist/types/utils/printInstructions.d.ts +1 -1
- package/package.json +34 -25
- package/dist/js/modern/builder/webpackPlugins/htmlAsyncChunkPlugin.js +0 -30
- package/dist/js/modern/builder/webpackPlugins/htmlBottomTemplate.js +0 -37
- package/dist/js/modern/config/initial/index.js +0 -16
- package/dist/js/treeshaking/config/initial/createHtmlConfig.js +0 -19
- package/dist/js/treeshaking/config/initial/index.js +0 -12
- package/dist/types/builder/loaders/serverModuleLoader.d.ts +0 -3
- package/dist/types/config/initial/index.d.ts +0 -4
- package/dist/types/config/initial/transformNormalizedConfig.d.ts +0 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,92 @@
|
|
|
1
1
|
# @modern-js/app-tools
|
|
2
2
|
|
|
3
|
+
## 3.0.0-beta.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 840142c: fix: the `@modern-js/app-tools` hooks should set `webpack` as default type.
|
|
8
|
+
fix: `@modern-js/app-tools` hooks 应该将 'webpack' 设置为默认类型
|
|
9
|
+
- 11c053b: feat: ssr support deploy worker
|
|
10
|
+
|
|
11
|
+
feat: ssr 支持边缘部署
|
|
12
|
+
|
|
13
|
+
- Updated dependencies [c4c10e7]
|
|
14
|
+
- Updated dependencies [84c21f9]
|
|
15
|
+
- Updated dependencies [11c053b]
|
|
16
|
+
- Updated dependencies [28e7dc6]
|
|
17
|
+
- @modern-js/builder@2.4.1-beta.0
|
|
18
|
+
- @modern-js/builder-rspack-provider@2.5.0-beta.0
|
|
19
|
+
- @modern-js/builder-shared@2.5.0-beta.0
|
|
20
|
+
- @modern-js/builder-webpack-provider@2.5.0-beta.0
|
|
21
|
+
- @modern-js/builder-plugin-node-polyfill@2.4.1-beta.0
|
|
22
|
+
- @modern-js/prod-server@2.4.1-beta.0
|
|
23
|
+
- @modern-js/utils@2.4.1-beta.0
|
|
24
|
+
- @modern-js/builder-plugin-esbuild@2.4.1-beta.0
|
|
25
|
+
- @modern-js/core@2.4.1-beta.0
|
|
26
|
+
- @modern-js/plugin-data-loader@2.4.1-beta.0
|
|
27
|
+
- @modern-js/server@2.4.1-beta.0
|
|
28
|
+
- @modern-js/plugin-i18n@2.4.1-beta.0
|
|
29
|
+
- @modern-js/plugin-lint@2.4.1-beta.0
|
|
30
|
+
- @modern-js/new-action@2.4.1-beta.0
|
|
31
|
+
- @modern-js/node-bundle-require@2.4.1-beta.0
|
|
32
|
+
- @modern-js/upgrade@2.4.1-beta.0
|
|
33
|
+
|
|
34
|
+
## 2.4.0
|
|
35
|
+
|
|
36
|
+
### Minor Changes
|
|
37
|
+
|
|
38
|
+
- e84d16b: feat: support catch-all routing
|
|
39
|
+
feat: 支持通配路由
|
|
40
|
+
- a914be8: feat: modern-js support rspack bundler
|
|
41
|
+
feat: modern-js 支持 rspack 构建工具
|
|
42
|
+
|
|
43
|
+
### Patch Changes
|
|
44
|
+
|
|
45
|
+
- 6f83037: fix: change the builder resolve plugin
|
|
46
|
+
fix: 修复 builder resolve 插件
|
|
47
|
+
- b4e01e7: chore: rename MWA to Web App
|
|
48
|
+
|
|
49
|
+
chore: 将 MWA 重命名为 Web App
|
|
50
|
+
|
|
51
|
+
- 8c2db5f: feat(core): improve support for exporting a function in config file
|
|
52
|
+
|
|
53
|
+
feat(core): 完善对配置文件中导出函数的支持
|
|
54
|
+
|
|
55
|
+
- 3144625: fix: sub root route should be matched by a splat route
|
|
56
|
+
fix: 子根路由应该被通配路由匹配
|
|
57
|
+
- c53a0ff: fix: lazy import `rspack-provider`
|
|
58
|
+
fix: 懒加载 `rspack-provider`
|
|
59
|
+
- Updated dependencies [d19484c]
|
|
60
|
+
- Updated dependencies [637f16b]
|
|
61
|
+
- Updated dependencies [6f83037]
|
|
62
|
+
- Updated dependencies [014d06b]
|
|
63
|
+
- Updated dependencies [98a2733]
|
|
64
|
+
- Updated dependencies [b3f2a7e]
|
|
65
|
+
- Updated dependencies [a5572b8]
|
|
66
|
+
- Updated dependencies [91db54e]
|
|
67
|
+
- Updated dependencies [a914be8]
|
|
68
|
+
- Updated dependencies [67b5a42]
|
|
69
|
+
- Updated dependencies [48b036e]
|
|
70
|
+
- Updated dependencies [8c2db5f]
|
|
71
|
+
- @modern-js/server@2.4.0
|
|
72
|
+
- @modern-js/builder-webpack-provider@2.4.0
|
|
73
|
+
- @modern-js/builder-rspack-provider@2.4.0
|
|
74
|
+
- @modern-js/builder-shared@2.4.0
|
|
75
|
+
- @modern-js/builder@2.4.0
|
|
76
|
+
- @modern-js/node-bundle-require@2.4.0
|
|
77
|
+
- @modern-js/utils@2.4.0
|
|
78
|
+
- @modern-js/core@2.4.0
|
|
79
|
+
- @modern-js/builder-plugin-esbuild@2.4.0
|
|
80
|
+
- @modern-js/builder-plugin-node-polyfill@2.4.0
|
|
81
|
+
- @modern-js/new-action@2.4.0
|
|
82
|
+
- @modern-js/plugin-data-loader@2.4.0
|
|
83
|
+
- @modern-js/plugin-i18n@2.4.0
|
|
84
|
+
- @modern-js/plugin-lint@2.4.0
|
|
85
|
+
- @modern-js/prod-server@2.4.0
|
|
86
|
+
- @modern-js/upgrade@2.4.0
|
|
87
|
+
- @modern-js/plugin@2.4.0
|
|
88
|
+
- @modern-js/types@2.4.0
|
|
89
|
+
|
|
3
90
|
## 2.3.0
|
|
4
91
|
|
|
5
92
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -1,30 +1,26 @@
|
|
|
1
|
-
|
|
2
1
|
<p align="center">
|
|
3
2
|
<a href="https://modernjs.dev" target="blank"><img src="https://lf3-static.bytednsdoc.com/obj/eden-cn/ylaelkeh7nuhfnuhf/modernjs-cover.png" width="300" alt="Modern.js Logo" /></a>
|
|
4
3
|
</p>
|
|
4
|
+
|
|
5
|
+
<h1 align="center">Modern.js</h1>
|
|
6
|
+
|
|
5
7
|
<p align="center">
|
|
6
|
-
|
|
7
|
-
<br/>
|
|
8
|
-
<a href="https://modernjs.dev" target="blank">
|
|
9
|
-
modernjs.dev
|
|
10
|
-
</a>
|
|
11
|
-
</p>
|
|
12
|
-
<p align="center">
|
|
13
|
-
The meta-framework suite designed from scratch for frontend-focused modern web development
|
|
8
|
+
A Progressive React Framework for modern web development.
|
|
14
9
|
</p>
|
|
15
10
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
> The doc site ([modernjs.dev](https://modernjs.dev)) and articles are only available in Chinese for now, we are planning to add English versions soon.
|
|
11
|
+
## Getting Started
|
|
19
12
|
|
|
20
|
-
|
|
13
|
+
Please follow [Quick Start](https://modernjs.dev/en/guides/get-started/quick-start) to get started with Modern.js.
|
|
21
14
|
|
|
22
|
-
##
|
|
15
|
+
## Documentation
|
|
23
16
|
|
|
24
|
-
- [
|
|
25
|
-
- [
|
|
26
|
-
- [API References](https://modernjs.dev/docs/apis)
|
|
17
|
+
- [English Documentation](https://modernjs.dev/en/)
|
|
18
|
+
- [中文文档](https://modernjs.dev)
|
|
27
19
|
|
|
28
20
|
## Contributing
|
|
29
21
|
|
|
30
|
-
|
|
22
|
+
Please read the [Contributing Guide](https://github.com/modern-js-dev/modern.js/blob/main/CONTRIBUTING.md).
|
|
23
|
+
|
|
24
|
+
## License
|
|
25
|
+
|
|
26
|
+
Modern.js is [MIT licensed](https://github.com/modern-js-dev/modern.js/blob/main/LICENSE).
|
|
@@ -38,7 +38,8 @@ import {
|
|
|
38
38
|
getEntryOptions,
|
|
39
39
|
SERVER_BUNDLE_DIRECTORY,
|
|
40
40
|
MAIN_ENTRY_NAME,
|
|
41
|
-
removeTailSlash
|
|
41
|
+
removeTailSlash,
|
|
42
|
+
SERVER_WORKER_BUNDLE_DIRECTORY
|
|
42
43
|
} from "@modern-js/utils";
|
|
43
44
|
import { walkDirectory } from "./utils";
|
|
44
45
|
const applyBaseUrl = (baseUrl, routes) => {
|
|
@@ -101,7 +102,7 @@ const collectHtmlRoutes = (entrypoints, appContext, config) => {
|
|
|
101
102
|
const {
|
|
102
103
|
html: { disableHtmlFolder },
|
|
103
104
|
output: { distPath: { html: htmlPath } = {} },
|
|
104
|
-
server: { baseUrl, routes, ssr, ssrByEntries }
|
|
105
|
+
server: { baseUrl, routes, ssr, ssrByEntries, worker }
|
|
105
106
|
} = config;
|
|
106
107
|
const { packageName } = appContext;
|
|
107
108
|
let htmlRoutes = entrypoints.reduce(
|
|
@@ -113,6 +114,7 @@ const collectHtmlRoutes = (entrypoints, appContext, config) => {
|
|
|
113
114
|
packageName
|
|
114
115
|
);
|
|
115
116
|
const isSSR = Boolean(entryOptions);
|
|
117
|
+
const isWorker = Boolean(worker);
|
|
116
118
|
const { resHeaders } = (routes == null ? void 0 : routes[entryName]) || {};
|
|
117
119
|
let route = {
|
|
118
120
|
urlPath: `/${entryName === MAIN_ENTRY_NAME ? "" : entryName}`,
|
|
@@ -125,6 +127,7 @@ const collectHtmlRoutes = (entrypoints, appContext, config) => {
|
|
|
125
127
|
isSPA: true,
|
|
126
128
|
isSSR,
|
|
127
129
|
responseHeaders: resHeaders,
|
|
130
|
+
worker: isWorker ? `${SERVER_WORKER_BUNDLE_DIRECTORY}/${entryName}.js` : void 0,
|
|
128
131
|
bundle: isSSR ? `${SERVER_BUNDLE_DIRECTORY}/${entryName}.js` : void 0
|
|
129
132
|
};
|
|
130
133
|
if (routes == null ? void 0 : routes.hasOwnProperty(entryName)) {
|
|
@@ -49,12 +49,12 @@ import {
|
|
|
49
49
|
isDevCommand
|
|
50
50
|
} from "@modern-js/utils";
|
|
51
51
|
import { cloneDeep } from "@modern-js/utils/lodash";
|
|
52
|
-
import { createBuilderForModern } from "../builder";
|
|
53
52
|
import { printInstructions } from "../utils/printInstructions";
|
|
54
53
|
import { generateRoutes } from "../utils/routes";
|
|
55
54
|
import { emitResolvedConfig } from "../utils/config";
|
|
56
55
|
import { getSelectedEntries } from "../utils/getSelectedEntries";
|
|
57
56
|
import { initialNormalizedConfig } from "../config";
|
|
57
|
+
import { createBuilderGenerator } from "../builder";
|
|
58
58
|
import {
|
|
59
59
|
getServerLoadersFile,
|
|
60
60
|
isPageComponentFile,
|
|
@@ -67,7 +67,9 @@ import {
|
|
|
67
67
|
APP_INIT_IMPORTED
|
|
68
68
|
} from "./constants";
|
|
69
69
|
const debug = createDebugger("plugin-analyze");
|
|
70
|
-
var analyze_default = (
|
|
70
|
+
var analyze_default = ({
|
|
71
|
+
bundler
|
|
72
|
+
}) => ({
|
|
71
73
|
name: "@modern-js/plugin-analyze",
|
|
72
74
|
setup: (api) => {
|
|
73
75
|
let pagesDir = [];
|
|
@@ -159,56 +161,55 @@ var analyze_default = () => ({
|
|
|
159
161
|
if (buildCommands.includes(command)) {
|
|
160
162
|
let _b;
|
|
161
163
|
const normalizedConfig = api.useResolvedConfigContext();
|
|
164
|
+
const createBuilderForModern = yield createBuilderGenerator(bundler);
|
|
162
165
|
const builder = yield createBuilderForModern({
|
|
163
166
|
normalizedConfig,
|
|
164
167
|
appContext,
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
168
|
+
onBeforeBuild(_0) {
|
|
169
|
+
return __async(this, arguments, function* ({ bundlerConfigs }) {
|
|
170
|
+
const hookRunners2 = api.useHookRunners();
|
|
171
|
+
yield generateRoutes(appContext);
|
|
172
|
+
yield hookRunners2.beforeBuild({
|
|
173
|
+
bundlerConfigs
|
|
171
174
|
});
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
appContext,
|
|
192
|
-
normalizedConfig
|
|
193
|
-
);
|
|
194
|
-
}
|
|
175
|
+
});
|
|
176
|
+
},
|
|
177
|
+
onAfterBuild(_0) {
|
|
178
|
+
return __async(this, arguments, function* ({ stats }) {
|
|
179
|
+
const hookRunners2 = api.useHookRunners();
|
|
180
|
+
yield hookRunners2.afterBuild({ stats });
|
|
181
|
+
yield emitResolvedConfig(
|
|
182
|
+
appContext.appDirectory,
|
|
183
|
+
normalizedConfig
|
|
184
|
+
);
|
|
185
|
+
});
|
|
186
|
+
},
|
|
187
|
+
onDevCompileDone(_0) {
|
|
188
|
+
return __async(this, arguments, function* ({ isFirstCompile }) {
|
|
189
|
+
const hookRunners2 = api.useHookRunners();
|
|
190
|
+
if (process.stdout.isTTY || isFirstCompile) {
|
|
191
|
+
hookRunners2.afterDev();
|
|
192
|
+
if (isFirstCompile) {
|
|
193
|
+
printInstructions(hookRunners2, appContext, normalizedConfig);
|
|
195
194
|
}
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
},
|
|
198
|
+
onBeforeCreateCompiler(_0) {
|
|
199
|
+
return __async(this, arguments, function* ({ bundlerConfigs }) {
|
|
200
|
+
const hookRunners2 = api.useHookRunners();
|
|
201
|
+
yield hookRunners2.beforeCreateCompiler({
|
|
202
|
+
bundlerConfigs
|
|
196
203
|
});
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
});
|
|
205
|
-
},
|
|
206
|
-
onAfterCreateCompiler(_0) {
|
|
207
|
-
return __async(this, arguments, function* ({ compiler }) {
|
|
208
|
-
const hookRunners2 = api.useHookRunners();
|
|
209
|
-
yield hookRunners2.afterCreateCompiler({ compiler });
|
|
204
|
+
});
|
|
205
|
+
},
|
|
206
|
+
onAfterCreateCompiler(_0) {
|
|
207
|
+
return __async(this, arguments, function* ({ compiler }) {
|
|
208
|
+
const hookRunners2 = api.useHookRunners();
|
|
209
|
+
yield hookRunners2.afterCreateCompiler({
|
|
210
|
+
compiler
|
|
210
211
|
});
|
|
211
|
-
}
|
|
212
|
+
});
|
|
212
213
|
}
|
|
213
214
|
});
|
|
214
215
|
builder.addPlugins(resolvedConfig.builderPlugins);
|
|
@@ -251,7 +252,7 @@ var analyze_default = () => ({
|
|
|
251
252
|
},
|
|
252
253
|
resolvedConfig({ resolved }) {
|
|
253
254
|
const appContext = api.useAppContext();
|
|
254
|
-
const config = initialNormalizedConfig(resolved, appContext);
|
|
255
|
+
const config = initialNormalizedConfig(resolved, appContext, bundler);
|
|
255
256
|
return {
|
|
256
257
|
resolved: config
|
|
257
258
|
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { builderRspackProvider } from "@modern-js/builder-rspack-provider";
|
|
2
|
+
import { generateBuilder } from "../generator";
|
|
3
|
+
function createRspackBuilderForModern(options) {
|
|
4
|
+
return generateBuilder(options, builderRspackProvider);
|
|
5
|
+
}
|
|
6
|
+
export {
|
|
7
|
+
createRspackBuilderForModern
|
|
8
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { join } from "path";
|
|
2
|
+
import { createCopyPattern } from "../../shared";
|
|
3
|
+
import { RouterPlugin } from "../webpackPlugins";
|
|
4
|
+
const PluginCompatModern = (options) => ({
|
|
5
|
+
name: "builder-plugin-compat-modern",
|
|
6
|
+
setup(api) {
|
|
7
|
+
const { normalizedConfig: modernConfig, appContext } = options;
|
|
8
|
+
api.modifyWebpackChain((chain, { CHAIN_ID }) => {
|
|
9
|
+
var _a;
|
|
10
|
+
chain.resolve.modules.add("node_modules").add(join(api.context.rootPath, "node_modules"));
|
|
11
|
+
if (chain.plugins.has(CHAIN_ID.PLUGIN.COPY)) {
|
|
12
|
+
const defaultCopyPattern = createCopyPattern(
|
|
13
|
+
appContext,
|
|
14
|
+
modernConfig,
|
|
15
|
+
"public",
|
|
16
|
+
chain
|
|
17
|
+
);
|
|
18
|
+
chain.plugin(CHAIN_ID.PLUGIN.COPY).tap((args) => {
|
|
19
|
+
var _a2;
|
|
20
|
+
return [
|
|
21
|
+
{
|
|
22
|
+
patterns: [...((_a2 = args[0]) == null ? void 0 : _a2.patterns) || [], defaultCopyPattern]
|
|
23
|
+
}
|
|
24
|
+
];
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
const { entrypoints } = appContext;
|
|
28
|
+
const existNestedRoutes = entrypoints.some(
|
|
29
|
+
(entrypoint) => entrypoint.nestedRoutesEntry
|
|
30
|
+
);
|
|
31
|
+
const routerConfig = (_a = modernConfig == null ? void 0 : modernConfig.runtime) == null ? void 0 : _a.router;
|
|
32
|
+
const routerManifest = Boolean(routerConfig == null ? void 0 : routerConfig.manifest);
|
|
33
|
+
if (existNestedRoutes || routerManifest) {
|
|
34
|
+
chain.plugin("route-plugin").use(RouterPlugin);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
export {
|
|
40
|
+
PluginCompatModern
|
|
41
|
+
};
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
var __async = (__this, __arguments, generator) => {
|
|
21
|
+
return new Promise((resolve, reject) => {
|
|
22
|
+
var fulfilled = (value) => {
|
|
23
|
+
try {
|
|
24
|
+
step(generator.next(value));
|
|
25
|
+
} catch (e) {
|
|
26
|
+
reject(e);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
var rejected = (value) => {
|
|
30
|
+
try {
|
|
31
|
+
step(generator.throw(value));
|
|
32
|
+
} catch (e) {
|
|
33
|
+
reject(e);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
37
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
import {
|
|
41
|
+
builderWebpackProvider
|
|
42
|
+
} from "@modern-js/builder-webpack-provider";
|
|
43
|
+
import { applyOptionsChain } from "@modern-js/utils";
|
|
44
|
+
import { createCopyPattern } from "../shared";
|
|
45
|
+
import { generateBuilder } from "../generator";
|
|
46
|
+
import { PluginCompatModern } from "./builderPlugins/compatModern";
|
|
47
|
+
function createWebpackBuilderForModern(options) {
|
|
48
|
+
return generateBuilder(options, builderWebpackProvider, {
|
|
49
|
+
modifyBuilderConfig(config) {
|
|
50
|
+
modifyOutputConfig(config, options.appContext);
|
|
51
|
+
},
|
|
52
|
+
modifyBuilderInstance(builder) {
|
|
53
|
+
return __async(this, null, function* () {
|
|
54
|
+
yield applyBuilderPlugins(builder, options);
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
function modifyOutputConfig(config, appContext) {
|
|
60
|
+
config.output = createOutputConfig(config, appContext);
|
|
61
|
+
function createOutputConfig(config2, appContext2) {
|
|
62
|
+
const defaultCopyPattern = createCopyPattern(appContext2, config2, "upload");
|
|
63
|
+
const { copy } = config2.output;
|
|
64
|
+
const copyOptions = Array.isArray(copy) ? copy : copy == null ? void 0 : copy.patterns;
|
|
65
|
+
const builderCopy = [...copyOptions || [], defaultCopyPattern];
|
|
66
|
+
return __spreadProps(__spreadValues({}, config2.output), {
|
|
67
|
+
copy: builderCopy
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
function applyBuilderPlugins(builder, options) {
|
|
72
|
+
return __async(this, null, function* () {
|
|
73
|
+
const { normalizedConfig } = options;
|
|
74
|
+
if (!normalizedConfig.output.disableNodePolyfill) {
|
|
75
|
+
const { PluginNodePolyfill } = yield import("@modern-js/builder-plugin-node-polyfill");
|
|
76
|
+
builder.addPlugins([PluginNodePolyfill()]);
|
|
77
|
+
}
|
|
78
|
+
if (normalizedConfig.tools.esbuild) {
|
|
79
|
+
const { esbuild: esbuildOptions } = normalizedConfig.tools;
|
|
80
|
+
const { PluginEsbuild } = yield import("@modern-js/builder-plugin-esbuild");
|
|
81
|
+
builder.addPlugins([
|
|
82
|
+
PluginEsbuild({
|
|
83
|
+
loader: false,
|
|
84
|
+
minimize: applyOptionsChain({}, esbuildOptions)
|
|
85
|
+
})
|
|
86
|
+
]);
|
|
87
|
+
}
|
|
88
|
+
builder.addPlugins([PluginCompatModern(options)]);
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
export {
|
|
92
|
+
createWebpackBuilderForModern
|
|
93
|
+
};
|
|
@@ -32,6 +32,9 @@ class RouterPlugin {
|
|
|
32
32
|
if (target === "node" || Array.isArray(target) && target.includes("node")) {
|
|
33
33
|
return;
|
|
34
34
|
}
|
|
35
|
+
if (target === "webworker" || Array.isArray(target) && target.includes("webworker")) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
35
38
|
const { webpack } = compiler;
|
|
36
39
|
const { Compilation, sources } = webpack;
|
|
37
40
|
const { RawSource } = sources;
|
|
@@ -109,5 +112,5 @@ class RouterPlugin {
|
|
|
109
112
|
}
|
|
110
113
|
}
|
|
111
114
|
export {
|
|
112
|
-
RouterPlugin
|
|
115
|
+
RouterPlugin
|
|
113
116
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./RouterPlugin";
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
function createBuilderOptions(target, appContext) {
|
|
2
|
+
const entries = {};
|
|
3
|
+
const { entrypoints = [], checkedEntries } = appContext;
|
|
4
|
+
for (const { entryName, entry } of entrypoints) {
|
|
5
|
+
if (checkedEntries && !checkedEntries.includes(entryName)) {
|
|
6
|
+
continue;
|
|
7
|
+
}
|
|
8
|
+
if (entryName in entries) {
|
|
9
|
+
entries[entryName].push(entry);
|
|
10
|
+
} else {
|
|
11
|
+
entries[entryName] = [entry];
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
return {
|
|
15
|
+
cwd: appContext.appDirectory,
|
|
16
|
+
target,
|
|
17
|
+
configPath: appContext.configFile || void 0,
|
|
18
|
+
entry: entries,
|
|
19
|
+
framework: appContext.metaName
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export {
|
|
23
|
+
createBuilderOptions
|
|
24
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
function createBuilderProviderConfig(resolveConfig, appContext, modifyBuilderConfig) {
|
|
21
|
+
const htmlConfig = __spreadValues({}, resolveConfig.html);
|
|
22
|
+
if (!htmlConfig.template) {
|
|
23
|
+
htmlConfig.templateByEntries = __spreadValues(__spreadValues({}, htmlConfig.templateByEntries), appContext.htmlTemplates);
|
|
24
|
+
}
|
|
25
|
+
const config = __spreadProps(__spreadValues({}, resolveConfig), {
|
|
26
|
+
dev: __spreadProps(__spreadValues({}, resolveConfig.dev), {
|
|
27
|
+
port: appContext.port
|
|
28
|
+
}),
|
|
29
|
+
html: htmlConfig,
|
|
30
|
+
output: __spreadProps(__spreadValues({}, resolveConfig.output), {
|
|
31
|
+
cleanDistPath: false
|
|
32
|
+
})
|
|
33
|
+
});
|
|
34
|
+
modifyBuilderConfig == null ? void 0 : modifyBuilderConfig(config);
|
|
35
|
+
return config;
|
|
36
|
+
}
|
|
37
|
+
export {
|
|
38
|
+
createBuilderProviderConfig
|
|
39
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import {
|
|
2
|
+
isProd,
|
|
3
|
+
isServiceWorker,
|
|
4
|
+
isSSR,
|
|
5
|
+
isUseSSRBundle
|
|
6
|
+
} from "@modern-js/utils";
|
|
7
|
+
function getBuilderTargets(normalizedConfig) {
|
|
8
|
+
const targets = ["web"];
|
|
9
|
+
const useNodeTarget = isProd() ? isUseSSRBundle(normalizedConfig) : isSSR(normalizedConfig);
|
|
10
|
+
if (useNodeTarget) {
|
|
11
|
+
targets.push("node");
|
|
12
|
+
}
|
|
13
|
+
const useWorkerTarget = isProd() ? isServiceWorker(normalizedConfig) : false;
|
|
14
|
+
if (useWorkerTarget) {
|
|
15
|
+
targets.push("service-worker");
|
|
16
|
+
}
|
|
17
|
+
return targets;
|
|
18
|
+
}
|
|
19
|
+
export {
|
|
20
|
+
getBuilderTargets
|
|
21
|
+
};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
var __async = (__this, __arguments, generator) => {
|
|
2
|
+
return new Promise((resolve, reject) => {
|
|
3
|
+
var fulfilled = (value) => {
|
|
4
|
+
try {
|
|
5
|
+
step(generator.next(value));
|
|
6
|
+
} catch (e) {
|
|
7
|
+
reject(e);
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
var rejected = (value) => {
|
|
11
|
+
try {
|
|
12
|
+
step(generator.throw(value));
|
|
13
|
+
} catch (e) {
|
|
14
|
+
reject(e);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
18
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
import { createBuilder } from "@modern-js/builder";
|
|
22
|
+
import { createBuilderProviderConfig } from "./createBuilderProviderConfig";
|
|
23
|
+
import { getBuilderTargets } from "./getBuilderTargets";
|
|
24
|
+
import { createBuilderOptions } from "./createBuilderOptions";
|
|
25
|
+
function generateBuilder(options, generateProvider, utils) {
|
|
26
|
+
return __async(this, null, function* () {
|
|
27
|
+
const { normalizedConfig, appContext } = options;
|
|
28
|
+
const { modifyBuilderConfig, modifyBuilderInstance } = utils || {};
|
|
29
|
+
const builderConfig = createBuilderProviderConfig(
|
|
30
|
+
normalizedConfig,
|
|
31
|
+
appContext,
|
|
32
|
+
modifyBuilderConfig
|
|
33
|
+
);
|
|
34
|
+
const provider = generateProvider({
|
|
35
|
+
builderConfig
|
|
36
|
+
});
|
|
37
|
+
const target = getBuilderTargets(normalizedConfig);
|
|
38
|
+
const builderOptions = createBuilderOptions(target, appContext);
|
|
39
|
+
const builder = yield createBuilder(provider, builderOptions);
|
|
40
|
+
yield applyBuilderPlugins(builder, options);
|
|
41
|
+
yield modifyBuilderInstance == null ? void 0 : modifyBuilderInstance(builder);
|
|
42
|
+
return builder;
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
function applyBuilderPlugins(builder, options) {
|
|
46
|
+
return __async(this, null, function* () {
|
|
47
|
+
const { builderPluginAdapterModern } = yield import("../shared/builderPlugins/adapterModern");
|
|
48
|
+
builder.addPlugins([builderPluginAdapterModern(options)]);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
export {
|
|
52
|
+
generateBuilder
|
|
53
|
+
};
|