@modern-js/app-tools 3.1.5 → 3.2.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.
@@ -56,6 +56,9 @@ function createBuilderProviderConfig(resolveConfig, appContext) {
56
56
  resolve: {
57
57
  ...resolveConfig.resolve
58
58
  },
59
+ source: {
60
+ ...resolveConfig.source
61
+ },
59
62
  dev: {
60
63
  ...resolveConfig.dev,
61
64
  port: appContext.port
@@ -81,6 +84,7 @@ function createBuilderProviderConfig(resolveConfig, appContext) {
81
84
  }
82
85
  }
83
86
  };
87
+ if (config.source?.enableAsyncEntry && config.source?.enableAsyncPreEntry) delete config.source.preEntry;
84
88
  modifyOutputConfig(config, appContext);
85
89
  return config;
86
90
  }
@@ -24,8 +24,8 @@ var __webpack_require__ = {};
24
24
  var __webpack_exports__ = {};
25
25
  __webpack_require__.r(__webpack_exports__);
26
26
  __webpack_require__.d(__webpack_exports__, {
27
- createUploadPattern: ()=>createUploadPattern,
28
- createPublicPattern: ()=>createPublicPattern
27
+ createPublicPattern: ()=>createPublicPattern,
28
+ createUploadPattern: ()=>createUploadPattern
29
29
  });
30
30
  const utils_namespaceObject = require("@modern-js/utils");
31
31
  const index_js_namespaceObject = require("../shared/index.js");
@@ -24,9 +24,9 @@ var __webpack_require__ = {};
24
24
  var __webpack_exports__ = {};
25
25
  __webpack_require__.r(__webpack_exports__);
26
26
  __webpack_require__.d(__webpack_exports__, {
27
- createBuilderGenerator: ()=>createBuilderGenerator,
28
27
  builderPluginAdapterBasic: ()=>index_js_namespaceObject.builderPluginAdapterBasic,
29
28
  builderPluginAdapterHooks: ()=>index_js_namespaceObject.builderPluginAdapterHooks,
29
+ createBuilderGenerator: ()=>createBuilderGenerator,
30
30
  parseRspackConfig: ()=>builder_namespaceObject.parseRspackConfig
31
31
  });
32
32
  const builder_namespaceObject = require("@modern-js/builder");
@@ -24,12 +24,12 @@ var __webpack_require__ = {};
24
24
  var __webpack_exports__ = {};
25
25
  __webpack_require__.r(__webpack_exports__);
26
26
  __webpack_require__.d(__webpack_exports__, {
27
+ buildCommand: ()=>buildCommand,
27
28
  deployCommand: ()=>deployCommand,
28
29
  devCommand: ()=>devCommand,
29
30
  infoCommand: ()=>infoCommand,
30
31
  inspectCommand: ()=>inspectCommand,
31
- serverCommand: ()=>serverCommand,
32
- buildCommand: ()=>buildCommand
32
+ serverCommand: ()=>serverCommand
33
33
  });
34
34
  const index_js_namespaceObject = require("../locale/index.js");
