@modern-js/app-tools 2.0.0-beta.1 → 2.0.0-beta.3
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 +445 -0
- package/bin/modern.js +10 -1
- package/dist/js/modern/analyze/constants.js +2 -0
- package/dist/js/modern/analyze/generateCode.js +39 -19
- package/dist/js/modern/analyze/getBundleEntry.js +1 -1
- package/dist/js/modern/analyze/getFileSystemEntry.js +1 -1
- package/dist/js/modern/analyze/getHtmlTemplate.js +1 -1
- package/dist/js/modern/analyze/getServerRoutes.js +8 -4
- package/dist/js/modern/analyze/index.js +12 -27
- package/dist/js/modern/analyze/nestedRoutes.js +17 -6
- package/dist/js/modern/analyze/templates.js +59 -27
- package/dist/js/modern/analyze/utils.js +30 -4
- package/dist/js/modern/builder/builderPlugins/compatModern.js +18 -12
- package/dist/js/modern/builder/index.js +31 -16
- package/dist/js/modern/builder/loaders/routerLoader.js +20 -0
- package/dist/js/modern/builder/loaders/serverModuleLoader.js +4 -0
- package/dist/js/modern/builder/share.js +1 -1
- package/dist/js/modern/commands/build.js +8 -2
- package/dist/js/modern/commands/dev.js +37 -32
- package/dist/js/modern/commands/inspect.js +4 -2
- package/dist/js/modern/config/default.js +206 -0
- package/dist/js/modern/config/index.js +2 -0
- package/dist/js/modern/config/initial/createHtmlConfig.js +32 -0
- package/dist/js/modern/{builder → config/initial}/createOutputConfig.js +16 -15
- package/dist/js/modern/config/initial/createSourceConfig.js +32 -0
- package/dist/js/modern/config/initial/createToolsConfig.js +41 -0
- package/dist/js/modern/config/initial/index.js +11 -0
- package/dist/js/modern/config/initial/inits.js +117 -0
- package/dist/js/modern/config/initial/transformNormalizedConfig.js +40 -0
- package/dist/js/modern/defineConfig.js +12 -0
- package/dist/js/modern/hooks.js +23 -19
- package/dist/js/modern/index.js +7 -5
- package/dist/js/modern/initialize/index.js +72 -0
- package/dist/js/modern/schema/Schema.js +39 -0
- package/dist/js/modern/schema/index.js +139 -0
- package/dist/js/modern/schema/legacy.js +284 -0
- package/dist/js/modern/types/config/deploy.js +0 -0
- package/dist/js/modern/types/config/dev.js +0 -0
- package/dist/js/modern/types/config/experiments.js +0 -0
- package/dist/js/modern/types/config/html.js +0 -0
- package/dist/js/modern/types/config/index.js +2 -0
- package/dist/js/modern/types/config/output.js +0 -0
- package/dist/js/modern/types/config/performance.js +0 -0
- package/dist/js/modern/types/config/security.js +0 -0
- package/dist/js/modern/types/config/source.js +0 -0
- package/dist/js/modern/types/config/tools.js +0 -0
- package/dist/js/modern/types/hooks.js +0 -0
- package/dist/js/modern/types/index.js +4 -0
- package/dist/js/modern/types/legacyConfig/deploy.js +0 -0
- package/dist/js/modern/types/legacyConfig/dev.js +0 -0
- package/dist/js/modern/types/legacyConfig/index.js +0 -0
- package/dist/js/modern/types/legacyConfig/output.js +1 -0
- package/dist/js/modern/types/legacyConfig/source.js +0 -0
- package/dist/js/modern/types/legacyConfig/tools.js +0 -0
- package/dist/js/modern/utils/config.js +1 -1
- package/dist/js/modern/utils/createFileWatcher.js +82 -0
- package/dist/js/modern/utils/restart.js +17 -0
- package/dist/js/node/analyze/constants.js +5 -1
- package/dist/js/node/analyze/generateCode.js +37 -17
- package/dist/js/node/analyze/getBundleEntry.js +1 -1
- package/dist/js/node/analyze/getFileSystemEntry.js +1 -1
- package/dist/js/node/analyze/getHtmlTemplate.js +1 -1
- package/dist/js/node/analyze/getServerRoutes.js +8 -4
- package/dist/js/node/analyze/index.js +13 -39
- package/dist/js/node/analyze/nestedRoutes.js +15 -4
- package/dist/js/node/analyze/templates.js +60 -27
- package/dist/js/node/analyze/utils.js +31 -3
- package/dist/js/node/builder/builderPlugins/compatModern.js +18 -12
- package/dist/js/node/builder/index.js +32 -16
- package/dist/js/node/builder/loaders/routerLoader.js +27 -0
- package/dist/js/node/builder/loaders/serverModuleLoader.js +11 -0
- package/dist/js/node/builder/share.js +1 -1
- package/dist/js/node/commands/build.js +8 -2
- package/dist/js/node/commands/dev.js +37 -32
- package/dist/js/node/commands/inspect.js +4 -2
- package/dist/js/node/config/default.js +213 -0
- package/dist/js/node/config/index.js +31 -0
- package/dist/js/node/config/initial/createHtmlConfig.js +38 -0
- package/dist/js/node/{builder → config/initial}/createOutputConfig.js +16 -15
- package/dist/js/node/config/initial/createSourceConfig.js +38 -0
- package/dist/js/node/config/initial/createToolsConfig.js +47 -0
- package/dist/js/node/config/initial/index.js +24 -0
- package/dist/js/node/config/initial/inits.js +127 -0
- package/dist/js/node/config/initial/transformNormalizedConfig.js +46 -0
- package/dist/js/node/defineConfig.js +20 -0
- package/dist/js/node/hooks.js +23 -28
- package/dist/js/node/index.js +30 -16
- package/dist/js/node/initialize/index.js +79 -0
- package/dist/js/node/schema/Schema.js +46 -0
- package/dist/js/node/schema/index.js +152 -0
- package/dist/js/node/schema/legacy.js +291 -0
- package/dist/js/node/types/config/deploy.js +0 -0
- package/dist/js/node/types/config/dev.js +0 -0
- package/dist/js/node/types/config/experiments.js +0 -0
- package/dist/js/node/types/config/html.js +0 -0
- package/dist/js/node/types/config/index.js +16 -0
- package/dist/js/node/types/config/output.js +0 -0
- package/dist/js/node/types/config/performance.js +0 -0
- package/dist/js/node/types/config/security.js +0 -0
- package/dist/js/node/types/config/source.js +0 -0
- package/dist/js/node/types/config/tools.js +0 -0
- package/dist/js/node/types/hooks.js +0 -0
- package/dist/js/node/types/index.js +38 -0
- package/dist/js/node/types/legacyConfig/deploy.js +0 -0
- package/dist/js/node/types/legacyConfig/dev.js +0 -0
- package/dist/js/node/types/legacyConfig/index.js +0 -0
- package/dist/js/node/types/legacyConfig/output.js +5 -0
- package/dist/js/node/types/legacyConfig/source.js +0 -0
- package/dist/js/node/types/legacyConfig/tools.js +0 -0
- package/dist/js/node/utils/config.js +1 -1
- package/dist/js/node/utils/createFileWatcher.js +91 -0
- package/dist/js/node/utils/restart.js +23 -0
- package/dist/js/treeshaking/analyze/constants.js +2 -0
- package/dist/js/treeshaking/analyze/generateCode.js +138 -82
- package/dist/js/treeshaking/analyze/getBundleEntry.js +1 -1
- package/dist/js/treeshaking/analyze/getFileSystemEntry.js +1 -1
- package/dist/js/treeshaking/analyze/getHtmlTemplate.js +1 -1
- package/dist/js/treeshaking/analyze/getServerRoutes.js +7 -5
- package/dist/js/treeshaking/analyze/index.js +10 -26
- package/dist/js/treeshaking/analyze/nestedRoutes.js +98 -55
- package/dist/js/treeshaking/analyze/templates.js +175 -101
- package/dist/js/treeshaking/analyze/utils.js +80 -4
- package/dist/js/treeshaking/builder/builderPlugins/compatModern.js +18 -12
- package/dist/js/treeshaking/builder/index.js +29 -16
- package/dist/js/treeshaking/builder/loaders/routerLoader.js +14 -0
- package/dist/js/treeshaking/builder/loaders/serverModuleLoader.js +4 -0
- package/dist/js/treeshaking/builder/share.js +1 -1
- package/dist/js/treeshaking/commands/build.js +33 -23
- package/dist/js/treeshaking/commands/dev.js +56 -43
- package/dist/js/treeshaking/commands/inspect.js +8 -3
- package/dist/js/treeshaking/config/default.js +199 -0
- package/dist/js/treeshaking/config/index.js +2 -0
- package/dist/js/treeshaking/config/initial/createHtmlConfig.js +31 -0
- package/dist/js/treeshaking/config/initial/createOutputConfig.js +70 -0
- package/dist/js/treeshaking/config/initial/createSourceConfig.js +41 -0
- package/dist/js/treeshaking/config/initial/createToolsConfig.js +38 -0
- package/dist/js/treeshaking/config/initial/index.js +11 -0
- package/dist/js/treeshaking/config/initial/inits.js +114 -0
- package/dist/js/treeshaking/config/initial/transformNormalizedConfig.js +38 -0
- package/dist/js/treeshaking/defineConfig.js +14 -0
- package/dist/js/treeshaking/hooks.js +23 -19
- package/dist/js/treeshaking/index.js +7 -5
- package/dist/js/treeshaking/initialize/index.js +121 -0
- package/dist/js/treeshaking/schema/Schema.js +75 -0
- package/dist/js/treeshaking/schema/index.js +138 -0
- package/dist/js/treeshaking/schema/legacy.js +273 -0
- package/dist/js/treeshaking/types/config/deploy.js +0 -0
- package/dist/js/treeshaking/types/config/dev.js +0 -0
- package/dist/js/treeshaking/types/config/experiments.js +0 -0
- package/dist/js/treeshaking/types/config/html.js +0 -0
- package/dist/js/treeshaking/types/config/index.js +2 -0
- package/dist/js/treeshaking/types/config/output.js +0 -0
- package/dist/js/treeshaking/types/config/performance.js +0 -0
- package/dist/js/treeshaking/types/config/security.js +0 -0
- package/dist/js/treeshaking/types/config/source.js +0 -0
- package/dist/js/treeshaking/types/config/tools.js +0 -0
- package/dist/js/treeshaking/types/hooks.js +0 -0
- package/dist/js/treeshaking/types/index.js +4 -0
- package/dist/js/treeshaking/types/legacyConfig/deploy.js +0 -0
- package/dist/js/treeshaking/types/legacyConfig/dev.js +0 -0
- package/dist/js/treeshaking/types/legacyConfig/index.js +0 -0
- package/dist/js/treeshaking/types/legacyConfig/output.js +1 -0
- package/dist/js/treeshaking/types/legacyConfig/source.js +0 -0
- package/dist/js/treeshaking/types/legacyConfig/tools.js +0 -0
- package/dist/js/treeshaking/utils/config.js +1 -1
- package/dist/js/treeshaking/utils/createFileWatcher.js +123 -0
- package/dist/js/treeshaking/utils/restart.js +45 -0
- package/dist/types/analyze/constants.d.ts +2 -0
- package/dist/types/analyze/generateCode.d.ts +3 -2
- package/dist/types/analyze/getBundleEntry.d.ts +2 -2
- package/dist/types/analyze/getFileSystemEntry.d.ts +2 -2
- package/dist/types/analyze/getHtmlTemplate.d.ts +3 -3
- package/dist/types/analyze/getServerRoutes.d.ts +3 -2
- package/dist/types/analyze/index.d.ts +3 -41
- package/dist/types/analyze/templates.d.ts +9 -8
- package/dist/types/analyze/utils.d.ts +10 -2
- package/dist/types/builder/builderPlugins/compatModern.d.ts +2 -2
- package/dist/types/builder/index.d.ts +5 -2
- package/dist/types/builder/loaders/routerLoader.d.ts +3 -0
- package/dist/types/builder/loaders/serverModuleLoader.d.ts +3 -0
- package/dist/types/builder/share.d.ts +2 -2
- 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/inspect.d.ts +9 -1
- package/dist/types/commands/start.d.ts +2 -2
- package/dist/types/config/default.d.ts +3 -0
- package/dist/types/config/index.d.ts +2 -0
- package/dist/types/config/initial/createHtmlConfig.d.ts +2 -0
- package/dist/types/config/initial/createOutputConfig.d.ts +2 -0
- package/dist/types/config/initial/createSourceConfig.d.ts +2 -0
- package/dist/types/config/initial/createToolsConfig.d.ts +2 -0
- package/dist/types/config/initial/index.d.ts +4 -0
- package/dist/types/config/initial/inits.d.ts +4 -0
- package/dist/types/config/initial/transformNormalizedConfig.d.ts +2 -0
- package/dist/types/defineConfig.d.ts +7 -0
- package/dist/types/hooks.d.ts +2 -42
- package/dist/types/index.d.ts +5 -5
- package/dist/types/initialize/index.d.ts +3 -0
- package/dist/types/schema/Schema.d.ts +14 -0
- package/dist/types/schema/index.d.ts +4 -0
- package/dist/types/schema/legacy.d.ts +3 -0
- package/dist/types/types/config/deploy.d.ts +9 -0
- package/dist/types/types/config/dev.d.ts +13 -0
- package/dist/types/types/config/experiments.d.ts +4 -0
- package/dist/types/types/config/html.d.ts +4 -0
- package/dist/types/types/config/index.d.ts +62 -0
- package/dist/types/types/config/output.d.ts +23 -0
- package/dist/types/types/config/performance.d.ts +4 -0
- package/dist/types/types/config/security.d.ts +4 -0
- package/dist/types/types/config/source.d.ts +22 -0
- package/dist/types/types/config/tools.d.ts +22 -0
- package/dist/types/types/hooks.d.ts +81 -0
- package/dist/types/types/index.d.ts +23 -0
- package/dist/types/types/legacyConfig/deploy.d.ts +8 -0
- package/dist/types/types/legacyConfig/dev.d.ts +12 -0
- package/dist/types/types/legacyConfig/index.d.ts +33 -0
- package/dist/types/types/legacyConfig/output.d.ts +51 -0
- package/dist/types/types/legacyConfig/source.d.ts +25 -0
- package/dist/types/types/legacyConfig/tools.d.ts +16 -0
- package/dist/types/utils/config.d.ts +2 -2
- package/dist/types/utils/createFileWatcher.d.ts +4 -0
- package/dist/types/utils/printInstructions.d.ts +3 -3
- package/dist/types/utils/restart.d.ts +3 -0
- package/lib/types.d.ts +1 -1
- package/package.json +28 -25
- package/dist/js/modern/builder/createHtmlConfig.js +0 -58
- package/dist/js/modern/builder/createSourceConfig.js +0 -74
- package/dist/js/modern/builder/createToolsConfig.js +0 -87
- package/dist/js/node/builder/createHtmlConfig.js +0 -68
- package/dist/js/node/builder/createSourceConfig.js +0 -82
- package/dist/js/node/builder/createToolsConfig.js +0 -94
- package/dist/js/treeshaking/builder/createHtmlConfig.js +0 -59
- package/dist/js/treeshaking/builder/createOutputConfig.js +0 -70
- package/dist/js/treeshaking/builder/createSourceConfig.js +0 -88
- package/dist/js/treeshaking/builder/createToolsConfig.js +0 -85
- package/dist/types/builder/createHtmlConfig.d.ts +0 -6
- package/dist/types/builder/createOutputConfig.d.ts +0 -3
- package/dist/types/builder/createSourceConfig.d.ts +0 -5
- package/dist/types/builder/createToolsConfig.d.ts +0 -13
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,450 @@
|
|
|
1
1
|
# @modern-js/app-tools
|
|
2
2
|
|
|
3
|
+
## 2.0.0-beta.3
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- dda38c9c3e: chore: v2
|
|
8
|
+
|
|
9
|
+
### Minor Changes
|
|
10
|
+
|
|
11
|
+
- edd1cfb1af: feat: modernjs Access builder compiler
|
|
12
|
+
feat: modernjs 接入 builder 构建
|
|
13
|
+
- b710adb: feat: extract the data loader
|
|
14
|
+
feat: 提取 data loader
|
|
15
|
+
- bbe4c4a: feat: add @modern-js/plugin-swc
|
|
16
|
+
|
|
17
|
+
feat: 新增 @modern-js/plugin-swc 插件
|
|
18
|
+
|
|
19
|
+
- e4558a0: feat:
|
|
20
|
+
|
|
21
|
+
1. add `runBin` function
|
|
22
|
+
2. config internal plugins constants in the app/module/doc tools
|
|
23
|
+
3. add app/module/doc tools internal plugins
|
|
24
|
+
|
|
25
|
+
feat:
|
|
26
|
+
|
|
27
|
+
1. 添加 `runBin` 函数
|
|
28
|
+
2. 在 app/module/doc tools 里配置内部插件
|
|
29
|
+
3. 增加 app/module/doc tools 使用的插件常量
|
|
30
|
+
|
|
31
|
+
- 543be9558e: feat: compile server loader and support handle loader request
|
|
32
|
+
feat: 编译 server loader 并支持处理 loader 的请求
|
|
33
|
+
|
|
34
|
+
### Patch Changes
|
|
35
|
+
|
|
36
|
+
- c9f912ca4d: feat(app-tools): improve build logs of dev and build command
|
|
37
|
+
|
|
38
|
+
feat(app-tools): 优化 dev 和 build 过程中的日志展示
|
|
39
|
+
|
|
40
|
+
- 0078da4: fix: remove webpack oneof rule in new config, save in legacy mode.
|
|
41
|
+
fix: 在新模式下删除 webpack oneof 规则,兼容模式下保留
|
|
42
|
+
- 103973cde9: fix: builder tools.webpackChain config args not match the Modernjs tools.webpackChain
|
|
43
|
+
fix: builder tools.webpackChain 配置传参无法匹配 Modernjs tools.webpackChain
|
|
44
|
+
- d4e8e6f: fix: modernjs dev server can't start normaly
|
|
45
|
+
fix: modernjs dev 服务端不能正常启动
|
|
46
|
+
- 0b2d1ef02b: fix: repeat register `babel-plugin-lodash`
|
|
47
|
+
fix: 重复注册 `babel-plugin-lodash`
|
|
48
|
+
- 82cef85ed7: fix: specify builder compiler framework
|
|
49
|
+
fix: 指明 builder 构建时框架
|
|
50
|
+
- 3e57f2bd58: feat: add document feature with plugin
|
|
51
|
+
|
|
52
|
+
feat: 增加 document 功能插件
|
|
53
|
+
|
|
54
|
+
- 85edee888c: feat(app-tools): support tools.htmlPlugin config
|
|
55
|
+
|
|
56
|
+
feat(app-tools): 支持 tools.htmlPlugin 配置项
|
|
57
|
+
|
|
58
|
+
- 2e60319: fix: some optimizations for router and loader
|
|
59
|
+
fix: 一些 router 和 loader 的优化
|
|
60
|
+
q
|
|
61
|
+
- a55b965: fix: rename "loader routes" file to avoid influence ssr
|
|
62
|
+
fix: 重命名 loader routes 避免影响 ssr
|
|
63
|
+
- 5402fdb0ca: feat(Builder): add output.disableTsChecker config
|
|
64
|
+
|
|
65
|
+
feat(Builder): 新增 output.disableTsChecker 配置项
|
|
66
|
+
|
|
67
|
+
- dc8eeb9cbb: fix: clear distDirectory in prepare hook & inject data loader plugin to server
|
|
68
|
+
fix: 在 prepare hook 中清理 dist 目录,并且向 server 中注入 data loader plugin
|
|
69
|
+
- cc971eabfc: refactor: move server plugin load logic in `@modern-js/core`
|
|
70
|
+
refactor:移除在 `@modern-js/core` 中的 server 插件加载逻辑
|
|
71
|
+
- 5b9049f2e9: feat: inject async js chunk when streaming ssr
|
|
72
|
+
feat: streaming ssr 时, 注入 async 类型的 js chunk
|
|
73
|
+
- d4a456659b: chore: rename plugin-jarvis to plugin-lint
|
|
74
|
+
|
|
75
|
+
chore: 重命名 plugin-jarvis 为 plugin-lint
|
|
76
|
+
|
|
77
|
+
- 6bda14ed71: feat: refactor router with react-router@6.4
|
|
78
|
+
|
|
79
|
+
feat: 使用 react-router@6.4 重构路由模块
|
|
80
|
+
|
|
81
|
+
- d36c6ee126: fix(app-tools): failed to run inspect command
|
|
82
|
+
|
|
83
|
+
fix(app-tools): 修复运行 inspect 命令失败的问题
|
|
84
|
+
|
|
85
|
+
- 92004d1906: feat: support load chunks parallelly
|
|
86
|
+
feat: 支持并行加载 chunks
|
|
87
|
+
- b8bbe036c7: feat: change type logic
|
|
88
|
+
feat: 修改类型相关的逻辑
|
|
89
|
+
- 40ed5874c6: feat: inject css chunk into html for streaming ssr
|
|
90
|
+
feat: streaming ssr 返回的 html 注入 css chunk
|
|
91
|
+
- af4422d67f: feat(builder): complete utils of tools.webpack
|
|
92
|
+
|
|
93
|
+
feat(builder): 补全 tools.webpack 提供的 utils 方法
|
|
94
|
+
|
|
95
|
+
- 87c1ff86b9: feat(app-tools): attach builder instance to appContext
|
|
96
|
+
|
|
97
|
+
feat(app-tools): 将 builder 实例挂载到 appContext 上
|
|
98
|
+
|
|
99
|
+
- c258e34202: fix: add builder hooks `beforeBuild` params
|
|
100
|
+
fix: 新增 builder hooks `beforeBuild` 的参数
|
|
101
|
+
- 3b3d709: fix(app-tools): cli --analyze option not work
|
|
102
|
+
|
|
103
|
+
fix(app-tools): 修复 --analyze 命令行参数不生效的问题
|
|
104
|
+
|
|
105
|
+
- 8b8e1bb571: feat: support nested routes
|
|
106
|
+
feat: 支持嵌套路由
|
|
107
|
+
- 88eb147: fix(app-tools): builder's onBeforeCreateDevServer hook not work
|
|
108
|
+
|
|
109
|
+
fix(app-tools): 修复 builder 的 onBeforeCreateDevServer hook 无法触发的问题
|
|
110
|
+
|
|
111
|
+
- 8c32dc4: fix: builder should not be checked when apiOnly is true
|
|
112
|
+
fix: 当 apiOnly 为 true 时,builder 不应该被校验
|
|
113
|
+
- a2c8cc3: fix: change tools define userconfig type
|
|
114
|
+
fix: 修改工程定义的 UserConfig 类型
|
|
115
|
+
- b7a96c3: fix(app-tools): loose CLI init options after restart
|
|
116
|
+
|
|
117
|
+
fix(app-tools): 修复重启 CLI 后丢失 init options 的问题
|
|
118
|
+
|
|
119
|
+
- 7de97ae24f: fix: `deploy` command has't load `builder` instance
|
|
120
|
+
fix: `deploy` 命令没有加载 builder 实例
|
|
121
|
+
- cce8ece: fix: handle some `TODO` & `FIXME`, change some tests
|
|
122
|
+
fix: 处理一些 `TODO` 和 `FIXME`, 修改了一些 tests
|
|
123
|
+
- c3b7de4bfb: fix(app-tools): dev.assetPrefix not work
|
|
124
|
+
|
|
125
|
+
fix(app-tools): 修复 dev.assetPrefix 配置项不生效的问题
|
|
126
|
+
|
|
127
|
+
- 16a3441: fix(app-tools): remove duplicated port log
|
|
128
|
+
|
|
129
|
+
fix(app-tools): 修复 port 重复的日志输出两遍的问题
|
|
130
|
+
|
|
131
|
+
- 92004d1906: fix: use loadable lazy instead of loadable
|
|
132
|
+
fix: 使用 loadable lazy 组件替代 loadable
|
|
133
|
+
- c677befc22: fix(app-tools): compat legacy resolve behavior
|
|
134
|
+
|
|
135
|
+
fix(app-tools): 兼容旧版本 node_modules 解析逻辑
|
|
136
|
+
|
|
137
|
+
- 3f7cde5caa: fix: builder plugin setup can't get config
|
|
138
|
+
fix: builder 插件在 setup 阶段无法拿到 config
|
|
139
|
+
- 99213e4bae: fix: process does't exit when exec command
|
|
140
|
+
fix: 修复执行命令时进程未退出的问题
|
|
141
|
+
- b16fd964da: fix: `modern-js/app-tools` pass error config to builder.
|
|
142
|
+
fix: `modern-js/app-tools` 传递错误的 config 给 builder.
|
|
143
|
+
- 7eefedd7ca: fix: add html-webpack-plugin `__internal__` options, for bottom template
|
|
144
|
+
fix: 为了 bottom template, 增加 `html-webpack-plugin` `__internal__` 配置项,
|
|
145
|
+
- 14b712da84: fix: use consistent alias type and default value across packages
|
|
146
|
+
|
|
147
|
+
fix: 在各个包中使用一致的 alias 类型定义和默认值
|
|
148
|
+
|
|
149
|
+
- Updated dependencies [c9f912ca4d]
|
|
150
|
+
- Updated dependencies [95be7cc49c]
|
|
151
|
+
- Updated dependencies [e439457a51]
|
|
152
|
+
- Updated dependencies [4d1545f8c0]
|
|
153
|
+
- Updated dependencies [2bc090c089]
|
|
154
|
+
- Updated dependencies [f0abb2e]
|
|
155
|
+
- Updated dependencies [f96a725211]
|
|
156
|
+
- Updated dependencies [828f42f9ce]
|
|
157
|
+
- Updated dependencies [060abd4]
|
|
158
|
+
- Updated dependencies [309cd71]
|
|
159
|
+
- Updated dependencies [c7456864a8]
|
|
160
|
+
- Updated dependencies [c9e800d39a]
|
|
161
|
+
- Updated dependencies [d4e8e6f]
|
|
162
|
+
- Updated dependencies [0ff846fb56]
|
|
163
|
+
- Updated dependencies [3cf9633]
|
|
164
|
+
- Updated dependencies [6604f1b]
|
|
165
|
+
- Updated dependencies [57077b2c64]
|
|
166
|
+
- Updated dependencies [d032d49e09]
|
|
167
|
+
- Updated dependencies [6aca875]
|
|
168
|
+
- Updated dependencies [2ff6167be0]
|
|
169
|
+
- Updated dependencies [287f298990]
|
|
170
|
+
- Updated dependencies [15bf09d9c8]
|
|
171
|
+
- Updated dependencies [423188db70]
|
|
172
|
+
- Updated dependencies [fd2d652c03]
|
|
173
|
+
- Updated dependencies [0c2d8dae31]
|
|
174
|
+
- Updated dependencies [2edad29dd7]
|
|
175
|
+
- Updated dependencies [85edee888c]
|
|
176
|
+
- Updated dependencies [2e60319]
|
|
177
|
+
- Updated dependencies [a2509bfbdb]
|
|
178
|
+
- Updated dependencies [3998875791]
|
|
179
|
+
- Updated dependencies [ab3924a]
|
|
180
|
+
- Updated dependencies [3998875791]
|
|
181
|
+
- Updated dependencies [ba86b8b711]
|
|
182
|
+
- Updated dependencies [61f21d1e77]
|
|
183
|
+
- Updated dependencies [5402fdb0ca]
|
|
184
|
+
- Updated dependencies [2ae58176fe]
|
|
185
|
+
- Updated dependencies [92f0eade39]
|
|
186
|
+
- Updated dependencies [edd1cfb1af]
|
|
187
|
+
- Updated dependencies [5d67c26cdb]
|
|
188
|
+
- Updated dependencies [cc971eabfc]
|
|
189
|
+
- Updated dependencies [5b9049f2e9]
|
|
190
|
+
- Updated dependencies [a3af050]
|
|
191
|
+
- Updated dependencies [d4a456659b]
|
|
192
|
+
- Updated dependencies [18360a38d7]
|
|
193
|
+
- Updated dependencies [6bda14ed71]
|
|
194
|
+
- Updated dependencies [0b314e6946]
|
|
195
|
+
- Updated dependencies [92004d1906]
|
|
196
|
+
- Updated dependencies [b8bbe036c7]
|
|
197
|
+
- Updated dependencies [5911154]
|
|
198
|
+
- Updated dependencies [40ed5874c6]
|
|
199
|
+
- Updated dependencies [af4422d67f]
|
|
200
|
+
- Updated dependencies [705adc1]
|
|
201
|
+
- Updated dependencies [f680410]
|
|
202
|
+
- Updated dependencies [87c1ff86b9]
|
|
203
|
+
- Updated dependencies [d5a31df781]
|
|
204
|
+
- Updated dependencies [dda38c9c3e]
|
|
205
|
+
- Updated dependencies [102d32e4ba]
|
|
206
|
+
- Updated dependencies [c258e34202]
|
|
207
|
+
- Updated dependencies [812913ccdd]
|
|
208
|
+
- Updated dependencies [7248342e4d]
|
|
209
|
+
- Updated dependencies [568eab1e42]
|
|
210
|
+
- Updated dependencies [8b8e1bb571]
|
|
211
|
+
- Updated dependencies [3bbea92b2a]
|
|
212
|
+
- Updated dependencies [ae71096d45]
|
|
213
|
+
- Updated dependencies [73cd29dd9f]
|
|
214
|
+
- Updated dependencies [b710adb]
|
|
215
|
+
- Updated dependencies [b7a96c3]
|
|
216
|
+
- Updated dependencies [a23010138d]
|
|
217
|
+
- Updated dependencies [75d1b2657c]
|
|
218
|
+
- Updated dependencies [cce8ece]
|
|
219
|
+
- Updated dependencies [18aaf42249]
|
|
220
|
+
- Updated dependencies [f179749375]
|
|
221
|
+
- Updated dependencies [3fae2d03b3]
|
|
222
|
+
- Updated dependencies [ea7cf06]
|
|
223
|
+
- Updated dependencies [8a6d45f105]
|
|
224
|
+
- Updated dependencies [bbe4c4a]
|
|
225
|
+
- Updated dependencies [ebbeed1ece]
|
|
226
|
+
- Updated dependencies [90e2879520]
|
|
227
|
+
- Updated dependencies [e4558a0]
|
|
228
|
+
- Updated dependencies [df41d71ade]
|
|
229
|
+
- Updated dependencies [f727e5c6cc]
|
|
230
|
+
- Updated dependencies [5e3cecd523]
|
|
231
|
+
- Updated dependencies [abf3421a75]
|
|
232
|
+
- Updated dependencies [da2d1fc3c2]
|
|
233
|
+
- Updated dependencies [543be9558e]
|
|
234
|
+
- Updated dependencies [fd1d9fd]
|
|
235
|
+
- Updated dependencies [14b712da84]
|
|
236
|
+
- @modern-js/builder-webpack-provider@2.0.0-beta.3
|
|
237
|
+
- @modern-js/builder-shared@2.0.0-beta.3
|
|
238
|
+
- @modern-js/core@2.0.0-beta.3
|
|
239
|
+
- @modern-js/prod-server@2.0.0-beta.3
|
|
240
|
+
- @modern-js/server@2.0.0-beta.3
|
|
241
|
+
- @modern-js/builder-plugin-esbuild@2.0.0-beta.3
|
|
242
|
+
- @modern-js/plugin-data-loader@2.0.0-beta.3
|
|
243
|
+
- @modern-js/builder-plugin-node-polyfill@2.0.0-beta.3
|
|
244
|
+
- @modern-js/utils@2.0.0-beta.3
|
|
245
|
+
- @modern-js/types@2.0.0-beta.3
|
|
246
|
+
- @modern-js/node-bundle-require@2.0.0-beta.3
|
|
247
|
+
- @modern-js/plugin-lint@2.0.0-beta.3
|
|
248
|
+
- @modern-js/plugin@2.0.0-beta.3
|
|
249
|
+
- @modern-js/builder@2.0.0-beta.3
|
|
250
|
+
- @modern-js/plugin-i18n@2.0.0-beta.3
|
|
251
|
+
- @modern-js/new-action@2.0.0-beta.3
|
|
252
|
+
- @modern-js/upgrade@2.0.0-beta.3
|
|
253
|
+
|
|
254
|
+
## 2.0.0-beta.2
|
|
255
|
+
|
|
256
|
+
### Major Changes
|
|
257
|
+
|
|
258
|
+
- dda38c9c3e: chore: v2
|
|
259
|
+
|
|
260
|
+
### Minor Changes
|
|
261
|
+
|
|
262
|
+
- edd1cfb1af: feat: modernjs Access builder compiler
|
|
263
|
+
feat: modernjs 接入 builder 构建
|
|
264
|
+
- 543be9558e: feat: compile server loader and support handle loader request
|
|
265
|
+
feat: 编译 server loader 并支持处理 loader 的请求
|
|
266
|
+
|
|
267
|
+
### Patch Changes
|
|
268
|
+
|
|
269
|
+
- c9f912ca4d: feat(app-tools): improve build logs of dev and build command
|
|
270
|
+
|
|
271
|
+
feat(app-tools): 优化 dev 和 build 过程中的日志展示
|
|
272
|
+
|
|
273
|
+
- 103973cde9: fix: builder tools.webpackChain config args not match the Modernjs tools.webpackChain
|
|
274
|
+
fix: builder tools.webpackChain 配置传参无法匹配 Modernjs tools.webpackChain
|
|
275
|
+
- 0b2d1ef02b: fix: repeat register `babel-plugin-lodash`
|
|
276
|
+
fix: 重复注册 `babel-plugin-lodash`
|
|
277
|
+
- 82cef85ed7: fix: specify builder compiler framework
|
|
278
|
+
fix: 指明 builder 构建时框架
|
|
279
|
+
- 3e57f2b: feat: add document feature with plugin
|
|
280
|
+
|
|
281
|
+
feat: 增加 document 功能插件
|
|
282
|
+
|
|
283
|
+
- 85edee888c: feat(app-tools): support tools.htmlPlugin config
|
|
284
|
+
|
|
285
|
+
feat(app-tools): 支持 tools.htmlPlugin 配置项
|
|
286
|
+
|
|
287
|
+
- 5402fdb: feat(Builder): add output.disableTsChecker config
|
|
288
|
+
|
|
289
|
+
feat(Builder): 新增 output.disableTsChecker 配置项
|
|
290
|
+
|
|
291
|
+
- dc8eeb9cbb: fix: clear distDirectory in prepare hook & inject data loader plugin to server
|
|
292
|
+
fix: 在 prepare hook 中清理 dist 目录,并且向 server 中注入 data loader plugin
|
|
293
|
+
- cc971eabfc: refactor: move server plugin load logic in `@modern-js/core`
|
|
294
|
+
refactor:移除在 `@modern-js/core` 中的 server 插件加载逻辑
|
|
295
|
+
- 5b9049f2e9: feat: inject async js chunk when streaming ssr
|
|
296
|
+
feat: streaming ssr 时, 注入 async 类型的 js chunk
|
|
297
|
+
- d4a4566: chore: rename plugin-jarvis to plugin-lint
|
|
298
|
+
|
|
299
|
+
chore: 重命名 plugin-jarvis 为 plugin-lint
|
|
300
|
+
|
|
301
|
+
- 6bda14ed71: feat: refactor router with react-router@6.4
|
|
302
|
+
|
|
303
|
+
feat: 使用 react-router@6.4 重构路由模块
|
|
304
|
+
|
|
305
|
+
- d36c6ee126: fix(app-tools): failed to run inspect command
|
|
306
|
+
|
|
307
|
+
fix(app-tools): 修复运行 inspect 命令失败的问题
|
|
308
|
+
|
|
309
|
+
- 92004d1: feat: support load chunks parallelly
|
|
310
|
+
feat: 支持并行加载 chunks
|
|
311
|
+
- b8bbe036c7: feat: change type logic
|
|
312
|
+
feat: 修改类型相关的逻辑
|
|
313
|
+
- 40ed587: feat: inject css chunk into html for streaming ssr
|
|
314
|
+
feat: streaming ssr 返回的 html 注入 css chunk
|
|
315
|
+
- af4422d67f: feat(builder): complete utils of tools.webpack
|
|
316
|
+
|
|
317
|
+
feat(builder): 补全 tools.webpack 提供的 utils 方法
|
|
318
|
+
|
|
319
|
+
- 87c1ff8: feat(app-tools): attach builder instance to appContext
|
|
320
|
+
|
|
321
|
+
feat(app-tools): 将 builder 实例挂载到 appContext 上
|
|
322
|
+
|
|
323
|
+
- c258e34202: fix: add builder hooks `beforeBuild` params
|
|
324
|
+
fix: 新增 builder hooks `beforeBuild` 的参数
|
|
325
|
+
- 3b3d709: fix(app-tools): cli --analyze option not work
|
|
326
|
+
|
|
327
|
+
fix(app-tools): 修复 --analyze 命令行参数不生效的问题
|
|
328
|
+
|
|
329
|
+
- 8b8e1bb571: feat: support nested routes
|
|
330
|
+
feat: 支持嵌套路由
|
|
331
|
+
- a2c8cc3: fix: change tools define userconfig type
|
|
332
|
+
fix: 修改工程定义的 UserConfig 类型
|
|
333
|
+
- 7de97ae: fix: `deploy` command has't load `builder` instance
|
|
334
|
+
fix: `deploy` 命令没有加载 builder 实例
|
|
335
|
+
- c3b7de4: fix(app-tools): dev.assetPrefix not work
|
|
336
|
+
|
|
337
|
+
fix(app-tools): 修复 dev.assetPrefix 配置项不生效的问题
|
|
338
|
+
|
|
339
|
+
- 92004d1: fix: use loadable lazy instead of loadable
|
|
340
|
+
fix: 使用 loadable lazy 组件替代 loadable
|
|
341
|
+
- c677befc22: fix(app-tools): compat legacy resolve behavior
|
|
342
|
+
|
|
343
|
+
fix(app-tools): 兼容旧版本 node_modules 解析逻辑
|
|
344
|
+
|
|
345
|
+
- 3f7cde5caa: fix: builder plugin setup can't get config
|
|
346
|
+
fix: builder 插件在 setup 阶段无法拿到 config
|
|
347
|
+
- 99213e4bae: fix: process does't exit when exec command
|
|
348
|
+
fix: 修复执行命令时进程未退出的问题
|
|
349
|
+
- b16fd964da: fix: `modern-js/app-tools` pass error config to builder.
|
|
350
|
+
fix: `modern-js/app-tools` 传递错误的 config 给 builder.
|
|
351
|
+
- 7eefedd7ca: fix: add html-webpack-plugin `__internal__` options, for bottom template
|
|
352
|
+
fix: 为了 bottom template, 增加 `html-webpack-plugin` `__internal__` 配置项,
|
|
353
|
+
- 14b712da84: fix: use consistent alias type and default value across packages
|
|
354
|
+
|
|
355
|
+
fix: 在各个包中使用一致的 alias 类型定义和默认值
|
|
356
|
+
|
|
357
|
+
- Updated dependencies [c9f912ca4d]
|
|
358
|
+
- Updated dependencies [95be7cc49c]
|
|
359
|
+
- Updated dependencies [e439457a51]
|
|
360
|
+
- Updated dependencies [4d1545f8c0]
|
|
361
|
+
- Updated dependencies [2bc090c089]
|
|
362
|
+
- Updated dependencies [f96a725211]
|
|
363
|
+
- Updated dependencies [828f42f9ce]
|
|
364
|
+
- Updated dependencies [060abd4]
|
|
365
|
+
- Updated dependencies [309cd71]
|
|
366
|
+
- Updated dependencies [c7456864a8]
|
|
367
|
+
- Updated dependencies [c9e800d39a]
|
|
368
|
+
- Updated dependencies [0ff846fb56]
|
|
369
|
+
- Updated dependencies [3cf9633]
|
|
370
|
+
- Updated dependencies [57077b2c64]
|
|
371
|
+
- Updated dependencies [d032d49]
|
|
372
|
+
- Updated dependencies [2ff6167]
|
|
373
|
+
- Updated dependencies [287f298990]
|
|
374
|
+
- Updated dependencies [15bf09d9c8]
|
|
375
|
+
- Updated dependencies [423188db70]
|
|
376
|
+
- Updated dependencies [fd2d652c03]
|
|
377
|
+
- Updated dependencies [0c2d8dae31]
|
|
378
|
+
- Updated dependencies [2edad29]
|
|
379
|
+
- Updated dependencies [85edee888c]
|
|
380
|
+
- Updated dependencies [a2509bfbdb]
|
|
381
|
+
- Updated dependencies [3998875791]
|
|
382
|
+
- Updated dependencies [ab3924a]
|
|
383
|
+
- Updated dependencies [3998875791]
|
|
384
|
+
- Updated dependencies [ba86b8b711]
|
|
385
|
+
- Updated dependencies [61f21d1e77]
|
|
386
|
+
- Updated dependencies [5402fdb]
|
|
387
|
+
- Updated dependencies [2ae58176fe]
|
|
388
|
+
- Updated dependencies [92f0ead]
|
|
389
|
+
- Updated dependencies [edd1cfb1af]
|
|
390
|
+
- Updated dependencies [5d67c26cdb]
|
|
391
|
+
- Updated dependencies [cc971eabfc]
|
|
392
|
+
- Updated dependencies [5b9049f2e9]
|
|
393
|
+
- Updated dependencies [d4a4566]
|
|
394
|
+
- Updated dependencies [18360a38d7]
|
|
395
|
+
- Updated dependencies [6bda14ed71]
|
|
396
|
+
- Updated dependencies [0b314e6946]
|
|
397
|
+
- Updated dependencies [92004d1]
|
|
398
|
+
- Updated dependencies [b8bbe036c7]
|
|
399
|
+
- Updated dependencies [5911154]
|
|
400
|
+
- Updated dependencies [40ed587]
|
|
401
|
+
- Updated dependencies [af4422d67f]
|
|
402
|
+
- Updated dependencies [705adc1]
|
|
403
|
+
- Updated dependencies [87c1ff8]
|
|
404
|
+
- Updated dependencies [d5a31df781]
|
|
405
|
+
- Updated dependencies [dda38c9c3e]
|
|
406
|
+
- Updated dependencies [102d32e4ba]
|
|
407
|
+
- Updated dependencies [c258e34202]
|
|
408
|
+
- Updated dependencies [812913c]
|
|
409
|
+
- Updated dependencies [7248342e4d]
|
|
410
|
+
- Updated dependencies [568eab1e42]
|
|
411
|
+
- Updated dependencies [8b8e1bb571]
|
|
412
|
+
- Updated dependencies [3bbea92b2a]
|
|
413
|
+
- Updated dependencies [ae71096d45]
|
|
414
|
+
- Updated dependencies [73cd29dd9f]
|
|
415
|
+
- Updated dependencies [a23010138d]
|
|
416
|
+
- Updated dependencies [75d1b2657c]
|
|
417
|
+
- Updated dependencies [18aaf42]
|
|
418
|
+
- Updated dependencies [f179749]
|
|
419
|
+
- Updated dependencies [3fae2d0]
|
|
420
|
+
- Updated dependencies [8a6d45f105]
|
|
421
|
+
- Updated dependencies [ebbeed1]
|
|
422
|
+
- Updated dependencies [90e2879520]
|
|
423
|
+
- Updated dependencies [df41d71]
|
|
424
|
+
- Updated dependencies [f727e5c6cc]
|
|
425
|
+
- Updated dependencies [5e3cecd523]
|
|
426
|
+
- Updated dependencies [abf3421a75]
|
|
427
|
+
- Updated dependencies [da2d1fc3c2]
|
|
428
|
+
- Updated dependencies [543be9558e]
|
|
429
|
+
- Updated dependencies [14b712da84]
|
|
430
|
+
- @modern-js/builder-webpack-provider@2.0.0-beta.2
|
|
431
|
+
- @modern-js/builder-shared@2.0.0-beta.2
|
|
432
|
+
- @modern-js/core@2.0.0-beta.2
|
|
433
|
+
- @modern-js/prod-server@2.0.0-beta.2
|
|
434
|
+
- @modern-js/builder-plugin-esbuild@2.0.0-beta.2
|
|
435
|
+
- @modern-js/server@2.0.0-beta.2
|
|
436
|
+
- @modern-js/node-bundle-require@2.0.0-beta.2
|
|
437
|
+
- @modern-js/utils@2.0.0-beta.2
|
|
438
|
+
- @modern-js/builder-plugin-node-polyfill@2.0.0-beta.2
|
|
439
|
+
- @modern-js/types@2.0.0-beta.2
|
|
440
|
+
- @modern-js/plugin-lint@2.0.0-beta.2
|
|
441
|
+
- @modern-js/plugin@2.0.0-beta.2
|
|
442
|
+
- @modern-js/builder@2.0.0-beta.2
|
|
443
|
+
- @modern-js/plugin-data-loader@2.0.0-beta.2
|
|
444
|
+
- @modern-js/plugin-i18n@2.0.0-beta.2
|
|
445
|
+
- @modern-js/new-action@2.0.0-beta.2
|
|
446
|
+
- @modern-js/upgrade@2.0.0-beta.2
|
|
447
|
+
|
|
3
448
|
## 2.0.0-beta.1
|
|
4
449
|
|
|
5
450
|
### Major Changes
|
package/bin/modern.js
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
const {
|
|
3
|
+
INTERNAL_APP_TOOLS_PLUGINS,
|
|
4
|
+
INTERNAL_SERVER_PLUGINS,
|
|
5
|
+
} = require('@modern-js/utils');
|
|
2
6
|
|
|
3
|
-
require('@modern-js/core/
|
|
7
|
+
require('@modern-js/core/runBin').run({
|
|
8
|
+
internalPlugins: {
|
|
9
|
+
cli: INTERNAL_APP_TOOLS_PLUGINS,
|
|
10
|
+
server: INTERNAL_SERVER_PLUGINS,
|
|
11
|
+
},
|
|
12
|
+
});
|
|
@@ -4,6 +4,8 @@ export const APP_FILE_NAME = 'App';
|
|
|
4
4
|
export const PAGES_DIR_NAME = 'pages';
|
|
5
5
|
export const NESTED_ROUTES_DIR = 'routes';
|
|
6
6
|
export const FILE_SYSTEM_ROUTES_FILE_NAME = 'routes.js';
|
|
7
|
+
export const LOADER_EXPORT_NAME = 'loader';
|
|
8
|
+
export const TEMP_LOADERS_DIR = '__loaders__';
|
|
7
9
|
export const ENTRY_POINT_FILE_NAME = 'index.js';
|
|
8
10
|
export const ENTRY_BOOTSTRAP_FILE_NAME = 'bootstrap.js';
|
|
9
11
|
export const FILE_SYSTEM_ROUTES_DYNAMIC_REGEXP = /^\[(\S+)\]([*+?]?)$/;
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import path from 'path';
|
|
2
|
-
import { fs, logger } from '@modern-js/utils';
|
|
2
|
+
import { fs, LOADER_ROUTES_DIR, logger } from '@modern-js/utils';
|
|
3
3
|
import { useResolvedConfigContext } from '@modern-js/core';
|
|
4
4
|
import esbuild from 'esbuild';
|
|
5
5
|
import { getCommand } from "../utils/commands";
|
|
6
6
|
import * as templates from "./templates";
|
|
7
7
|
import { getClientRoutes, getClientRoutesLegacy } from "./getClientRoutes";
|
|
8
|
-
import { FILE_SYSTEM_ROUTES_FILE_NAME, ENTRY_POINT_FILE_NAME, ENTRY_BOOTSTRAP_FILE_NAME } from "./constants";
|
|
8
|
+
import { FILE_SYSTEM_ROUTES_FILE_NAME, ENTRY_POINT_FILE_NAME, ENTRY_BOOTSTRAP_FILE_NAME, TEMP_LOADERS_DIR } from "./constants";
|
|
9
9
|
import { getDefaultImports } from "./utils";
|
|
10
10
|
import { walk } from "./nestedRoutes";
|
|
11
|
+
const loader = {
|
|
12
|
+
'.js': 'jsx',
|
|
13
|
+
'.ts': 'tsx'
|
|
14
|
+
};
|
|
15
|
+
const EXTERNAL_REGEXP = /^[^./]|^\.[^./]|^\.\.[^/]/;
|
|
11
16
|
const createImportSpecifier = specifiers => {
|
|
12
17
|
let defaults = '';
|
|
13
18
|
const named = [];
|
|
@@ -63,15 +68,10 @@ export const createImportStatements = statements => {
|
|
|
63
68
|
}) => `import ${createImportSpecifier(specifiers)} from '${value}';\n${initialize || ''}`).join('\n');
|
|
64
69
|
};
|
|
65
70
|
const buildLoader = async (entry, outfile) => {
|
|
66
|
-
const loader = {
|
|
67
|
-
'.js': 'jsx',
|
|
68
|
-
'.ts': 'tsx'
|
|
69
|
-
};
|
|
70
|
-
const EXTERNAL_REGEXP = /^[^./]|^\.[^./]|^\.\.[^/]/;
|
|
71
71
|
const command = getCommand();
|
|
72
72
|
await esbuild.build({
|
|
73
|
-
format: '
|
|
74
|
-
platform: '
|
|
73
|
+
format: 'esm',
|
|
74
|
+
platform: 'browser',
|
|
75
75
|
target: 'esnext',
|
|
76
76
|
loader,
|
|
77
77
|
watch: command === 'dev' && {},
|
|
@@ -100,6 +100,20 @@ const buildLoader = async (entry, outfile) => {
|
|
|
100
100
|
}]
|
|
101
101
|
});
|
|
102
102
|
};
|
|
103
|
+
const buildServerLoader = async (entry, outfile) => {
|
|
104
|
+
const command = getCommand();
|
|
105
|
+
await esbuild.build({
|
|
106
|
+
format: 'cjs',
|
|
107
|
+
platform: 'node',
|
|
108
|
+
target: 'esnext',
|
|
109
|
+
loader,
|
|
110
|
+
watch: command === 'dev' && {},
|
|
111
|
+
bundle: true,
|
|
112
|
+
logLevel: 'error',
|
|
113
|
+
entryPoints: [entry],
|
|
114
|
+
outfile
|
|
115
|
+
});
|
|
116
|
+
};
|
|
103
117
|
export const generateCode = async (appContext, config, entrypoints, api) => {
|
|
104
118
|
var _config$runtime, _config$runtime$route;
|
|
105
119
|
const {
|
|
@@ -113,7 +127,7 @@ export const generateCode = async (appContext, config, entrypoints, api) => {
|
|
|
113
127
|
const islegacy = Boolean(config === null || config === void 0 ? void 0 : (_config$runtime = config.runtime) === null || _config$runtime === void 0 ? void 0 : (_config$runtime$route = _config$runtime.router) === null || _config$runtime$route === void 0 ? void 0 : _config$runtime$route.legacy);
|
|
114
128
|
const {
|
|
115
129
|
mountId
|
|
116
|
-
} = config.
|
|
130
|
+
} = config.html;
|
|
117
131
|
const getRoutes = islegacy ? getClientRoutesLegacy : getClientRoutes;
|
|
118
132
|
await Promise.all(entrypoints.map(generateEntryCode));
|
|
119
133
|
async function generateEntryCode(entrypoint) {
|
|
@@ -178,28 +192,34 @@ export const generateCode = async (appContext, config, entrypoints, api) => {
|
|
|
178
192
|
code
|
|
179
193
|
} = await hookRunners.beforeGenerateRoutes({
|
|
180
194
|
entrypoint,
|
|
181
|
-
code: templates.fileSystemRoutes({
|
|
195
|
+
code: await templates.fileSystemRoutes({
|
|
182
196
|
routes,
|
|
183
197
|
ssrMode: mode,
|
|
184
198
|
nestedRoutesEntry: entrypoint.nestedRoutesEntry,
|
|
185
|
-
entryName: entrypoint.entryName
|
|
199
|
+
entryName: entrypoint.entryName,
|
|
200
|
+
internalDirectory
|
|
186
201
|
})
|
|
187
202
|
});
|
|
188
203
|
|
|
189
204
|
// extract nested router loaders
|
|
190
205
|
if (entrypoint.nestedRoutesEntry) {
|
|
191
|
-
const routesServerFile = path.join(internalDirectory, entryName, '
|
|
192
|
-
const outputRoutesServerFile = path.join(distDirectory,
|
|
206
|
+
const routesServerFile = path.join(internalDirectory, entryName, 'route-server-loaders.js');
|
|
207
|
+
const outputRoutesServerFile = path.join(distDirectory, LOADER_ROUTES_DIR, entryName, 'index.js');
|
|
193
208
|
const code = templates.routesForServer({
|
|
194
209
|
routes: routes,
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
basename: srcDirectory
|
|
198
|
-
}
|
|
210
|
+
internalDirectory,
|
|
211
|
+
entryName
|
|
199
212
|
});
|
|
200
213
|
await fs.ensureFile(routesServerFile);
|
|
201
214
|
await fs.writeFile(routesServerFile, code);
|
|
202
|
-
|
|
215
|
+
const loaderEntryFile = path.join(internalDirectory, entryName, TEMP_LOADERS_DIR, 'entry.js');
|
|
216
|
+
const loaderIndexFile = path.join(internalDirectory, entryName, TEMP_LOADERS_DIR, 'index.js');
|
|
217
|
+
if (await fs.pathExists(loaderEntryFile)) {
|
|
218
|
+
await buildLoader(loaderEntryFile, loaderIndexFile);
|
|
219
|
+
}
|
|
220
|
+
if (await fs.pathExists(routesServerFile)) {
|
|
221
|
+
await buildServerLoader(routesServerFile, outputRoutesServerFile);
|
|
222
|
+
}
|
|
203
223
|
}
|
|
204
224
|
fs.outputFileSync(path.resolve(internalDirectory, `./${entryName}/${FILE_SYSTEM_ROUTES_FILE_NAME}`), code, 'utf8');
|
|
205
225
|
}
|
|
@@ -56,7 +56,7 @@ export const getBundleEntry = (appContext, config) => {
|
|
|
56
56
|
}
|
|
57
57
|
if (!disableDefaultEntries) {
|
|
58
58
|
// find main entry point which server route is '/'.
|
|
59
|
-
const entriesDirAbs = ensureAbsolutePath(appDirectory, entriesDir);
|
|
59
|
+
const entriesDirAbs = ensureAbsolutePath(appDirectory, entriesDir || '');
|
|
60
60
|
const found = defaults.find(({
|
|
61
61
|
entryName,
|
|
62
62
|
entry,
|
|
@@ -67,7 +67,7 @@ export const getFileSystemEntry = (appContext, config) => {
|
|
|
67
67
|
entriesDir
|
|
68
68
|
}
|
|
69
69
|
} = config;
|
|
70
|
-
const src = ensureAbsolutePath(appDirectory, entriesDir);
|
|
70
|
+
const src = ensureAbsolutePath(appDirectory, entriesDir || '');
|
|
71
71
|
if (fs.existsSync(src)) {
|
|
72
72
|
if (fs.statSync(src).isDirectory()) {
|
|
73
73
|
return scanDir(isBundleEntry(src) ? [src] : fs.readdirSync(src).map(file => path.join(src, file)).filter(file => fs.statSync(file).isDirectory() && isBundleEntry(file)));
|
|
@@ -36,7 +36,7 @@ export const getHtmlTemplate = async (entrypoints, api, {
|
|
|
36
36
|
configDir
|
|
37
37
|
}
|
|
38
38
|
} = config;
|
|
39
|
-
const htmlDir = path.resolve(appDirectory, configDir, HTML_PARTIALS_FOLDER);
|
|
39
|
+
const htmlDir = path.resolve(appDirectory, configDir || '', HTML_PARTIALS_FOLDER);
|
|
40
40
|
const htmlTemplates = {};
|
|
41
41
|
for (const entrypoint of entrypoints) {
|
|
42
42
|
const {
|
|
@@ -94,9 +94,13 @@ const applyRouteOptions = (original, routeOptions) => {
|
|
|
94
94
|
*/
|
|
95
95
|
const collectHtmlRoutes = (entrypoints, appContext, config) => {
|
|
96
96
|
const {
|
|
97
|
+
html: {
|
|
98
|
+
disableHtmlFolder
|
|
99
|
+
},
|
|
97
100
|
output: {
|
|
98
|
-
|
|
99
|
-
|
|
101
|
+
distPath: {
|
|
102
|
+
html: htmlPath
|
|
103
|
+
} = {},
|
|
100
104
|
enableModernMode
|
|
101
105
|
},
|
|
102
106
|
server: {
|
|
@@ -157,14 +161,14 @@ const collectStaticRoutes = (appContext, config) => {
|
|
|
157
161
|
publicRoutes = {}
|
|
158
162
|
}
|
|
159
163
|
} = config;
|
|
160
|
-
const publicFolder = path.resolve(appDirectory, configDir, 'public');
|
|
164
|
+
const publicFolder = path.resolve(appDirectory, configDir || '', 'public');
|
|
161
165
|
return fs.existsSync(publicFolder) ? walkDirectory(publicFolder).map(filePath => {
|
|
162
166
|
const urlPath = `${urlJoin(toPosix(filePath).slice(toPosix(publicFolder).length))}`;
|
|
163
167
|
return {
|
|
164
168
|
urlPath: publicRoutes[removeLeadingSlash(urlPath)] || urlPath,
|
|
165
169
|
isSPA: true,
|
|
166
170
|
isSSR: false,
|
|
167
|
-
entryPath: toPosix(path.relative(path.resolve(appDirectory, configDir), filePath))
|
|
171
|
+
entryPath: toPosix(path.relative(path.resolve(appDirectory, configDir || ''), filePath))
|
|
168
172
|
};
|
|
169
173
|
}) : [];
|
|
170
174
|
};
|