@modern-js/app-tools 2.0.0-beta.2 → 2.0.0-beta.4

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.
Files changed (236) hide show
  1. package/CHANGELOG.md +556 -0
  2. package/bin/modern.js +11 -1
  3. package/dist/js/modern/analyze/Builder.js +39 -0
  4. package/dist/js/modern/analyze/constants.js +38 -16
  5. package/dist/js/modern/analyze/generateCode.js +272 -211
  6. package/dist/js/modern/analyze/getBundleEntry.js +34 -32
  7. package/dist/js/modern/analyze/getClientRoutes/getRoutes.js +93 -49
  8. package/dist/js/modern/analyze/getClientRoutes/getRoutesLegacy.js +89 -47
  9. package/dist/js/modern/analyze/getClientRoutes/index.js +6 -2
  10. package/dist/js/modern/analyze/getClientRoutes/utils.js +23 -10
  11. package/dist/js/modern/analyze/getFileSystemEntry.js +43 -22
  12. package/dist/js/modern/analyze/getHtmlTemplate.js +89 -49
  13. package/dist/js/modern/analyze/getServerRoutes.js +122 -126
  14. package/dist/js/modern/analyze/index.js +201 -160
  15. package/dist/js/modern/analyze/isDefaultExportFunction.js +30 -16
  16. package/dist/js/modern/analyze/makeLegalIdentifier.js +10 -11
  17. package/dist/js/modern/analyze/nestedRoutes.js +110 -53
  18. package/dist/js/modern/analyze/templates.js +191 -77
  19. package/dist/js/modern/analyze/utils.js +98 -51
  20. package/dist/js/modern/builder/builderPlugins/compatModern.js +125 -107
  21. package/dist/js/modern/builder/index.js +124 -89
  22. package/dist/js/modern/builder/loaders/routerLoader.js +17 -0
  23. package/dist/js/modern/builder/loaders/serverModuleLoader.js +7 -0
  24. package/dist/js/modern/builder/share.js +23 -21
  25. package/dist/js/modern/builder/webpackPlugins/htmlAsyncChunkPlugin.js +23 -22
  26. package/dist/js/modern/builder/webpackPlugins/htmlBottomTemplate.js +31 -27
  27. package/dist/js/modern/builder/webpackPlugins/routerPlugin.js +100 -84
  28. package/dist/js/modern/commands/build.js +67 -42
  29. package/dist/js/modern/commands/deploy.js +27 -4
  30. package/dist/js/modern/commands/dev.js +93 -47
  31. package/dist/js/modern/commands/index.js +1 -1
  32. package/dist/js/modern/commands/inspect.js +30 -5
  33. package/dist/js/modern/commands/start.js +37 -16
  34. package/dist/js/modern/config/default.js +103 -114
  35. package/dist/js/modern/config/index.js +8 -2
  36. package/dist/js/modern/config/initial/createHtmlConfig.js +5 -2
  37. package/dist/js/modern/config/initial/createOutputConfig.js +11 -9
  38. package/dist/js/modern/config/initial/createSourceConfig.js +5 -2
  39. package/dist/js/modern/config/initial/createToolsConfig.js +7 -6
  40. package/dist/js/modern/config/initial/index.js +9 -4
  41. package/dist/js/modern/config/initial/inits.js +109 -73
  42. package/dist/js/modern/config/initial/transformNormalizedConfig.js +6 -3
  43. package/dist/js/modern/defineConfig.js +26 -11
  44. package/dist/js/modern/exports/server.js +4 -1
  45. package/dist/js/modern/hooks.js +15 -4
  46. package/dist/js/modern/index.js +178 -90
  47. package/dist/js/modern/initialize/index.js +98 -51
  48. package/dist/js/modern/locale/en.js +20 -21
  49. package/dist/js/modern/locale/index.js +6 -6
  50. package/dist/js/modern/locale/zh.js +21 -22
  51. package/dist/js/modern/schema/Schema.js +6 -5
  52. package/dist/js/modern/schema/index.js +51 -100
  53. package/dist/js/modern/schema/legacy.js +96 -231
  54. package/dist/js/modern/types/config/index.js +0 -1
  55. package/dist/js/modern/types/index.js +0 -1
  56. package/dist/js/modern/types/legacyConfig/output.js +0 -1
  57. package/dist/js/modern/utils/commands.js +5 -2
  58. package/dist/js/modern/utils/config.js +102 -41
  59. package/dist/js/modern/utils/createFileWatcher.js +84 -51
  60. package/dist/js/modern/utils/createServer.js +63 -17
  61. package/dist/js/modern/utils/getSpecifiedEntries.js +46 -19
  62. package/dist/js/modern/utils/language.js +6 -3
  63. package/dist/js/modern/utils/printInstructions.js +27 -8
  64. package/dist/js/modern/utils/restart.js +43 -16
  65. package/dist/js/modern/utils/routes.js +29 -12
  66. package/dist/js/node/analyze/Builder.js +58 -0
  67. package/dist/js/node/analyze/constants.js +54 -35
  68. package/dist/js/node/analyze/generateCode.js +291 -228
  69. package/dist/js/node/analyze/getBundleEntry.js +58 -44
  70. package/dist/js/node/analyze/getClientRoutes/getRoutes.js +132 -76
  71. package/dist/js/node/analyze/getClientRoutes/getRoutesLegacy.js +128 -74
  72. package/dist/js/node/analyze/getClientRoutes/index.js +23 -17
  73. package/dist/js/node/analyze/getClientRoutes/utils.js +44 -21
  74. package/dist/js/node/analyze/getFileSystemEntry.js +70 -39
  75. package/dist/js/node/analyze/getHtmlTemplate.js +116 -61
  76. package/dist/js/node/analyze/getServerRoutes.js +143 -137
  77. package/dist/js/node/analyze/index.js +247 -174
  78. package/dist/js/node/analyze/isDefaultExportFunction.js +55 -26
  79. package/dist/js/node/analyze/makeLegalIdentifier.js +27 -15
  80. package/dist/js/node/analyze/nestedRoutes.js +140 -67
  81. package/dist/js/node/analyze/templates.js +212 -84
  82. package/dist/js/node/analyze/utils.js +123 -62
  83. package/dist/js/node/builder/builderPlugins/compatModern.js +153 -120
  84. package/dist/js/node/builder/index.js +152 -98
  85. package/dist/js/node/builder/loaders/routerLoader.js +36 -0
  86. package/dist/js/node/builder/loaders/serverModuleLoader.js +26 -0
  87. package/dist/js/node/builder/share.js +46 -26
  88. package/dist/js/node/builder/webpackPlugins/htmlAsyncChunkPlugin.js +39 -26
  89. package/dist/js/node/builder/webpackPlugins/htmlBottomTemplate.js +47 -31
  90. package/dist/js/node/builder/webpackPlugins/routerPlugin.js +118 -90
  91. package/dist/js/node/commands/build.js +89 -52
  92. package/dist/js/node/commands/deploy.js +45 -10
  93. package/dist/js/node/commands/dev.js +115 -61
  94. package/dist/js/node/commands/index.js +19 -38
  95. package/dist/js/node/commands/inspect.js +48 -11
  96. package/dist/js/node/commands/start.js +65 -27
  97. package/dist/js/node/config/default.js +119 -118
  98. package/dist/js/node/config/index.js +25 -29
  99. package/dist/js/node/config/initial/createHtmlConfig.js +22 -6
  100. package/dist/js/node/config/initial/createOutputConfig.js +28 -13
  101. package/dist/js/node/config/initial/createSourceConfig.js +22 -6
  102. package/dist/js/node/config/initial/createToolsConfig.js +24 -10
  103. package/dist/js/node/config/initial/index.js +28 -17
  104. package/dist/js/node/config/initial/inits.js +126 -81
  105. package/dist/js/node/config/initial/transformNormalizedConfig.js +31 -15
  106. package/dist/js/node/defineConfig.js +43 -17
  107. package/dist/js/node/exports/server.js +21 -10
  108. package/dist/js/node/hooks.js +48 -29
  109. package/dist/js/node/index.js +225 -128
  110. package/dist/js/node/initialize/index.js +116 -61
  111. package/dist/js/node/locale/en.js +36 -25
  112. package/dist/js/node/locale/index.js +27 -15
  113. package/dist/js/node/locale/zh.js +37 -26
  114. package/dist/js/node/schema/Schema.js +23 -10
  115. package/dist/js/node/schema/index.js +77 -114
  116. package/dist/js/node/schema/legacy.js +117 -240
  117. package/dist/js/node/types/config/index.js +17 -16
  118. package/dist/js/node/types/index.js +19 -38
  119. package/dist/js/node/types/legacyConfig/output.js +0 -5
  120. package/dist/js/node/utils/commands.js +21 -6
  121. package/dist/js/node/utils/config.js +120 -51
  122. package/dist/js/node/utils/createFileWatcher.js +104 -60
  123. package/dist/js/node/utils/createServer.js +86 -25
  124. package/dist/js/node/utils/getSpecifiedEntries.js +64 -25
  125. package/dist/js/node/utils/language.js +24 -8
  126. package/dist/js/node/utils/printInstructions.js +47 -16
  127. package/dist/js/node/utils/restart.js +61 -21
  128. package/dist/js/node/utils/routes.js +53 -18
  129. package/dist/js/treeshaking/analyze/Builder.js +199 -0
  130. package/dist/js/treeshaking/analyze/constants.js +28 -16
  131. package/dist/js/treeshaking/analyze/generateCode.js +605 -355
  132. package/dist/js/treeshaking/analyze/getBundleEntry.js +55 -63
  133. package/dist/js/treeshaking/analyze/getClientRoutes/getRoutes.js +214 -168
  134. package/dist/js/treeshaking/analyze/getClientRoutes/getRoutesLegacy.js +215 -169
  135. package/dist/js/treeshaking/analyze/getClientRoutes/index.js +3 -2
  136. package/dist/js/treeshaking/analyze/getClientRoutes/utils.js +19 -20
  137. package/dist/js/treeshaking/analyze/getFileSystemEntry.js +89 -86
  138. package/dist/js/treeshaking/analyze/getHtmlTemplate.js +298 -125
  139. package/dist/js/treeshaking/analyze/getServerRoutes.js +210 -146
  140. package/dist/js/treeshaking/analyze/index.js +571 -304
  141. package/dist/js/treeshaking/analyze/isDefaultExportFunction.js +45 -26
  142. package/dist/js/treeshaking/analyze/makeLegalIdentifier.js +13 -16
  143. package/dist/js/treeshaking/analyze/nestedRoutes.js +414 -160
  144. package/dist/js/treeshaking/analyze/templates.js +432 -161
  145. package/dist/js/treeshaking/analyze/utils.js +361 -80
  146. package/dist/js/treeshaking/builder/builderPlugins/compatModern.js +282 -195
  147. package/dist/js/treeshaking/builder/index.js +371 -167
  148. package/dist/js/treeshaking/builder/loaders/routerLoader.js +13 -0
  149. package/dist/js/treeshaking/builder/loaders/serverModuleLoader.js +5 -0
  150. package/dist/js/treeshaking/builder/share.js +38 -44
  151. package/dist/js/treeshaking/builder/webpackPlugins/htmlAsyncChunkPlugin.js +108 -44
  152. package/dist/js/treeshaking/builder/webpackPlugins/htmlBottomTemplate.js +70 -39
  153. package/dist/js/treeshaking/builder/webpackPlugins/routerPlugin.js +334 -112
  154. package/dist/js/treeshaking/commands/build.js +286 -88
  155. package/dist/js/treeshaking/commands/deploy.js +153 -25
  156. package/dist/js/treeshaking/commands/dev.js +318 -132
  157. package/dist/js/treeshaking/commands/index.js +1 -1
  158. package/dist/js/treeshaking/commands/inspect.js +147 -32
  159. package/dist/js/treeshaking/commands/start.js +190 -68
  160. package/dist/js/treeshaking/config/default.js +210 -199
  161. package/dist/js/treeshaking/config/index.js +3 -2
  162. package/dist/js/treeshaking/config/initial/createHtmlConfig.js +19 -31
  163. package/dist/js/treeshaking/config/initial/createOutputConfig.js +43 -67
  164. package/dist/js/treeshaking/config/initial/createSourceConfig.js +37 -40
  165. package/dist/js/treeshaking/config/initial/createToolsConfig.js +23 -38
  166. package/dist/js/treeshaking/config/initial/index.js +10 -9
  167. package/dist/js/treeshaking/config/initial/inits.js +205 -106
  168. package/dist/js/treeshaking/config/initial/transformNormalizedConfig.js +27 -34
  169. package/dist/js/treeshaking/defineConfig.js +60 -13
  170. package/dist/js/treeshaking/exports/server.js +2 -1
  171. package/dist/js/treeshaking/hooks.js +30 -25
  172. package/dist/js/treeshaking/index.js +681 -256
  173. package/dist/js/treeshaking/initialize/index.js +290 -112
  174. package/dist/js/treeshaking/locale/en.js +34 -33
  175. package/dist/js/treeshaking/locale/index.js +5 -5
  176. package/dist/js/treeshaking/locale/zh.js +34 -33
  177. package/dist/js/treeshaking/schema/Schema.js +267 -69
  178. package/dist/js/treeshaking/schema/index.js +165 -121
  179. package/dist/js/treeshaking/schema/legacy.js +323 -256
  180. package/dist/js/treeshaking/types/config/deploy.js +1 -0
  181. package/dist/js/treeshaking/types/config/dev.js +1 -0
  182. package/dist/js/treeshaking/types/config/experiments.js +1 -0
  183. package/dist/js/treeshaking/types/config/html.js +1 -0
  184. package/dist/js/treeshaking/types/config/index.js +0 -1
  185. package/dist/js/treeshaking/types/config/output.js +1 -0
  186. package/dist/js/treeshaking/types/config/performance.js +1 -0
  187. package/dist/js/treeshaking/types/config/security.js +1 -0
  188. package/dist/js/treeshaking/types/config/source.js +1 -0
  189. package/dist/js/treeshaking/types/config/tools.js +1 -0
  190. package/dist/js/treeshaking/types/hooks.js +1 -0
  191. package/dist/js/treeshaking/types/index.js +0 -1
  192. package/dist/js/treeshaking/types/legacyConfig/deploy.js +1 -0
  193. package/dist/js/treeshaking/types/legacyConfig/dev.js +1 -0
  194. package/dist/js/treeshaking/types/legacyConfig/index.js +1 -0
  195. package/dist/js/treeshaking/types/legacyConfig/output.js +1 -1
  196. package/dist/js/treeshaking/types/legacyConfig/source.js +1 -0
  197. package/dist/js/treeshaking/types/legacyConfig/tools.js +1 -0
  198. package/dist/js/treeshaking/utils/commands.js +6 -5
  199. package/dist/js/treeshaking/utils/config.js +295 -117
  200. package/dist/js/treeshaking/utils/createFileWatcher.js +278 -118
  201. package/dist/js/treeshaking/utils/createServer.js +252 -67
  202. package/dist/js/treeshaking/utils/getSpecifiedEntries.js +182 -55
  203. package/dist/js/treeshaking/utils/language.js +6 -5
  204. package/dist/js/treeshaking/utils/printInstructions.js +151 -29
  205. package/dist/js/treeshaking/utils/restart.js +184 -42
  206. package/dist/js/treeshaking/utils/routes.js +151 -27
  207. package/dist/js/treeshaking/utils/types.js +1 -0
  208. package/dist/types/analyze/Builder.d.ts +8 -0
  209. package/dist/types/analyze/constants.d.ts +2 -0
  210. package/dist/types/analyze/index.d.ts +2 -0
  211. package/dist/types/analyze/templates.d.ts +10 -7
  212. package/dist/types/analyze/utils.d.ts +9 -1
  213. package/dist/types/builder/builderPlugins/compatModern.d.ts +2 -1
  214. package/dist/types/builder/index.d.ts +3 -3
  215. package/dist/types/builder/loaders/routerLoader.d.ts +3 -0
  216. package/dist/types/builder/loaders/serverModuleLoader.d.ts +3 -0
  217. package/dist/types/builder/webpackPlugins/routerPlugin.d.ts +1 -7
  218. package/dist/types/defineConfig.d.ts +1 -0
  219. package/dist/types/index.d.ts +6 -1
  220. package/dist/types/initialize/index.d.ts +2 -0
  221. package/dist/types/types/config/dev.d.ts +2 -2
  222. package/dist/types/types/config/index.d.ts +1 -0
  223. package/dist/types/types/config/output.d.ts +0 -1
  224. package/dist/types/types/config/source.d.ts +1 -0
  225. package/dist/types/types/config/tools.d.ts +10 -1
  226. package/dist/types/types/hooks.d.ts +7 -1
  227. package/dist/types/types/legacyConfig/dev.d.ts +1 -0
  228. package/dist/types/types/legacyConfig/output.d.ts +1 -1
  229. package/dist/types/types/legacyConfig/source.d.ts +1 -0
  230. package/dist/types/types/legacyConfig/tools.d.ts +1 -0
  231. package/dist/types/utils/config.d.ts +1 -0
  232. package/dist/types/utils/createFileWatcher.d.ts +2 -1
  233. package/dist/types/utils/createServer.d.ts +1 -0
  234. package/dist/types/utils/restart.d.ts +1 -1
  235. package/lib/types.d.ts +1 -1
  236. package/package.json +26 -22
