@bleedingdev/modern-js-builder 3.2.0-ultramodern.12 → 3.2.0-ultramodern.120

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.
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
8
- });
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
9
13
  };
10
14
  })();
11
15
  (()=>{
package/dist/cjs/index.js CHANGED
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
8
- });
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
9
13
  };
10
14
  })();
11
15
  (()=>{
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
8
- });
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
9
13
  };
10
14
  })();
11
15
  (()=>{
@@ -23,9 +27,6 @@ var __webpack_require__ = {};
23
27
  })();
24
28
  var __webpack_exports__ = {};
25
29
  __webpack_require__.r(__webpack_exports__);
26
- __webpack_require__.d(__webpack_exports__, {
27
- pluginDevtool: ()=>pluginDevtool
28
- });
29
30
  const pluginDevtool = (options)=>({
30
31
  name: 'builder:devtool',
31
32
  setup (api) {
@@ -38,6 +39,9 @@ const pluginDevtool = (options)=>({
38
39
  });
39
40
  }
40
41
  });
42
+ __webpack_require__.d(__webpack_exports__, {}, {
43
+ pluginDevtool: pluginDevtool
44
+ });
41
45
  exports.pluginDevtool = __webpack_exports__.pluginDevtool;
42
46
  for(var __rspack_i in __webpack_exports__)if (-1 === [
43
47
  "pluginDevtool"
@@ -10,11 +10,15 @@ var __webpack_require__ = {};
10
10
  };
11
11
  })();
12
12
  (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
18
22
  };
19
23
  })();
20
24
  (()=>{
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
8
- });
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
9
13
  };
10
14
  })();
11
15
  (()=>{
@@ -84,7 +88,11 @@ const pluginEnvironmentDefaults = (distPath = {})=>({
84
88
  });
85
89
  api.modifyBundlerChain(async (chain, { environment })=>{
86
90
  const isServiceWorker = environment.name === utils_js_namespaceObject.SERVICE_WORKER_ENVIRONMENT_NAME;
87
- if (isServiceWorker) chain.output.library({
91
+ if (isServiceWorker && true === chain.output.get('module')) chain.output.library({
92
+ ...chain.output.get('library') || {},
93
+ type: 'module'
94
+ });
95
+ else if (isServiceWorker) chain.output.library({
88
96
  ...chain.output.get('library') || {},
89
97
  type: 'commonjs2'
90
98
  });
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
8
- });
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
9
13
  };
10
14
  })();
11
15
  (()=>{
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
8
- });
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
9
13
  };
10
14
  })();
11
15
  (()=>{
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
8
- });
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
9
13
  };
10
14
  })();
11
15
  (()=>{
@@ -13,11 +13,15 @@ var __webpack_require__ = {};
13
13
  };
14
14
  })();
15
15
  (()=>{
16
- __webpack_require__.d = (exports1, definition)=>{
17
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
18
- enumerable: true,
19
- get: definition[key]
20
- });
16
+ __webpack_require__.d = (exports1, getters, values)=>{
17
+ var define = (defs, kind)=>{
18
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
19
+ enumerable: true,
20
+ [kind]: defs[key]
21
+ });
22
+ };
23
+ define(getters, "get");
24
+ define(values, "value");
21
25
  };
22
26
  })();
23
27
  (()=>{
@@ -10,11 +10,15 @@ var __webpack_require__ = {};
10
10
  };
11
11
  })();
12
12
  (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
18
22
  };
19
23
  })();