35
35
  const devCommand = async (program, api)=>{
@@ -24,9 +24,9 @@ var __webpack_require__ = {};
24
24
  var __webpack_exports__ = {};
25
25
  __webpack_require__.r(__webpack_exports__);
26
26
  __webpack_require__.d(__webpack_exports__, {
27
+ transformHookParams: ()=>transformHookParams,
27
28
  transformHookResult: ()=>transformHookResult,
28
- transformHookRunner: ()=>transformHookRunner,
29
- transformHookParams: ()=>transformHookParams
29
+ transformHookRunner: ()=>transformHookRunner
30
30
  });
31
31
  const getHtmlTemplate_js_namespaceObject = require("../plugins/analyze/getHtmlTemplate.js");
32
32
  function transformHookRunner(hookRunnerName) {
@@ -52,6 +52,7 @@ function createDefaultConfig(appContext) {
52
52
  entries: void 0,
53
53
  mainEntryName: utils_namespaceObject.DEFAULT_ENTRY_NAME,
54
54
  enableAsyncEntry: false,
55
+ enableAsyncPreEntry: false,
55
56
  disableDefaultEntries: false,
56
57
  entriesDir: './src',
57
58
  configDir: './config',
@@ -24,8 +24,8 @@ var __webpack_require__ = {};
24
24
  var __webpack_exports__ = {};
25
25
  __webpack_require__.r(__webpack_exports__);
26
26
  __webpack_require__.d(__webpack_exports__, {
27
- load: ()=>load,
28
27
  initialize: ()=>initialize,
28
+ load: ()=>load,
29
29
  resolve: ()=>resolve
30
30
  });
31
31
  const external_url_namespaceObject = require("url");
@@ -34,8 +34,8 @@ var __webpack_exports__ = {};
34
34
  __webpack_require__.r(__webpack_exports__);
35
35
  __webpack_require__.d(__webpack_exports__, {
36
36
  getFileSystemEntry: ()=>getFileSystemEntry,
37
- hasServerEntry: ()=>hasServerEntry,
38
- hasEntry: ()=>hasEntry
37
+ hasEntry: ()=>hasEntry,
38
+ hasServerEntry: ()=>hasServerEntry
39
39
  });
40
40
  const external_fs_namespaceObject = require("fs");
41
41
  var external_fs_default = /*#__PURE__*/ __webpack_require__.n(external_fs_namespaceObject);
@@ -33,13 +33,13 @@ var __webpack_require__ = {};
33
33
  var __webpack_exports__ = {};
34
34
  __webpack_require__.r(__webpack_exports__);
35
35
  __webpack_require__.d(__webpack_exports__, {
36
- parseModule: ()=>parseModule,
36
+ checkIsBuildCommands: ()=>checkIsBuildCommands,
37
37
  checkIsServeCommand: ()=>checkIsServeCommand,
38
- replaceWithAlias: ()=>replaceWithAlias,
39
38
  getServerCombinedModuleFile: ()=>getServerCombinedModuleFile,
40
- walkDirectory: ()=>walkDirectory,
41
39
  isSubDirOrEqual: ()=>isSubDirOrEqual,
42
- checkIsBuildCommands: ()=>checkIsBuildCommands
40
+ parseModule: ()=>parseModule,
41
+ replaceWithAlias: ()=>replaceWithAlias,
42
+ walkDirectory: ()=>walkDirectory
43
43
  });
44
44
  const external_fs_namespaceObject = require("fs");
45
45
  var external_fs_default = /*#__PURE__*/ __webpack_require__.n(external_fs_namespaceObject);
@@ -33,11 +33,11 @@ var __webpack_require__ = {};
33
33
  var __webpack_exports__ = {};
34
34
  __webpack_require__.r(__webpack_exports__);
35
35
  __webpack_require__.d(__webpack_exports__, {
36
- serverAppContextTemplate: ()=>serverAppContextTemplate,
37
- getPluginsCode: ()=>getPluginsCode,
38
36
  genPluginImportsCode: ()=>genPluginImportsCode,
39
37
  generateHandler: ()=>generateHandler,
40
- getServerConfigPath: ()=>getServerConfigPath
38
+ getPluginsCode: ()=>getPluginsCode,
39
+ getServerConfigPath: ()=>getServerConfigPath,
40
+ serverAppContextTemplate: ()=>serverAppContextTemplate
41
41
  });
42
42
  const external_node_path_namespaceObject = require("node:path");
43
43
  var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
@@ -33,8 +33,8 @@ var __webpack_require__ = {};
33
33
  var __webpack_exports__ = {};
34
34
  __webpack_require__.r(__webpack_exports__);
35
35
  __webpack_require__.d(__webpack_exports__, {
36
- getTemplatePath: ()=>getTemplatePath,
37
36
  getProjectUsage: ()=>getProjectUsage,
37
+ getTemplatePath: ()=>getTemplatePath,
38
38
  normalizePath: ()=>normalizePath,
39
39
  readTemplate: ()=>readTemplate,
40
40
  resolveESMDependency: ()=>resolveESMDependency
@@ -24,9 +24,9 @@ var __webpack_require__ = {};
24
24
  var __webpack_exports__ = {};
25
25
  __webpack_require__.r(__webpack_exports__);
26
26
  __webpack_require__.d(__webpack_exports__, {
27
- loadServerPlugins: ()=>loadServerPlugins,
28
27
  getServerPlugins: ()=>getServerPlugins,
29
- loadInternalPlugins: ()=>loadInternalPlugins
28
+ loadInternalPlugins: ()=>loadInternalPlugins,
29
+ loadServerPlugins: ()=>loadServerPlugins
30
30
  });
31
31
  const prod_server_namespaceObject = require("@modern-js/prod-server");
32
32
  const utils_namespaceObject = require("@modern-js/utils");
@@ -33,8 +33,8 @@ var __webpack_require__ = {};
33
33
  var __webpack_exports__ = {};
34
34
  __webpack_require__.r(__webpack_exports__);
35
35
  __webpack_require__.d(__webpack_exports__, {
36
- setupTsRuntime: ()=>setupTsRuntime,
37
- resolveTsRuntimeRegisterMode: ()=>resolveTsRuntimeRegisterMode
36
+ resolveTsRuntimeRegisterMode: ()=>resolveTsRuntimeRegisterMode,
37
+ setupTsRuntime: ()=>setupTsRuntime
38
38
  });
39
39
  const external_node_path_namespaceObject = require("node:path");
40
40
  var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
@@ -28,6 +28,9 @@ function createBuilderProviderConfig(resolveConfig, appContext) {
28
28
  resolve: {
29
29
  ...resolveConfig.resolve
30
30
  },
31
+ source: {
32
+ ...resolveConfig.source
33
+ },
31
34
  dev: {
32
35
  ...resolveConfig.dev,
33
36
  port: appContext.port
@@ -53,6 +56,7 @@ function createBuilderProviderConfig(resolveConfig, appContext) {
53
56
  }
54
57
  }
55
58
  };
59
+ if (config.source?.enableAsyncEntry && config.source?.enableAsyncPreEntry) delete config.source.preEntry;
56
60
  modifyOutputConfig(config, appContext);
57
61
  return config;
58
62
  }
@@ -24,6 +24,7 @@ function createDefaultConfig(appContext) {
24
24
  entries: void 0,
25
25
  mainEntryName: DEFAULT_ENTRY_NAME,
26
26
  enableAsyncEntry: false,
27
+ enableAsyncPreEntry: false,
27
28
  disableDefaultEntries: false,
28
29
  entriesDir: './src',
29
30
  configDir: './config',
@@ -29,6 +29,9 @@ function createBuilderProviderConfig(resolveConfig, appContext) {
29
29
  resolve: {
30
30
  ...resolveConfig.resolve
31
31
  },
32
+ source: {
33
+ ...resolveConfig.source
34
+ },
32
35
  dev: {
33
36
  ...resolveConfig.dev,
34
37
  port: appContext.port
@@ -54,6 +57,7 @@ function createBuilderProviderConfig(resolveConfig, appContext) {
54
57
  }
55
58
  }
56
59
  };
60
+ if (config.source?.enableAsyncEntry && config.source?.enableAsyncPreEntry) delete config.source.preEntry;
57
61
  modifyOutputConfig(config, appContext);
58
62
  return config;
59
63
  }
@@ -25,6 +25,7 @@ function createDefaultConfig(appContext) {
25
25
  entries: void 0,
26
26
  mainEntryName: DEFAULT_ENTRY_NAME,
27
27
  enableAsyncEntry: false,
28
+ enableAsyncPreEntry: false,
28
29
  disableDefaultEntries: false,
29
30
  entriesDir: './src',
30
31
  configDir: './config',
@@ -15,6 +15,11 @@ export type Entry = string | {
15
15
  };
16
16
  export type Entries = Record<string, Entry>;
17
17
  export interface SourceUserConfig extends NonNullable<BuilderConfig['source']> {
18
+ /**
19
+ * Add code before each page entry. It will be executed before the page code.
20
+ * @default []
21
+ */
22
+ preEntry?: string | string[];
18
23
  /**
19
24
  * Used to configure custom page entries.
20
25
  */
@@ -30,6 +35,15 @@ export interface SourceUserConfig extends NonNullable<BuilderConfig['source']> {
30
35
  * @default false
31
36
  */
32
37
  enableAsyncEntry?: boolean;
38
+ /**
39
+ * When enabled, framework will inject `source.preEntry` into the top of the
40
+ * auto-generated entry file (`index.jsx`) and will not pass `source.preEntry`
41
+ * to builder config.
42
+ * This is useful when `source.enableAsyncEntry` is enabled and you still want
43
+ * preEntry to run before the real entry code.
44
+ * @default false
45
+ */
46
+ enableAsyncPreEntry?: boolean;
33
47
  /**
34
48
  * Used to disable the functionality of automatically identifying page entry points based on directory structure.
35
49
  * @default false
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "modern",
16
16
  "modern.js"
17
17
  ],
18
- "version": "3.1.5",
18
+ "version": "3.2.0",
19
19
  "types": "./dist/types/index.d.ts",
20
20
  "main": "./dist/cjs/index.js",
21
21
  "exports": {
@@ -80,11 +80,11 @@
80
80
  "modern-app": "./bin/modern.js"
81
81
  },
82
82
  "dependencies": {
83
- "@babel/parser": "^7.29.2",
83
+ "@babel/parser": "^7.29.3",
84
84
  "@babel/traverse": "^7.29.0",
85
85
  "@babel/types": "^7.29.0",
86
86
  "@rsbuild/core": "2.0.0",
87
- "@swc/core": "1.15.11",
87
+ "@swc/core": "1.15.33",
88
88
  "@swc/helpers": "^0.5.17",
89
89
  "es-module-lexer": "^1.7.0",
90
90
  "import-meta-resolve": "^4.2.0",
@@ -93,26 +93,26 @@
93
93
  "ndepe": "^0.1.13",
94
94
  "pkg-types": "^1.3.1",
95
95
  "std-env": "^3.10.0",
96
- "@modern-js/builder": "3.1.5",
97
- "@modern-js/i18n-utils": "3.1.5",
98
- "@modern-js/prod-server": "3.1.5",
99
- "@modern-js/plugin-data-loader": "3.1.5",
100
- "@modern-js/plugin": "3.1.5",
101
- "@modern-js/server": "3.1.5",
102
- "@modern-js/server-core": "3.1.5",
103
- "@modern-js/types": "3.1.5",
104
- "@modern-js/server-utils": "3.1.5",
105
- "@modern-js/utils": "3.1.5"
96
+ "@modern-js/i18n-utils": "3.2.0",
97
+ "@modern-js/builder": "3.2.0",
98
+ "@modern-js/plugin": "3.2.0",
99
+ "@modern-js/plugin-data-loader": "3.2.0",
100
+ "@modern-js/server": "3.2.0",
101
+ "@modern-js/server-core": "3.2.0",
102
+ "@modern-js/prod-server": "3.2.0",
103
+ "@modern-js/types": "3.2.0",
104
+ "@modern-js/server-utils": "3.2.0",
105
+ "@modern-js/utils": "3.2.0"
106
106
  },
107
107
  "devDependencies": {
108
- "@rslib/core": "0.21.2",
108
+ "@rslib/core": "0.21.4",
109
109
  "@types/babel__traverse": "7.28.0",
110
110
  "@types/node": "^20",
111
111
  "ts-node": "^10.9.2",
112
112
  "tsconfig-paths": "^4.2.0",
113
113
  "typescript": "^5",
114
- "@modern-js/rslib": "2.68.10",
115
- "@scripts/rstest-config": "2.66.0"
114
+ "@scripts/rstest-config": "2.66.0",
115
+ "@modern-js/rslib": "2.68.10"
116
116
  },
117
117
  "peerDependencies": {
118
118
  "ts-node": "^10.9.2",