@@ -7,7 +7,8 @@ declare type FnParameter<T extends {
7
7
  }> = { [P in keyof T]: Parameter<T[P]> };
8
8
  export declare type PluginCompatModernOptions = FnParameter<Partial<Pick<BuilderPluginAPI, 'onAfterBuild' | 'onAfterCreateCompiler' | 'onAfterStartDevServer' | 'onBeforeBuild' | 'onBeforeCreateCompiler' | 'onBeforeStartDevServer' | 'onDevCompileDone' | 'onExit'>>>;
9
9
  /**
10
- * Provides default configuration consistent with `@modern-js/webpack`
10
+ * Provides default configuration consistent with modern.js v1
11
11
  */
12
+
12
13
  export declare const PluginCompatModern: (appContext: IAppContext, modernConfig: AppNormalizedConfig, options?: PluginCompatModernOptions) => BuilderPlugin<BuilderPluginAPI>;
13
14
  export {};
@@ -1,5 +1,5 @@
1
1
  import { BuilderInstance, BuilderTarget, CreateBuilderOptions } from '@modern-js/builder';
2
- import { BuilderConfig } from '@modern-js/builder-webpack-provider';
2
+ import { BuilderConfig, BuilderWebpackProvider } from '@modern-js/builder-webpack-provider';
3
3
  import type { IAppContext } from '@modern-js/core';