20
24
  (()=>{
@@ -39,6 +43,9 @@ __webpack_require__.d(__webpack_exports__, {
39
43
  const external_path_namespaceObject = require("path");
40
44
  var external_path_default = /*#__PURE__*/ __webpack_require__.n(external_path_namespaceObject);
41
45
  const ASYNC_STORAGE_PATTERN = /universal[/\\]async_storage/;
46
+ const SERVER_LOADER_ENTRY_PATTERN = /[/\\](?:server-loader-combined|route-server-loaders)\.js$/;
47
+ const RENDER_RSC_SOURCE_PATTERN = /render[/\\].*[/\\]server[/\\]rsc/;
48
+ const RENDER_RSC_RSLIB_ENTRY_PATTERN = /render[/\\]dist[/\\]esm[/\\]rsc\.mjs$/;
42
49
  const RSC_COMMON_LAYER = 'rsc-common';
43
50
  const ENTRY_NAME_VAR = '__MODERN_JS_ENTRY_NAME';
44
51
  const createVirtualModule = (content)=>`data:text/javascript,${encodeURIComponent(content)}`;
@@ -136,8 +143,10 @@ async function getRscPlugins(enableRsc, internalDirectory) {
136
143
  return [
137
144
  pluginRSC({
138
145
  layers: {
146
+ ssr: SERVER_LOADER_ENTRY_PATTERN,
139
147
  rsc: [
140
- /render[/\\].*[/\\]server[/\\]rsc/,
148
+ RENDER_RSC_SOURCE_PATTERN,
149
+ RENDER_RSC_RSLIB_ENTRY_PATTERN,
141
150
  /AppProxy/,
142
151
  routesFileReg
143
152
  ]
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
8
- });
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
9
13
  };
10
14
  })();
11
15
  (()=>{
@@ -23,9 +27,6 @@ var __webpack_require__ = {};
23
27
  })();
24
28
  var __webpack_exports__ = {};
25
29
  __webpack_require__.r(__webpack_exports__);
26
- __webpack_require__.d(__webpack_exports__, {
27
- pluginRsdoctor: ()=>pluginRsdoctor
28
- });
29
30
  const isRsdoctorEnabled = (config)=>{
30
31
  if (void 0 === config) return false;
31
32
  if ('boolean' == typeof config) return config;
@@ -55,6 +56,9 @@ const pluginRsdoctor = (config)=>{
55
56
  }
56
57
  };
57
58
  };
59
+ __webpack_require__.d(__webpack_exports__, {}, {
60
+ pluginRsdoctor: pluginRsdoctor
61
+ });
58
62
  exports.pluginRsdoctor = __webpack_exports__.pluginRsdoctor;
59
63
  for(var __rspack_i in __webpack_exports__)if (-1 === [
60
64
  "pluginRsdoctor"
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
8
- });
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
9
13
  };
10
14
  })();
11
15
  (()=>{
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
8
- });
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
9
13
  };
10
14
  })();
11
15
  (()=>{
@@ -10,11 +10,15 @@ var __webpack_require__ = {};
10
10
  };
11
11
  })();
12
12
  (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
18
22
  };
19
23
  })();
20
24
  (()=>{
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
8
- });
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
9
13
  };
10
14
  })();
11
15
  (()=>{
@@ -23,9 +27,6 @@ var __webpack_require__ = {};
23
27
  })();
24
28
  var __webpack_exports__ = {};
25
29
  __webpack_require__.r(__webpack_exports__);
26
- __webpack_require__.d(__webpack_exports__, {
27
- generateManifest: ()=>generateManifest
28
- });
29
30
  const generateManifest = (seed, files, entries)=>{
30
31
  const manifestFiles = files.reduce((manifest, file)=>{
31
32
  manifest[file.name] = file.path;
@@ -37,6 +38,9 @@ const generateManifest = (seed, files, entries)=>{
37
38
  entrypoints: entrypointFiles
38
39
  };
39
40
  };
41
+ __webpack_require__.d(__webpack_exports__, {}, {
42
+ generateManifest: generateManifest
43
+ });
40
44
  exports.generateManifest = __webpack_exports__.generateManifest;
41
45
  for(var __rspack_i in __webpack_exports__)if (-1 === [
42
46
  "generateManifest"
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
8
- });
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
9
13
  };
10
14
  })();