4
4
  import type { AppNormalizedConfig } from '../types';
5
5
  import { PluginCompatModernOptions } from './builderPlugins/compatModern';
@@ -9,10 +9,10 @@ export declare type BuilderOptions = {
9
9
  appContext: IAppContext;
10
10
  compatPluginConfig?: PluginCompatModernOptions;
11
11
  };
12
- export declare function createBuilderForEdenX({
12
+ export declare function createBuilderForModern({
13
13
  normalizedConfig,
14
14
  appContext,
15
15
  compatPluginConfig
16
- }: BuilderOptions): Promise<BuilderInstance>;
16
+ }: BuilderOptions): Promise<BuilderInstance<BuilderWebpackProvider>>;
17
17
  export declare function createBuilderProviderConfig(normalizedConfig: AppNormalizedConfig, appContext: IAppContext): BuilderConfig;
18
18
  export declare function createBuilderOptions(target: BuilderTarget | BuilderTarget[], appContext: IAppContext): CreateBuilderOptions;
@@ -0,0 +1,3 @@
1
+ import type { LoaderContext } from 'webpack';
2
+ declare function loader(this: LoaderContext<void>, source: string): string;
3
+ export default loader;
@@ -0,0 +1,3 @@
1
+ import { LoaderContext } from 'webpack';
2
+ declare function loader(this: LoaderContext<void>): string;
3
+ export default loader;
@@ -1,10 +1,4 @@
1
1
  import type { Compiler } from 'webpack';
2
- interface Options {
3
- existNestedRoutes: boolean;
4
- }
5
2
  export default class RouterPlugin {
6
- private existNestedRoutes;
7
- constructor(options: Options);
8
3
  apply(compiler: Compiler): void;
9
- }
10
- export {};
4
+ }
@@ -4,4 +4,5 @@ export declare const defineConfig: (config: AppUserConfig) => AppUserConfig;
4
4
  * @deprecated
5
5
  * Using defineConfig first.
6
6
  */
7
+
7
8
  export declare const defineLegacyConfig: (config: AppLegacyUserConfig) => AppLegacyUserConfig;
@@ -1,6 +1,11 @@
1
- import { CliPlugin } from '@modern-js/core';
1
+ import { Command } from '@modern-js/utils';
2
+ import { CliPlugin, PluginAPI } from '@modern-js/core';
2
3
  import { AppTools } from './types';
3
4
  export * from './defineConfig';
4
5
  export * from './types';
6
+ export declare const devCommand: (program: Command, api: PluginAPI<AppTools>) => Promise<void>;
7
+ export declare const buildCommand: (program: Command, api: PluginAPI<AppTools>) => Promise<void>;
8
+
5
9
  declare const _default: () => CliPlugin<AppTools>;
10
+
6
11
  export default _default;