11
15
  (()=>{
@@ -39,6 +43,7 @@ const globalVars_js_namespaceObject = require("../plugins/globalVars.js");
39
43
  const htmlMinify_js_namespaceObject = require("../plugins/htmlMinify.js");
40
44
  const runtimeChunk_js_namespaceObject = require("../plugins/runtimeChunk.js");
41
45
  const external_devServer_js_namespaceObject = require("./devServer.js");
46
+ const external_tsgo_js_namespaceObject = require("./tsgo.js");
42
47
  const external_utils_js_namespaceObject = require("./utils.js");
43
48
  const CSS_MODULES_REGEX = /\.modules?\.\w+$/i;
44
49
  const GLOBAL_CSS_REGEX = /\.global\.\w+$/;
@@ -105,17 +110,24 @@ async function parseCommonConfig(builderConfig, options) {
105
110
  html.appIcon = appIcon;
106
111
  extraConfig.tools ??= {};
107
112
  if (false !== htmlPlugin) extraConfig.tools.htmlPlugin = (config)=>{
113
+ const defaultTemplateParameters = {
114
+ title: config.title,
115
+ meta: void 0,
116
+ mountId: html.mountId
117
+ };
108
118
  if ('function' == typeof config.templateParameters) {
109
119
  const originFn = config.templateParameters;
110
- config.templateParameters = (...args)=>{
111
- const res = originFn(...args);
120
+ config.templateParameters = async (...args)=>{
121
+ const res = await originFn(...args);
112
122
  return {
113
- title: config.title,
114
- meta: void 0,
123
+ ...defaultTemplateParameters,
115
124
  ...res
116
125
  };
117
126
  };
118
- }
127
+ } else config.templateParameters = {
128
+ ...defaultTemplateParameters,
129
+ ...config.templateParameters
130
+ };
119
131
  };
120
132
  if (!dev.lazyCompilation) dev.lazyCompilation = false;
121
133
  const { rsbuildDev, rsbuildServer } = (0, external_devServer_js_namespaceObject.transformToRsbuildServerOptions)(dev || {}, devServer || {}, server || {});
@@ -145,7 +157,7 @@ async function parseCommonConfig(builderConfig, options) {
145
157
  if (!disableTsChecker) {
146
158
  const { pluginTypeCheck } = await import("@rsbuild/plugin-type-check");
147
159
  rsbuildPlugins.push(pluginTypeCheck({
148
- tsCheckerOptions: tsChecker
160
+ tsCheckerOptions: (0, external_tsgo_js_namespaceObject.withTsgoDefaults)(tsChecker, options?.cwd ?? process.cwd())
149
161
  }));
150
162
  }
151
163
  if (convertToRem) {
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
8
- });
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
9
13
  };
10
14
  })();
11
15
  (()=>{
@@ -23,15 +27,15 @@ var __webpack_require__ = {};
23
27
  })();
24
28
  var __webpack_exports__ = {};
25
29
  __webpack_require__.r(__webpack_exports__);
26
- __webpack_require__.d(__webpack_exports__, {
27
- default: ()=>rscServerEntryLoader
28
- });
29
30
  function rscServerEntryLoader(source) {
30
31
  this.cacheable(true);
31
32
  const hasServerEntryDirective = source.includes("'use server-entry'") || source.includes('"use server-entry"') || source.includes('`use server-entry`');
32
33
  if (hasServerEntryDirective) return source;
33
34
  return `'use server-entry';\n${source}`;
34
35
  }
36
+ __webpack_require__.d(__webpack_exports__, {
37
+ default: ()=>rscServerEntryLoader
38
+ });
35
39
  exports["default"] = __webpack_exports__["default"];
36
40
  for(var __rspack_i in __webpack_exports__)if (-1 === [
37
41
  "default"
@@ -10,11 +10,15 @@ var __webpack_require__ = {};
10
10
  };
11
11
  })();
12
12
  (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
18
22
  };
19
23
  })();
20
24
  (()=>{
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
8
- });
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
9
13
  };
10
14
  })();
11
15
  (()=>{
@@ -23,10 +27,10 @@ var __webpack_require__ = {};
23
27
  })();
24
28
  var __webpack_exports__ = {};
25
29
  __webpack_require__.r(__webpack_exports__);
26
- __webpack_require__.d(__webpack_exports__, {
27
- default: ()=>__rspack_default_export
28
- });
29
30
  const __rspack_default_export = {};
31
+ __webpack_require__.d(__webpack_exports__, {}, {
32
+ default: __rspack_default_export
33
+ });
30
34
  exports["default"] = __webpack_exports__["default"];