@@ -1,3 +1,5 @@
1
1
  import { CliPlugin, AppTools } from '../types';
2
+
2
3
  declare const _default: () => CliPlugin<AppTools>;
4
+
3
5
  export default _default;
@@ -1,7 +1,7 @@
1
1
  import type { BuilderConfig } from '@modern-js/builder-webpack-provider';
2
- declare type BuilderEnvConfig = Required<BuilderConfig>['dev'];
2
+ declare type BuilderDevConfig = Required<BuilderConfig>['dev'];
3
3
  export declare type DevProxyOptions = string | Record<string, string>;
4
- export interface DevUserConfig extends Pick<BuilderEnvConfig, 'assetPrefix' | 'https'> {
4
+ export interface DevUserConfig extends Omit<BuilderDevConfig, 'port'> {
5
5
  /**
6
6
  * The configuration of `dev.proxy` is provided by `proxy` plugin.
7
7
  * Please use `yarn new` or `pnpm new` to enable the corresponding capability.
@@ -37,6 +37,7 @@ export interface AppToolsUserConfig {
37
37
  * Please use `yarn new` or `pnpm new` to enable the corresponding capability.
38
38
  * @requires `bff` plugin
39
39
  */
40
+
40
41
  bff?: BffUserConfig;
41
42
  }
42
43
  export declare type AppToolsNormalizedConfig = {
@@ -2,7 +2,6 @@ import type { BuilderConfig } from '@modern-js/builder-webpack-provider';
2
2
  export declare type BuilderOutputConfig = Required<BuilderConfig>['output'];
3
3
  export interface OutputUserConfig extends BuilderOutputConfig {
4
4
  ssg?: SSGConfig;
5
- enableModernMode?: boolean;
6
5
  disableNodePolyfill?: boolean;
7
6
  }
8
7
  export declare type OutputNormalizedConfig = OutputUserConfig;
@@ -17,6 +17,7 @@ export interface SourceUserConfig extends BuilderSourceConfig {
17
17
  * Please use `yarn new` or `pnpm new` to enable the corresponding capability.
18
18
  * @requires `tailwindcss` plugin
19
19
  */
20
+
20
21
  designSystem?: Record<string, any>;
21
22
  }
22
23
  export declare type SourceNormalizedConfig = SourceUserConfig;
@@ -1,15 +1,24 @@
1
1
  import type { BuilderConfig } from '@modern-js/builder-webpack-provider';
2
2
  import type { JestConfig } from '@modern-js/core';
3
+ import type { PluginSwcOptions } from '@modern-js/builder-plugin-swc';
4
+ import type { PluginEsbuildOptions } from '@modern-js/builder-plugin-esbuild';
3
5
  export declare type BuilderToolsConfig = Required<BuilderConfig>['tools'];
4
6
  /**
5
7
  * The configuration of `tools.tailwindcss` is provided by `tailwindcss` plugin.
6
8
  * Please use `yarn new` or `pnpm new` to enable the corresponding capability.
7
9
  * @requires `tailwindcss` plugin
8
10
  */
11
+
9
12
  export declare type Tailwindcss = Record<string, any> | ((options: Record<string, any>) => Record<string, any> | void);
10
13
  export interface ToolsUserConfig extends BuilderToolsConfig {
11
14
  tailwindcss?: Tailwindcss;
12
15
  jest?: JestConfig | ((jestConfig: JestConfig) => JestConfig);
13
- esbuild?: Record<string, unknown>;
16
+ esbuild?: PluginEsbuildOptions;
17
+ /**
18
+ * The configuration of `swc` is provided by `swc` plugin.
19
+ * @requires `swc` plugin
20
+ */
21
+
22
+ swc?: PluginSwcOptions;
14
23
  }
15
24
  export declare type ToolsNormalizedConfig = ToolsUserConfig;
@@ -1,6 +1,8 @@
1
1
  import type { webpack } from '@modern-js/builder-webpack-provider';
2
2
  import type { AsyncWaterfall, AsyncWorkflow, ParallelWorkflow } from '@modern-js/plugin';
3
3
  import type { Entrypoint, HtmlPartials, NestedRoute, PageRoute, RouteLegacy, ServerRoute } from '@modern-js/types';
4
+ import type { RegisterBuildPlatformResult, DevToolData } from '@modern-js/core';
5
+ import type { Stats, MultiStats } from '@modern-js/builder-shared';
4
6
  export interface ImportSpecifier {
5
7
  local?: string;
6
8
  imported?: string;
@@ -67,7 +69,7 @@ export declare type AppToolsHooks = {
67
69
  bundlerConfigs?: webpack.Configuration[];
68
70
  }, unknown>;
69
71
  afterBuild: AsyncWorkflow<{
70
- stats?: webpack.Stats | webpack.MultiStats;
72
+ stats?: Stats | MultiStats;
71
73
  }, unknown>;
72
74
  beforeDeploy: AsyncWorkflow<Record<string, any>, unknown>;
73
75
  afterDeploy: AsyncWorkflow<Record<string, any>, unknown>;
@@ -77,4 +79,8 @@ export declare type AppToolsHooks = {
77
79
  eventType: 'add' | 'change' | 'unlink';
78
80
  }, void>;
79
81
  beforeRestart: AsyncWorkflow<void, void>;
82
+ registerDev: ParallelWorkflow<void, DevToolData>;
83
+ beforeDevTask: ParallelWorkflow<DevToolData, void>;
84
+ registerBuildPlatform: ParallelWorkflow<void, RegisterBuildPlatformResult>;
85
+ beforeBuildPlatform: ParallelWorkflow<RegisterBuildPlatformResult[], void>;
80
86
  };
@@ -8,5 +8,6 @@ export declare type DevUserLegacyConfig = {
8
8
  * Please use `yarn new` or `pnpm new` to enable the corresponding capability.
9
9
  * @requires `proxy` plugin
10
10
  */
11
+
11
12
  proxy?: DevProxyOptions;
12
13
  };
@@ -38,7 +38,6 @@ export declare type OutputLegacyUserConfig = {
38
38
  templateParametersByEntries?: Record<string, Record<string, unknown>>;
39
39
  crossorigin?: boolean | CrossOrigin;
40
40
  cssModuleLocalIdentName?: string;
41
- enableModernMode?: boolean;
42
41
  disableNodePolyfill?: boolean;
43
42
  enableTsLoader?: boolean;
44
43
  /**
@@ -46,6 +45,7 @@ export declare type OutputLegacyUserConfig = {
46
45
  * Please use `yarn new` or `pnpm new` to enable the corresponding capability.
47
46
  * @requires `ssg` plugin
48
47
  */
48
+
49
49
  ssg?: SSGConfig;
50
50
  };
51
51
  export {};
@@ -21,5 +21,6 @@ export declare type SourceLegacyUserConfig = {
21
21
  * Please use `yarn new` or `pnpm new` to enable the corresponding capability.
22
22
  * @requires `tailwindcss` plugin
23
23
  */
24
+
24
25
  designSystem?: Record<string, any>;
25
26
  };
@@ -10,6 +10,7 @@ export declare type ToolsLegacyUserConfig = BuilderToolsConfig & {
10
10
  * Please use `yarn new` or `pnpm new` to enable the corresponding capability.
11
11
  * @requires `tailwindcss` plugin
12
12
  */
13
+
13
14
  tailwindcss?: Record<string, any> | ((options: Record<string, any>) => Record<string, any> | void);
14
15
  jest?: JestConfig | ((jestConfig: JestConfig) => JestConfig);
15
16
  };
@@ -17,5 +17,6 @@ export declare const buildServerConfig: ({
17
17
  *
18
18
  * 处理循环引用的 replacer
19
19
  */
20
+
20
21
  export declare const safeReplacer: () => (key: string, value: unknown) => unknown;
21
22
  export declare const emitResolvedConfig: (appDirectory: string, resolvedConfig: AppNormalizedConfig) => Promise<void>;
@@ -1,3 +1,4 @@
1
- import { IAppContext, ToRunners } from '@modern-js/core';
1
+ import type { IAppContext, ToRunners } from '@modern-js/core';
2
2
  import { AppToolsHooks } from '../types/hooks';
3
+ export declare const addServerConfigToDeps: (dependencies: string[], appDirectory: string, serverConfigFile: string) => Promise<void>;
3
4
  export declare const createFileWatcher: (appContext: IAppContext, configDir: string | undefined, hooksRunner: ToRunners<AppToolsHooks>) => Promise<import("@modern-js/utils").FSWatcher | undefined>;
@@ -1,6 +1,7 @@
1
1
  import { Server, ModernDevServerOptions } from '@modern-js/server';
2
2
  import type { InternalPlugins } from '@modern-js/types';
3
3
  export declare const getServer: () => Server | null;
4
+ export declare const setServer: (newServer: Server) => void;
4
5
  export declare const closeServer: () => Promise<void>;
5
6
  export declare const createServer: (options: ModernDevServerOptions) => Promise<Server>;
6
7
  export declare const injectDataLoaderPlugin: (internalPlugins: InternalPlugins) => {
@@ -1,3 +1,3 @@
1
1
  import { ToRunners } from '@modern-js/core';
2
2
  import { AppToolsHooks } from '../types/hooks';
3
- export declare function restart(hooksRunner: ToRunners<AppToolsHooks>): Promise<void>;
3
+ export declare function restart(hooksRunner: ToRunners<AppToolsHooks>, filename: string): Promise<void>;
package/lib/types.d.ts CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  declare namespace NodeJS {
7
7
  interface ProcessEnv {
8
- readonly NODE_ENV: 'development' | 'production' | 'test';
8
+ NODE_ENV: 'development' | 'production' | 'test';
9
9
  readonly PUBLIC_URL: string;
10
10
  }
11
11
  }
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "modern",
12
12
  "modern.js"
13
13
  ],
14
- "version": "2.0.0-beta.2",
14
+ "version": "2.0.0-beta.4",
15
15
  "jsnext:source": "./src/index.ts",
16
16
  "types": "./dist/types/index.d.ts",
17
17
  "main": "./dist/js/node/index.js",
@@ -52,30 +52,33 @@
52
52
  }
53
53
  },
54
54
  "bin": {
55
- "modern": "./bin/modern.js"
55
+ "modern": "./bin/modern.js",
56
+ "modern-app": "./bin/modern.js"
56
57
  },
57
58
  "dependencies": {
58
59
  "@babel/parser": "^7.18.0",
59
60
  "@babel/runtime": "^7.18.0",
60
61
  "@babel/traverse": "^7.18.0",
61
62
  "@babel/types": "^7.18.0",
62
- "@modern-js/builder": "2.0.0-beta.2",
63
- "@modern-js/builder-plugin-esbuild": "2.0.0-beta.2",
64
- "@modern-js/builder-plugin-node-polyfill": "2.0.0-beta.2",
65
- "@modern-js/builder-shared": "2.0.0-beta.2",
66
- "@modern-js/builder-webpack-provider": "2.0.0-beta.2",
67
- "@modern-js/core": "2.0.0-beta.2",
68
- "@modern-js/new-action": "2.0.0-beta.2",
69
- "@modern-js/node-bundle-require": "2.0.0-beta.2",
70
- "@modern-js/plugin": "2.0.0-beta.2",
71
- "@modern-js/plugin-data-loader": "2.0.0-beta.2",
72
- "@modern-js/plugin-i18n": "2.0.0-beta.2",
73
- "@modern-js/plugin-lint": "2.0.0-beta.2",
74
- "@modern-js/prod-server": "2.0.0-beta.2",
75
- "@modern-js/server": "2.0.0-beta.2",
76
- "@modern-js/types": "2.0.0-beta.2",
77
- "@modern-js/upgrade": "2.0.0-beta.2",
78
- "@modern-js/utils": "2.0.0-beta.2"
63
+ "es-module-lexer": "^1.1.0",
64
+ "esbuild": "0.15.7",
65
+ "@modern-js/builder": "2.0.0-beta.4",
66
+ "@modern-js/builder-plugin-esbuild": "2.0.0-beta.4",
67
+ "@modern-js/builder-plugin-node-polyfill": "2.0.0-beta.4",
68
+ "@modern-js/builder-shared": "2.0.0-beta.4",
69
+ "@modern-js/builder-webpack-provider": "2.0.0-beta.4",
70
+ "@modern-js/core": "2.0.0-beta.4",
71
+ "@modern-js/new-action": "2.0.0-beta.4",
72
+ "@modern-js/node-bundle-require": "2.0.0-beta.4",
73
+ "@modern-js/plugin": "2.0.0-beta.4",
74
+ "@modern-js/plugin-data-loader": "2.0.0-beta.4",
75
+ "@modern-js/plugin-i18n": "2.0.0-beta.4",
76
+ "@modern-js/plugin-lint": "2.0.0-beta.4",
77
+ "@modern-js/prod-server": "2.0.0-beta.4",
78
+ "@modern-js/server": "2.0.0-beta.4",
79
+ "@modern-js/types": "2.0.0-beta.4",
80
+ "@modern-js/upgrade": "2.0.0-beta.4",
81
+ "@modern-js/utils": "2.0.0-beta.4"
79
82
  },
80
83
  "devDependencies": {
81
84
  "@types/babel__traverse": "^7.14.2",
@@ -84,9 +87,10 @@
84
87
  "jest": "^27",
85
88
  "typescript": "^4",
86
89
  "webpack": "^5.75.0",
87
- "@modern-js/server-core": "2.0.0-beta.2",
88
- "@scripts/build": "2.0.0-beta.2",
89
- "@scripts/jest-config": "2.0.0-beta.2"
90
+ "@modern-js/builder-plugin-swc": "2.0.0-beta.4",
91
+ "@modern-js/server-core": "2.0.0-beta.4",
92
+ "@scripts/build": "2.0.0-beta.4",
93
+ "@scripts/jest-config": "2.0.0-beta.4"
90
94
  },
91
95
  "sideEffects": false,
92
96
  "publishConfig": {