31
35
  for(var __rspack_i in __webpack_exports__)if (-1 === [
32
36
  "default"
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ const __rslib_import_meta_url__ = /*#__PURE__*/ function() {
3
+ return "u" < typeof document ? new (require('url'.replace('', ''))).URL('file:' + __filename).href : document.currentScript && document.currentScript.src || new URL('main.js', document.baseURI).href;
4
+ }();
5
+ var __webpack_require__ = {};
6
+ (()=>{
7
+ __webpack_require__.d = (exports1, getters, values)=>{
8
+ var define = (defs, kind)=>{
9
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
10
+ enumerable: true,
11
+ [kind]: defs[key]
12
+ });
13
+ };
14
+ define(getters, "get");
15
+ define(values, "value");
16
+ };
17
+ })();
18
+ (()=>{
19
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
20
+ })();
21
+ (()=>{
22
+ __webpack_require__.r = (exports1)=>{
23
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
24
+ value: 'Module'
25
+ });
26
+ Object.defineProperty(exports1, '__esModule', {
27
+ value: true
28
+ });
29
+ };
30
+ })();
31
+ var __webpack_exports__ = {};
32
+ __webpack_require__.r(__webpack_exports__);
33
+ __webpack_require__.d(__webpack_exports__, {
34
+ withTsgoDefaults: ()=>withTsgoDefaults
35
+ });
36
+ const external_node_module_namespaceObject = require("node:module");
37
+ const builderRequire = (0, external_node_module_namespaceObject.createRequire)(__rslib_import_meta_url__);
38
+ const TSGO_PACKAGE = "@typescript/native-preview/package.json";
39
+ const tryResolve = (request, rootPath)=>{
40
+ try {
41
+ return builderRequire.resolve(request, {
42
+ paths: [
43
+ rootPath
44
+ ]
45
+ });
46
+ } catch {
47
+ return;
48
+ }
49
+ };
50
+ const withTsgoDefaults = (userOptions, rootPath)=>{
51
+ const tsgoPath = tryResolve(TSGO_PACKAGE, rootPath) ?? builderRequire.resolve(TSGO_PACKAGE);
52
+ const userChain = userOptions ? Array.isArray(userOptions) ? userOptions : [
53
+ userOptions
54
+ ] : [];
55
+ return [
56
+ {
57
+ typescript: {
58
+ tsgo: true,
59
+ typescriptPath: tsgoPath
60
+ }
61
+ },
62
+ ...userChain,
63
+ (config)=>{
64
+ const { typescript } = config;
65
+ if (typescript?.tsgo === false && typescript.typescriptPath === tsgoPath) typescript.typescriptPath = tryResolve("typescript", rootPath);
66
+ return config;
67
+ }
68
+ ];
69
+ };
70
+ exports.withTsgoDefaults = __webpack_exports__.withTsgoDefaults;
71
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
72
+ "withTsgoDefaults"
73
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
74
+ Object.defineProperty(exports, '__esModule', {
75
+ value: true
76
+ });
@@ -10,11 +10,15 @@ var __webpack_require__ = {};
10
10
  };
11
11
  })();
12
12
  (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
18
22
  };
19
23
  })();
20
24
  (()=>{
@@ -56,7 +56,11 @@ const pluginEnvironmentDefaults = (distPath = {})=>({
56
56
  });
57
57
  api.modifyBundlerChain(async (chain, { environment })=>{
58
58
  const isServiceWorker = environment.name === SERVICE_WORKER_ENVIRONMENT_NAME;
59
- if (isServiceWorker) chain.output.library({
59
+ if (isServiceWorker && true === chain.output.get('module')) chain.output.library({
60
+ ...chain.output.get('library') || {},
61
+ type: 'module'
62
+ });
63
+ else if (isServiceWorker) chain.output.library({
60
64
  ...chain.output.get('library') || {},
61
65
  type: 'commonjs2'
62
66
  });
@@ -1,5 +1,8 @@
1
1
  import path from "path";
2
2
  const ASYNC_STORAGE_PATTERN = /universal[/\\]async_storage/;
3
+ const SERVER_LOADER_ENTRY_PATTERN = /[/\\](?:server-loader-combined|route-server-loaders)\.js$/;
4
+ const RENDER_RSC_SOURCE_PATTERN = /render[/\\].*[/\\]server[/\\]rsc/;
5
+ const RENDER_RSC_RSLIB_ENTRY_PATTERN = /render[/\\]dist[/\\]esm[/\\]rsc\.mjs$/;
3
6
  const RSC_COMMON_LAYER = 'rsc-common';
4
7
  const ENTRY_NAME_VAR = '__MODERN_JS_ENTRY_NAME';
5
8
  const createVirtualModule = (content)=>`data:text/javascript,${encodeURIComponent(content)}`;
@@ -97,8 +100,10 @@ async function getRscPlugins(enableRsc, internalDirectory) {
97
100
  return [
98
101
  pluginRSC({
99
102
  layers: {
103
+ ssr: SERVER_LOADER_ENTRY_PATTERN,
100
104
  rsc: [
101
- /render[/\\].*[/\\]server[/\\]rsc/,
105
+ RENDER_RSC_SOURCE_PATTERN,
106
+ RENDER_RSC_RSLIB_ENTRY_PATTERN,
102
107
  /AppProxy/,
103
108
  routesFileReg
104
109
  ]
@@ -10,6 +10,7 @@ import { pluginGlobalVars } from "../plugins/globalVars.mjs";
10
10
  import { pluginHtmlMinifierTerser } from "../plugins/htmlMinify.mjs";
11
11
  import { pluginRuntimeChunk } from "../plugins/runtimeChunk.mjs";
12
12
  import { transformToRsbuildServerOptions } from "./devServer.mjs";
13
+ import { withTsgoDefaults } from "./tsgo.mjs";
13
14
  import { NODE_MODULES_REGEX } from "./utils.mjs";
14
15
  const CSS_MODULES_REGEX = /\.modules?\.\w+$/i;
15
16
  const GLOBAL_CSS_REGEX = /\.global\.\w+$/;
@@ -76,17 +77,24 @@ async function parseCommonConfig(builderConfig, options) {
76
77
  html.appIcon = appIcon;
77
78
  extraConfig.tools ??= {};
78
79
  if (false !== htmlPlugin) extraConfig.tools.htmlPlugin = (config)=>{
80
+ const defaultTemplateParameters = {
81
+ title: config.title,
82
+ meta: void 0,
83
+ mountId: html.mountId
84
+ };
79
85
  if ('function' == typeof config.templateParameters) {
80
86
  const originFn = config.templateParameters;
81
- config.templateParameters = (...args)=>{
82
- const res = originFn(...args);
87
+ config.templateParameters = async (...args)=>{
88
+ const res = await originFn(...args);
83
89
  return {
84
- title: config.title,
85
- meta: void 0,
90
+ ...defaultTemplateParameters,
86
91
  ...res
87
92
  };
88
93
  };
89
- }
94
+ } else config.templateParameters = {
95
+ ...defaultTemplateParameters,
96
+ ...config.templateParameters
97
+ };
90
98
  };
91
99
  if (!dev.lazyCompilation) dev.lazyCompilation = false;
92
100
  const { rsbuildDev, rsbuildServer } = transformToRsbuildServerOptions(dev || {}, devServer || {}, server || {});
@@ -116,7 +124,7 @@ async function parseCommonConfig(builderConfig, options) {
116
124
  if (!disableTsChecker) {
117
125
  const { pluginTypeCheck } = await import("@rsbuild/plugin-type-check");
118
126
  rsbuildPlugins.push(pluginTypeCheck({
119
- tsCheckerOptions: tsChecker
127
+ tsCheckerOptions: withTsgoDefaults(tsChecker, options?.cwd ?? process.cwd())
120
128
  }));
121
129
  }
122
130
  if (convertToRem) {
@@ -0,0 +1,35 @@
1
+ import { createRequire } from "node:module";
2
+ const builderRequire = createRequire(import.meta.url);
3
+ const TSGO_PACKAGE = "@typescript/native-preview/package.json";
4
+ const tryResolve = (request, rootPath)=>{
5
+ try {
6
+ return builderRequire.resolve(request, {
7
+ paths: [
8
+ rootPath
9
+ ]
10
+ });
11
+ } catch {
12
+ return;
13
+ }
14
+ };
15
+ const withTsgoDefaults = (userOptions, rootPath)=>{
16
+ const tsgoPath = tryResolve(TSGO_PACKAGE, rootPath) ?? builderRequire.resolve(TSGO_PACKAGE);
17
+ const userChain = userOptions ? Array.isArray(userOptions) ? userOptions : [
18
+ userOptions
19
+ ] : [];
20
+ return [
21
+ {
22
+ typescript: {
23
+ tsgo: true,
24
+ typescriptPath: tsgoPath
25
+ }
26
+ },
27
+ ...userChain,
28
+ (config)=>{
29
+ const { typescript } = config;
30
+ if (typescript?.tsgo === false && typescript.typescriptPath === tsgoPath) typescript.typescriptPath = tryResolve("typescript", rootPath);
31
+ return config;
32
+ }
33
+ ];
34
+ };
35
+ export { withTsgoDefaults };
@@ -57,7 +57,11 @@ const pluginEnvironmentDefaults = (distPath = {})=>({
57
57
  });
58
58
  api.modifyBundlerChain(async (chain, { environment })=>{
59
59
  const isServiceWorker = environment.name === SERVICE_WORKER_ENVIRONMENT_NAME;
60
- if (isServiceWorker) chain.output.library({
60
+ if (isServiceWorker && true === chain.output.get('module')) chain.output.library({
61
+ ...chain.output.get('library') || {},
62
+ type: 'module'
63
+ });
64
+ else if (isServiceWorker) chain.output.library({
61
65
  ...chain.output.get('library') || {},
62
66
  type: 'commonjs2'
63
67
  });
@@ -5,6 +5,9 @@ import { fileURLToPath as __rspack_fileURLToPath } from "node:url";
5
5
  import { dirname as __rspack_dirname } from "node:path";
6
6
  var rscConfig_dirname = __rspack_dirname(__rspack_fileURLToPath(import.meta.url));
7
7
  const ASYNC_STORAGE_PATTERN = /universal[/\\]async_storage/;
8
+ const SERVER_LOADER_ENTRY_PATTERN = /[/\\](?:server-loader-combined|route-server-loaders)\.js$/;
9
+ const RENDER_RSC_SOURCE_PATTERN = /render[/\\].*[/\\]server[/\\]rsc/;
10
+ const RENDER_RSC_RSLIB_ENTRY_PATTERN = /render[/\\]dist[/\\]esm[/\\]rsc\.mjs$/;
8
11
  const RSC_COMMON_LAYER = 'rsc-common';
9
12
  const ENTRY_NAME_VAR = '__MODERN_JS_ENTRY_NAME';
10
13
  const createVirtualModule = (content)=>`data:text/javascript,${encodeURIComponent(content)}`;
@@ -102,8 +105,10 @@ async function getRscPlugins(enableRsc, internalDirectory) {
102
105
  return [
103
106
  pluginRSC({
104
107
  layers: {
108
+ ssr: SERVER_LOADER_ENTRY_PATTERN,
105
109
  rsc: [
106
- /render[/\\].*[/\\]server[/\\]rsc/,
110
+ RENDER_RSC_SOURCE_PATTERN,
111
+ RENDER_RSC_RSLIB_ENTRY_PATTERN,
107
112
  /AppProxy/,
108
113
  routesFileReg
109
114
  ]
@@ -11,6 +11,7 @@ import { pluginGlobalVars } from "../plugins/globalVars.mjs";
11
11
  import { pluginHtmlMinifierTerser } from "../plugins/htmlMinify.mjs";
12
12
  import { pluginRuntimeChunk } from "../plugins/runtimeChunk.mjs";
13
13
  import { transformToRsbuildServerOptions } from "./devServer.mjs";
14
+ import { withTsgoDefaults } from "./tsgo.mjs";
14
15
  import { NODE_MODULES_REGEX } from "./utils.mjs";
15
16
  const CSS_MODULES_REGEX = /\.modules?\.\w+$/i;
16
17
  const GLOBAL_CSS_REGEX = /\.global\.\w+$/;
@@ -77,17 +78,24 @@ async function parseCommonConfig(builderConfig, options) {
77
78
  html.appIcon = appIcon;
78
79
  extraConfig.tools ??= {};
79
80
  if (false !== htmlPlugin) extraConfig.tools.htmlPlugin = (config)=>{
81
+ const defaultTemplateParameters = {
82
+ title: config.title,
83
+ meta: void 0,
84
+ mountId: html.mountId
85
+ };
80
86
  if ('function' == typeof config.templateParameters) {
81
87
  const originFn = config.templateParameters;
82
- config.templateParameters = (...args)=>{
83
- const res = originFn(...args);
88
+ config.templateParameters = async (...args)=>{
89
+ const res = await originFn(...args);
84
90
  return {
85
- title: config.title,
86
- meta: void 0,
91
+ ...defaultTemplateParameters,
87
92
  ...res
88
93
  };
89
94
  };
90
- }
95
+ } else config.templateParameters = {
96
+ ...defaultTemplateParameters,
97
+ ...config.templateParameters
98
+ };
91
99
  };
92
100
  if (!dev.lazyCompilation) dev.lazyCompilation = false;
93
101
  const { rsbuildDev, rsbuildServer } = transformToRsbuildServerOptions(dev || {}, devServer || {}, server || {});
@@ -117,7 +125,7 @@ async function parseCommonConfig(builderConfig, options) {
117
125
  if (!disableTsChecker) {
118
126
  const { pluginTypeCheck } = await import("@rsbuild/plugin-type-check");
119
127
  rsbuildPlugins.push(pluginTypeCheck({
120
- tsCheckerOptions: tsChecker
128
+ tsCheckerOptions: withTsgoDefaults(tsChecker, options?.cwd ?? process.cwd())
121
129
  }));
122
130
  }
123
131
  if (convertToRem) {
@@ -0,0 +1,36 @@
1
+ import "node:module";
2
+ import { createRequire } from "node:module";
3
+ const builderRequire = createRequire(import.meta.url);
4
+ const TSGO_PACKAGE = "@typescript/native-preview/package.json";
5
+ const tryResolve = (request, rootPath)=>{
6
+ try {
7
+ return builderRequire.resolve(request, {
8
+ paths: [
9
+ rootPath
10
+ ]
11
+ });
12
+ } catch {
13
+ return;
14
+ }
15
+ };
16
+ const withTsgoDefaults = (userOptions, rootPath)=>{
17
+ const tsgoPath = tryResolve(TSGO_PACKAGE, rootPath) ?? builderRequire.resolve(TSGO_PACKAGE);
18
+ const userChain = userOptions ? Array.isArray(userOptions) ? userOptions : [
19
+ userOptions
20
+ ] : [];
21
+ return [
22
+ {
23
+ typescript: {
24
+ tsgo: true,
25
+ typescriptPath: tsgoPath
26
+ }
27
+ },
28
+ ...userChain,
29
+ (config)=>{
30
+ const { typescript } = config;
31
+ if (typescript?.tsgo === false && typescript.typescriptPath === tsgoPath) typescript.typescriptPath = tryResolve("typescript", rootPath);
32
+ return config;
33
+ }
34
+ ];
35
+ };
36
+ export { withTsgoDefaults };
@@ -0,0 +1,12 @@
1
+ import type { PluginTypeCheckerOptions } from '@rsbuild/plugin-type-check';
2
+ type TsCheckerChain = NonNullable<PluginTypeCheckerOptions['tsCheckerOptions']>;
3
+ type TsCheckerFn = Extract<TsCheckerChain, (config: never) => unknown>;
4
+ export type TsCheckerOptions = Parameters<TsCheckerFn>[0];
5
+ /**
6
+ * Type checking runs on TypeScript Go (`tsgo`) by default. The checker
7
+ * prefers the project's own `@typescript/native-preview` and falls back to
8
+ * the copy bundled with the builder, so it works without an extra install.
9
+ * Set `tools.tsChecker.typescript.tsgo: false` to use the classic checker.
10
+ */
11
+ export declare const withTsgoDefaults: (userOptions: TsCheckerChain | undefined, rootPath: string) => TsCheckerChain;
12
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bleedingdev/modern-js-builder",
3
- "version": "3.2.0-ultramodern.12",
3
+ "version": "3.2.0-ultramodern.120",
4
4
  "description": "A builder for Modern.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -26,28 +26,29 @@
26
26
  "dist"
27
27
  ],
28
28
  "dependencies": {
29
- "@rsbuild/core": "2.0.6",
30
- "@rsbuild/plugin-assets-retry": "2.0.0",
31
- "@rsbuild/plugin-check-syntax": "1.6.1",
32
- "@rsbuild/plugin-css-minimizer": "2.0.0",
33
- "@rsbuild/plugin-less": "1.6.3",
34
- "@rsbuild/plugin-react": "2.0.0",
35
- "@rsbuild/plugin-rem": "1.0.5",
36
- "@rsbuild/plugin-sass": "1.5.2",
37
- "@rsbuild/plugin-source-build": "1.0.5",
38
- "@rsbuild/plugin-svgr": "2.0.2",
39
- "@rsbuild/plugin-type-check": "1.3.4",
40
- "@rsbuild/plugin-typed-css-modules": "1.2.2",
41
- "@rsdoctor/rspack-plugin": "^1.5.11",
42
- "@swc/core": "1.15.33",
43
- "@swc/helpers": "^0.5.21",
29
+ "@rsbuild/core": "2.0.11",
30
+ "@rsbuild/plugin-assets-retry": "2.0.1",
31
+ "@rsbuild/plugin-check-syntax": "2.0.0",
32
+ "@rsbuild/plugin-css-minimizer": "2.0.1",
33
+ "@rsbuild/plugin-less": "1.6.4",
34
+ "@rsbuild/plugin-react": "2.0.1",
35
+ "@rsbuild/plugin-rem": "1.0.6",
36
+ "@rsbuild/plugin-sass": "1.5.3",
37
+ "@rsbuild/plugin-source-build": "1.0.6",
38
+ "@rsbuild/plugin-svgr": "2.0.3",
39
+ "@rsbuild/plugin-type-check": "1.4.0",
40
+ "@rsbuild/plugin-typed-css-modules": "1.2.4",
41
+ "@rsdoctor/rspack-plugin": "^1.5.12",
42
+ "@typescript/native-preview": "7.0.0-dev.20260610.1",
43
+ "@swc/core": "1.15.41",
44
+ "@swc/helpers": "^0.5.23",
44
45
  "autoprefixer": "10.5.0",
45
46
  "browserslist": "4.28.2",
46
47
  "core-js": "^3.49.0",
47
48
  "cssnano": "8.0.1",
48
49
  "html-minifier-terser": "^7.2.0",
49
50
  "lodash": "^4.18.1",
50
- "postcss": "^8.5.14",
51
+ "postcss": "^8.5.15",
51
52
  "postcss-custom-properties": "15.0.1",
52
53
  "postcss-flexbugs-fixes": "5.0.2",
53
54
  "postcss-font-variant": "5.0.0",
@@ -57,26 +58,25 @@
57
58
  "postcss-nesting": "14.0.0",
58
59
  "postcss-page-break": "3.0.4",
59
60
  "rsbuild-plugin-rsc": "0.1.0",
60
- "rspack-manifest-plugin": "5.2.1",
61
- "ts-deepmerge": "7.0.3",
62
- "@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.2.0-ultramodern.12"
61
+ "rspack-manifest-plugin": "5.2.2",
62
+ "ts-deepmerge": "8.0.0",
63
+ "@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.2.0-ultramodern.120"
63
64
  },
64
65
  "devDependencies": {
65
- "@rslib/core": "0.21.5",
66
+ "@rslib/core": "0.22.0",
66
67
  "@types/html-minifier-terser": "^7.0.2",
67
68
  "@types/lodash": "^4.17.24",
68
- "@typescript/native-preview": "7.0.0-dev.20260516.1",
69
- "react": "^19.2.6",
70
- "terser": "^5.47.1",
71
- "@scripts/rstest-config": "2.66.0",
72
- "@modern-js/types": "npm:@bleedingdev/modern-js-types@3.2.0-ultramodern.12"
69
+ "react": "^19.2.7",
70
+ "terser": "^5.48.0",
71
+ "@modern-js/types": "npm:@bleedingdev/modern-js-types@3.2.0-ultramodern.120",
72
+ "@scripts/rstest-config": "2.66.0"
73
73
  },
74
74
  "publishConfig": {
75
75
  "access": "public",
76
76
  "registry": "https://registry.npmjs.org/"
77
77
  },
78
78
  "scripts": {
79
- "build": "rslib build",
79
+ "build": "rslib build && pnpm -w tsgo:dts \"$PWD\"",
80
80
  "dev": "rslib build --watch",
81
81
  "test": "rstest run",
82
82
  "test:watch": "rstest watch"