@rsbuild/core 0.0.20 → 0.0.22
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/compiled/connect-history-api-fallback/index.d.ts +1 -0
- package/compiled/connect-history-api-fallback/index.js +1 -0
- package/compiled/connect-history-api-fallback/license +21 -0
- package/compiled/connect-history-api-fallback/package.json +1 -0
- package/compiled/open/index.d.ts +153 -0
- package/compiled/open/index.js +1 -0
- package/compiled/open/license +9 -0
- package/compiled/open/package.json +1 -0
- package/compiled/open/xdg-open +1066 -0
- package/dist/cli/commands.js +2 -2
- package/dist/cli/config.js +19 -2
- package/dist/cli/index.d.ts +1 -5
- package/dist/cli/index.js +3 -21
- package/dist/cli/run.d.ts +7 -0
- package/dist/cli/run.js +49 -0
- package/dist/client/hmr.js +418 -0
- package/dist/index.d.ts +1 -1
- package/dist/plugins/cache.js +8 -8
- package/dist/plugins/cleanOutput.js +3 -3
- package/dist/plugins/fileSize.js +24 -24
- package/dist/plugins/html.js +6 -24
- package/dist/plugins/index.js +0 -1
- package/dist/plugins/startUrl.js +2 -4
- package/dist/rspack-provider/core/createCompiler.d.ts +1 -1
- package/dist/rspack-provider/core/createCompiler.js +3 -3
- package/dist/rspack-provider/core/initHooks.d.ts +2 -1
- package/dist/rspack-provider/plugins/css.js +3 -10
- package/dist/rspack-provider/plugins/rspack-profile.js +6 -6
- package/dist/rspack-provider/plugins/swc.js +2 -3
- package/dist/rspack-provider/provider.js +4 -4
- package/dist/rspack-provider/rspackLoader/css-modules-typescript-pre-loader/postcss-icss-extract-plugin.d.ts +1 -1
- package/dist/rspack-provider/rspackLoader/css-modules-typescript-pre-loader/postcss-icss-extract-plugin.js +4 -4
- package/dist/rspack-provider/shared/fs.js +2 -2
- package/dist/rspack-provider/shared/plugin.js +1 -4
- package/dist/server/dev-middleware/index.d.ts +1 -0
- package/dist/server/dev-middleware/index.js +5 -4
- package/dist/server/devServer.d.ts +2 -2
- package/dist/server/devServer.js +26 -18
- package/dist/server/prodServer.d.ts +5 -3
- package/dist/server/prodServer.js +14 -4
- package/dist/server/restart.d.ts +11 -0
- package/dist/server/restart.js +64 -0
- package/package.json +8 -38
- package/dist/plugins/rem.d.ts +0 -2
- package/dist/plugins/rem.js +0 -103
- package/dist/rspack-provider/plugins/fallback.d.ts +0 -2
- package/dist/rspack-provider/plugins/fallback.js +0 -52
- package/dist/server/dev-middleware/hmr-client/createSocketUrl.js +0 -68
- package/dist/server/dev-middleware/hmr-client/index.js +0 -164
- /package/dist/{server/dev-middleware/hmr-client → client/hmr}/createSocketUrl.d.ts +0 -0
- /package/dist/{server/dev-middleware/hmr-client → client/hmr}/index.d.ts +0 -0
package/dist/cli/commands.js
CHANGED
|
@@ -22,11 +22,11 @@ __export(commands_exports, {
|
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(commands_exports);
|
|
24
24
|
var import_path = require("path");
|
|
25
|
-
var
|
|
25
|
+
var import_shared = require("@rsbuild/shared");
|
|
26
26
|
var import_commander = require("commander");
|
|
27
27
|
function setupProgram(rsbuild) {
|
|
28
28
|
const pkgJson = (0, import_path.join)(__dirname, "../../package.json");
|
|
29
|
-
const { version } =
|
|
29
|
+
const { version } = import_shared.fse.readJSONSync(pkgJson);
|
|
30
30
|
import_commander.program.name("rsbuild").usage("<command> [options]").version(version);
|
|
31
31
|
import_commander.program.command("dev").option(`--open`, "open the page in browser on startup").description("starting the dev server").action(async (options) => {
|
|
32
32
|
await rsbuild.startDevServer({
|
package/dist/cli/config.js
CHANGED
|
@@ -33,10 +33,11 @@ __export(config_exports, {
|
|
|
33
33
|
loadConfig: () => loadConfig
|
|
34
34
|
});
|
|
35
35
|
module.exports = __toCommonJS(config_exports);
|
|
36
|
+
var import_fs = __toESM(require("fs"));
|
|
36
37
|
var import_jiti = __toESM(require("jiti"));
|
|
37
38
|
var import_path = require("path");
|
|
38
39
|
var import_shared = require("@rsbuild/shared");
|
|
39
|
-
var
|
|
40
|
+
var import_restart = require("../server/restart");
|
|
40
41
|
const defineConfig = (config) => config;
|
|
41
42
|
const resolveConfigPath = () => {
|
|
42
43
|
const CONFIG_FILES = [
|
|
@@ -50,19 +51,35 @@ const resolveConfigPath = () => {
|
|
|
50
51
|
const root = process.cwd();
|
|
51
52
|
for (const file of CONFIG_FILES) {
|
|
52
53
|
const configFile = (0, import_path.join)(root, file);
|
|
53
|
-
if (
|
|
54
|
+
if (import_fs.default.existsSync(configFile)) {
|
|
54
55
|
return configFile;
|
|
55
56
|
}
|
|
56
57
|
}
|
|
57
58
|
return null;
|
|
58
59
|
};
|
|
60
|
+
async function watchConfig(configFile) {
|
|
61
|
+
const chokidar = await Promise.resolve().then(() => __toESM(require("@rsbuild/shared/chokidar")));
|
|
62
|
+
const watcher = chokidar.watch(configFile, {});
|
|
63
|
+
const callback = async () => {
|
|
64
|
+
watcher.close();
|
|
65
|
+
await (0, import_restart.restartDevServer)({ filePath: configFile });
|
|
66
|
+
};
|
|
67
|
+
watcher.on("change", callback);
|
|
68
|
+
watcher.on("unlink", callback);
|
|
69
|
+
}
|
|
59
70
|
async function loadConfig() {
|
|
60
71
|
const configFile = resolveConfigPath();
|
|
61
72
|
if (configFile) {
|
|
62
73
|
const loadConfig2 = (0, import_jiti.default)(__filename, {
|
|
63
74
|
esmResolve: true,
|
|
75
|
+
// disable require cache to support restart CLI and read the new config
|
|
76
|
+
requireCache: false,
|
|
64
77
|
interopDefault: true
|
|
65
78
|
});
|
|
79
|
+
const command = process.argv[2];
|
|
80
|
+
if (command === "dev") {
|
|
81
|
+
watchConfig(configFile);
|
|
82
|
+
}
|
|
66
83
|
return loadConfig2(configFile);
|
|
67
84
|
}
|
|
68
85
|
return {};
|
package/dist/cli/index.d.ts
CHANGED
package/dist/cli/index.js
CHANGED
|
@@ -18,30 +18,12 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var cli_exports = {};
|
|
20
20
|
__export(cli_exports, {
|
|
21
|
-
defineConfig: () =>
|
|
22
|
-
runCli: () => runCli
|
|
21
|
+
defineConfig: () => import_config.defineConfig,
|
|
22
|
+
runCli: () => import_run.runCli
|
|
23
23
|
});
|
|
24
24
|
module.exports = __toCommonJS(cli_exports);
|
|
25
|
-
var import__ = require("..");
|
|
26
|
-
var import_commands = require("./commands");
|
|
27
25
|
var import_config = require("./config");
|
|
28
|
-
var
|
|
29
|
-
async function runCli(options = {}) {
|
|
30
|
-
var _a;
|
|
31
|
-
const config = await (0, import_config.loadConfig)();
|
|
32
|
-
const rsbuild = await (0, import__.createRsbuild)({
|
|
33
|
-
rsbuildConfig: config,
|
|
34
|
-
entry: ((_a = config.source) == null ? void 0 : _a.entries) || (0, import_config.getDefaultEntries)(),
|
|
35
|
-
provider: config.provider
|
|
36
|
-
});
|
|
37
|
-
if (options.defaultPlugins) {
|
|
38
|
-
rsbuild.addPlugins(options.defaultPlugins);
|
|
39
|
-
}
|
|
40
|
-
if (config.plugins) {
|
|
41
|
-
rsbuild.addPlugins(config.plugins);
|
|
42
|
-
}
|
|
43
|
-
(0, import_commands.setupProgram)(rsbuild);
|
|
44
|
-
}
|
|
26
|
+
var import_run = require("./run");
|
|
45
27
|
// Annotate the CommonJS export names for ESM import in node:
|
|
46
28
|
0 && (module.exports = {
|
|
47
29
|
defineConfig,
|
package/dist/cli/run.js
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var run_exports = {};
|
|
20
|
+
__export(run_exports, {
|
|
21
|
+
runCli: () => runCli
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(run_exports);
|
|
24
|
+
var import__ = require("..");
|
|
25
|
+
var import_commands = require("./commands");
|
|
26
|
+
var import_config = require("./config");
|
|
27
|
+
async function runCli(options = {}) {
|
|
28
|
+
var _a;
|
|
29
|
+
const config = await (0, import_config.loadConfig)();
|
|
30
|
+
const rsbuild = await (0, import__.createRsbuild)({
|
|
31
|
+
rsbuildConfig: config,
|
|
32
|
+
entry: ((_a = config.source) == null ? void 0 : _a.entries) || (0, import_config.getDefaultEntries)(),
|
|
33
|
+
provider: config.provider
|
|
34
|
+
});
|
|
35
|
+
if (options.defaultPlugins) {
|
|
36
|
+
rsbuild.addPlugins(options.defaultPlugins);
|
|
37
|
+
}
|
|
38
|
+
if (config.plugins) {
|
|
39
|
+
rsbuild.addPlugins(config.plugins);
|
|
40
|
+
}
|
|
41
|
+
if (!options.isRestart) {
|
|
42
|
+
(0, import_commands.setupProgram)(rsbuild);
|
|
43
|
+
}
|
|
44
|
+
return rsbuild;
|
|
45
|
+
}
|
|
46
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
47
|
+
0 && (module.exports = {
|
|
48
|
+
runCli
|
|
49
|
+
});
|
|
@@ -0,0 +1,418 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
function _array_like_to_array(arr, len) {
|
|
3
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
4
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
5
|
+
return arr2;
|
|
6
|
+
}
|
|
7
|
+
function _array_with_holes(arr) {
|
|
8
|
+
if (Array.isArray(arr)) return arr;
|
|
9
|
+
}
|
|
10
|
+
function _iterable_to_array_limit(arr, i) {
|
|
11
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
12
|
+
if (_i == null) return;
|
|
13
|
+
var _arr = [];
|
|
14
|
+
var _n = true;
|
|
15
|
+
var _d = false;
|
|
16
|
+
var _s, _e;
|
|
17
|
+
try {
|
|
18
|
+
for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
|
|
19
|
+
_arr.push(_s.value);
|
|
20
|
+
if (i && _arr.length === i) break;
|
|
21
|
+
}
|
|
22
|
+
} catch (err) {
|
|
23
|
+
_d = true;
|
|
24
|
+
_e = err;
|
|
25
|
+
} finally{
|
|
26
|
+
try {
|
|
27
|
+
if (!_n && _i["return"] != null) _i["return"]();
|
|
28
|
+
} finally{
|
|
29
|
+
if (_d) throw _e;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return _arr;
|
|
33
|
+
}
|
|
34
|
+
function _non_iterable_rest() {
|
|
35
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
36
|
+
}
|
|
37
|
+
function _sliced_to_array(arr, i) {
|
|
38
|
+
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
|
39
|
+
}
|
|
40
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
|
41
|
+
if (!o) return;
|
|
42
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
43
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
44
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
45
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
46
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
47
|
+
}
|
|
48
|
+
var createSocketUrl = function createSocketUrl(resourceQuery) {
|
|
49
|
+
var searchParams = resourceQuery.substr(1).split("&");
|
|
50
|
+
var options = {};
|
|
51
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
52
|
+
try {
|
|
53
|
+
for(var _iterator = searchParams[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
54
|
+
var pair = _step.value;
|
|
55
|
+
var ary = pair.split("=");
|
|
56
|
+
options[ary[0]] = decodeURIComponent(ary[1]);
|
|
57
|
+
}
|
|
58
|
+
} catch (err) {
|
|
59
|
+
_didIteratorError = true;
|
|
60
|
+
_iteratorError = err;
|
|
61
|
+
} finally{
|
|
62
|
+
try {
|
|
63
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
64
|
+
_iterator.return();
|
|
65
|
+
}
|
|
66
|
+
} finally{
|
|
67
|
+
if (_didIteratorError) {
|
|
68
|
+
throw _iteratorError;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
var currentLocation = self.location;
|
|
73
|
+
return getSocketUrl(options, currentLocation);
|
|
74
|
+
};
|
|
75
|
+
var formatURL = function formatURL(param) {
|
|
76
|
+
var port = param.port, protocol = param.protocol, hostname = param.hostname, pathname = param.pathname;
|
|
77
|
+
if (window.URL) {
|
|
78
|
+
var url = new URL("http://localhost");
|
|
79
|
+
url.port = port;
|
|
80
|
+
url.hostname = hostname;
|
|
81
|
+
url.protocol = protocol;
|
|
82
|
+
url.pathname = pathname;
|
|
83
|
+
return url.toString();
|
|
84
|
+
}
|
|
85
|
+
var colon = protocol.indexOf(":") === -1 ? ":" : "";
|
|
86
|
+
return "".concat(protocol).concat(colon, "//").concat(hostname, ":").concat(port).concat(pathname);
|
|
87
|
+
};
|
|
88
|
+
var getSocketUrl = function getSocketUrl(urlParts, location) {
|
|
89
|
+
var host = urlParts.host, port = urlParts.port, path = urlParts.path, protocol = urlParts.protocol;
|
|
90
|
+
return formatURL({
|
|
91
|
+
protocol: protocol || (location.protocol === "https:" ? "wss" : "ws"),
|
|
92
|
+
hostname: host || location.hostname,
|
|
93
|
+
port: port || location.port,
|
|
94
|
+
pathname: path || HMR_SOCK_PATH
|
|
95
|
+
});
|
|
96
|
+
};
|
|
97
|
+
var clearOutdatedErrors = function clearOutdatedErrors() {
|
|
98
|
+
if (typeof console !== "undefined" && typeof console.clear === "function") {
|
|
99
|
+
if (hasCompileErrors) {
|
|
100
|
+
console.clear();
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
var handleSuccess = function handleSuccess() {
|
|
105
|
+
clearOutdatedErrors();
|
|
106
|
+
var isHotUpdate = !isFirstCompilation;
|
|
107
|
+
isFirstCompilation = false;
|
|
108
|
+
hasCompileErrors = false;
|
|
109
|
+
if (isHotUpdate) {
|
|
110
|
+
tryApplyUpdates();
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
var handleWarnings = function handleWarnings(warnings) {
|
|
114
|
+
clearOutdatedErrors();
|
|
115
|
+
var isHotUpdate = !isFirstCompilation;
|
|
116
|
+
isFirstCompilation = false;
|
|
117
|
+
hasCompileErrors = false;
|
|
118
|
+
function printWarnings() {
|
|
119
|
+
var formatted = (0, import_format_stats.formatStatsMessages)({
|
|
120
|
+
warnings: warnings,
|
|
121
|
+
errors: []
|
|
122
|
+
});
|
|
123
|
+
if (typeof console !== "undefined" && typeof console.warn === "function") {
|
|
124
|
+
for(var i = 0; i < formatted.warnings.length; i++){
|
|
125
|
+
if (i === 5) {
|
|
126
|
+
console.warn("There were more warnings in other files.\nYou can find a complete log in the terminal.");
|
|
127
|
+
break;
|
|
128
|
+
}
|
|
129
|
+
console.warn(formatted.warnings[i]);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
printWarnings();
|
|
134
|
+
if (isHotUpdate) {
|
|
135
|
+
tryApplyUpdates();
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
var handleErrors = function handleErrors(errors) {
|
|
139
|
+
clearOutdatedErrors();
|
|
140
|
+
isFirstCompilation = false;
|
|
141
|
+
hasCompileErrors = true;
|
|
142
|
+
var formatted = (0, import_format_stats.formatStatsMessages)({
|
|
143
|
+
errors: errors,
|
|
144
|
+
warnings: []
|
|
145
|
+
});
|
|
146
|
+
if (typeof console !== "undefined" && typeof console.error === "function") {
|
|
147
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
148
|
+
try {
|
|
149
|
+
for(var _iterator = formatted.errors[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
150
|
+
var error = _step.value;
|
|
151
|
+
console.error(error);
|
|
152
|
+
}
|
|
153
|
+
} catch (err) {
|
|
154
|
+
_didIteratorError = true;
|
|
155
|
+
_iteratorError = err;
|
|
156
|
+
} finally{
|
|
157
|
+
try {
|
|
158
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
159
|
+
_iterator.return();
|
|
160
|
+
}
|
|
161
|
+
} finally{
|
|
162
|
+
if (_didIteratorError) {
|
|
163
|
+
throw _iteratorError;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
var handleAvailableHash = function handleAvailableHash(hash) {
|
|
170
|
+
mostRecentCompilationHash = hash;
|
|
171
|
+
};
|
|
172
|
+
var isUpdateAvailable = function isUpdateAvailable() {
|
|
173
|
+
return mostRecentCompilationHash !== __webpack_hash__;
|
|
174
|
+
};
|
|
175
|
+
var canApplyUpdates = function canApplyUpdates() {
|
|
176
|
+
return module.hot.status() === "idle";
|
|
177
|
+
};
|
|
178
|
+
var __create = Object.create;
|
|
179
|
+
var __defProp = Object.defineProperty;
|
|
180
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
181
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
182
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
183
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
184
|
+
var __commonJS = function(cb, mod) {
|
|
185
|
+
return function __require() {
|
|
186
|
+
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = {
|
|
187
|
+
exports: {}
|
|
188
|
+
}).exports, mod), mod.exports;
|
|
189
|
+
};
|
|
190
|
+
};
|
|
191
|
+
var __copyProps = function(to, from, except, desc) {
|
|
192
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
193
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
194
|
+
try {
|
|
195
|
+
var _loop = function() {
|
|
196
|
+
var key = _step.value;
|
|
197
|
+
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
198
|
+
get: function() {
|
|
199
|
+
return from[key];
|
|
200
|
+
},
|
|
201
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
202
|
+
});
|
|
203
|
+
};
|
|
204
|
+
for(var _iterator = __getOwnPropNames(from)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true)_loop();
|
|
205
|
+
} catch (err) {
|
|
206
|
+
_didIteratorError = true;
|
|
207
|
+
_iteratorError = err;
|
|
208
|
+
} finally{
|
|
209
|
+
try {
|
|
210
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
211
|
+
_iterator.return();
|
|
212
|
+
}
|
|
213
|
+
} finally{
|
|
214
|
+
if (_didIteratorError) {
|
|
215
|
+
throw _iteratorError;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
return to;
|
|
221
|
+
};
|
|
222
|
+
var __toESM = function(mod, isNodeMode, target) {
|
|
223
|
+
return target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(// If the importer is in node compatibility mode or this is not an ESM
|
|
224
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
225
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
226
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
227
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
228
|
+
value: mod,
|
|
229
|
+
enumerable: true
|
|
230
|
+
}) : target, mod);
|
|
231
|
+
};
|
|
232
|
+
// ../shared/dist/formatStats.js
|
|
233
|
+
var require_formatStats = __commonJS({
|
|
234
|
+
"../shared/dist/formatStats.js": function(exports2, module2) {
|
|
235
|
+
"use strict";
|
|
236
|
+
var isLikelyASyntaxError = function isLikelyASyntaxError(message) {
|
|
237
|
+
return message.includes(friendlySyntaxErrorLabel);
|
|
238
|
+
};
|
|
239
|
+
var formatMessage = function formatMessage(stats) {
|
|
240
|
+
var lines = [];
|
|
241
|
+
var message;
|
|
242
|
+
if (typeof stats === "object") {
|
|
243
|
+
var fileName = stats.moduleName ? "File: ".concat(stats.moduleName, "\n") : "";
|
|
244
|
+
var mainMessage = typeof stats.formatted === "string" ? stats.formatted : stats.message;
|
|
245
|
+
var details = stats.details ? "\nDetails: ".concat(stats.details, "\n") : "";
|
|
246
|
+
var stack = stats.stack ? "\n".concat(stats.stack) : "";
|
|
247
|
+
message = "".concat(fileName).concat(mainMessage).concat(details).concat(stack);
|
|
248
|
+
} else {
|
|
249
|
+
message = stats;
|
|
250
|
+
}
|
|
251
|
+
lines = message.split("\n");
|
|
252
|
+
lines = lines.map(function(line) {
|
|
253
|
+
var parsingError = /Line (\d+):(?:(\d+):)?\s*Parsing error: (.+)$/.exec(line);
|
|
254
|
+
if (!parsingError) {
|
|
255
|
+
return line;
|
|
256
|
+
}
|
|
257
|
+
var _parsingError = _sliced_to_array(parsingError, 4), errorLine = _parsingError[1], errorColumn = _parsingError[2], errorMessage = _parsingError[3];
|
|
258
|
+
return "".concat(friendlySyntaxErrorLabel, " ").concat(errorMessage, " (").concat(errorLine, ":").concat(errorColumn, ")");
|
|
259
|
+
});
|
|
260
|
+
message = lines.join("\n");
|
|
261
|
+
message = message.replace(/SyntaxError\s+\((\d+):(\d+)\)\s*(.+?)\n/g, "".concat(friendlySyntaxErrorLabel, " $3 ($1:$2)\n"));
|
|
262
|
+
lines = message.split("\n");
|
|
263
|
+
if (lines.length > 2 && lines[1].trim() === "") {
|
|
264
|
+
lines.splice(1, 1);
|
|
265
|
+
}
|
|
266
|
+
lines[0] = lines[0].replace(/^(.*) \d+:\d+-\d+$/, "$1");
|
|
267
|
+
if (lines[1] && lines[1].indexOf("Module not found:") !== -1) {
|
|
268
|
+
lines[1] = lines[1].replace("Error: ", "");
|
|
269
|
+
}
|
|
270
|
+
lines = lines.filter(function(line, index, arr) {
|
|
271
|
+
return index === 0 || line.trim() !== "" || line.trim() !== arr[index - 1].trim();
|
|
272
|
+
});
|
|
273
|
+
message = lines.join("\n");
|
|
274
|
+
return message.trim();
|
|
275
|
+
};
|
|
276
|
+
var formatStatsMessages2 = function formatStatsMessages2(json) {
|
|
277
|
+
var _a, _b, _c;
|
|
278
|
+
var formattedErrors = (_a = json == null ? void 0 : json.errors) == null ? void 0 : _a.map(formatMessage);
|
|
279
|
+
var formattedWarnings = (_b = json == null ? void 0 : json.warnings) == null ? void 0 : _b.map(formatMessage);
|
|
280
|
+
var result = {
|
|
281
|
+
errors: formattedErrors || [],
|
|
282
|
+
warnings: formattedWarnings || [],
|
|
283
|
+
errorTips: []
|
|
284
|
+
};
|
|
285
|
+
if ((_c = result.errors) == null ? void 0 : _c.some(isLikelyASyntaxError)) {
|
|
286
|
+
result.errors = result.errors.filter(isLikelyASyntaxError);
|
|
287
|
+
}
|
|
288
|
+
if (result.errors.length > 1) {
|
|
289
|
+
result.errors.length = 1;
|
|
290
|
+
}
|
|
291
|
+
return result;
|
|
292
|
+
};
|
|
293
|
+
var __defProp2 = Object.defineProperty;
|
|
294
|
+
var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
|
|
295
|
+
var __getOwnPropNames2 = Object.getOwnPropertyNames;
|
|
296
|
+
var __hasOwnProp2 = Object.prototype.hasOwnProperty;
|
|
297
|
+
var __export = function(target, all) {
|
|
298
|
+
for(var name in all)__defProp2(target, name, {
|
|
299
|
+
get: all[name],
|
|
300
|
+
enumerable: true
|
|
301
|
+
});
|
|
302
|
+
};
|
|
303
|
+
var __copyProps2 = function(to, from, except, desc) {
|
|
304
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
305
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
306
|
+
try {
|
|
307
|
+
var _loop = function() {
|
|
308
|
+
var key = _step.value;
|
|
309
|
+
if (!__hasOwnProp2.call(to, key) && key !== except) __defProp2(to, key, {
|
|
310
|
+
get: function() {
|
|
311
|
+
return from[key];
|
|
312
|
+
},
|
|
313
|
+
enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable
|
|
314
|
+
});
|
|
315
|
+
};
|
|
316
|
+
for(var _iterator = __getOwnPropNames2(from)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true)_loop();
|
|
317
|
+
} catch (err) {
|
|
318
|
+
_didIteratorError = true;
|
|
319
|
+
_iteratorError = err;
|
|
320
|
+
} finally{
|
|
321
|
+
try {
|
|
322
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
323
|
+
_iterator.return();
|
|
324
|
+
}
|
|
325
|
+
} finally{
|
|
326
|
+
if (_didIteratorError) {
|
|
327
|
+
throw _iteratorError;
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
return to;
|
|
333
|
+
};
|
|
334
|
+
var __toCommonJS = function(mod) {
|
|
335
|
+
return __copyProps2(__defProp2({}, "__esModule", {
|
|
336
|
+
value: true
|
|
337
|
+
}), mod);
|
|
338
|
+
};
|
|
339
|
+
var formatStats_exports = {};
|
|
340
|
+
__export(formatStats_exports, {
|
|
341
|
+
formatStatsMessages: function() {
|
|
342
|
+
return formatStatsMessages2;
|
|
343
|
+
}
|
|
344
|
+
});
|
|
345
|
+
module2.exports = __toCommonJS(formatStats_exports);
|
|
346
|
+
var friendlySyntaxErrorLabel = "SyntaxError:";
|
|
347
|
+
}
|
|
348
|
+
});
|
|
349
|
+
// src/client/hmr/index.ts
|
|
350
|
+
var import_format_stats = __toESM(require_formatStats());
|
|
351
|
+
// src/client/hmr/createSocketUrl.ts
|
|
352
|
+
var HMR_SOCK_PATH = "/rsbuild-hmr";
|
|
353
|
+
// src/client/hmr/index.ts
|
|
354
|
+
var hadRuntimeError = false;
|
|
355
|
+
var socketUrl = createSocketUrl(__resourceQuery);
|
|
356
|
+
var connection = new WebSocket(socketUrl);
|
|
357
|
+
connection.onopen = function() {
|
|
358
|
+
if (typeof console !== "undefined" && typeof console.info === "function") {
|
|
359
|
+
console.info("[HMR] connected.");
|
|
360
|
+
}
|
|
361
|
+
};
|
|
362
|
+
connection.onclose = function() {
|
|
363
|
+
if (typeof console !== "undefined" && typeof console.info === "function") {
|
|
364
|
+
console.info("[HMR] disconnected. Refresh the page if necessary.");
|
|
365
|
+
}
|
|
366
|
+
};
|
|
367
|
+
var isFirstCompilation = true;
|
|
368
|
+
var mostRecentCompilationHash = null;
|
|
369
|
+
var hasCompileErrors = false;
|
|
370
|
+
connection.onmessage = function(e) {
|
|
371
|
+
var message = JSON.parse(e.data);
|
|
372
|
+
switch(message.type){
|
|
373
|
+
case "hash":
|
|
374
|
+
handleAvailableHash(message.data);
|
|
375
|
+
break;
|
|
376
|
+
case "still-ok":
|
|
377
|
+
case "ok":
|
|
378
|
+
handleSuccess();
|
|
379
|
+
break;
|
|
380
|
+
case "content-changed":
|
|
381
|
+
window.location.reload();
|
|
382
|
+
break;
|
|
383
|
+
case "warnings":
|
|
384
|
+
handleWarnings(message.data);
|
|
385
|
+
break;
|
|
386
|
+
case "errors":
|
|
387
|
+
handleErrors(message.data);
|
|
388
|
+
break;
|
|
389
|
+
default:
|
|
390
|
+
}
|
|
391
|
+
};
|
|
392
|
+
function tryApplyUpdates() {
|
|
393
|
+
if (!module.hot) {
|
|
394
|
+
window.location.reload();
|
|
395
|
+
return;
|
|
396
|
+
}
|
|
397
|
+
if (!isUpdateAvailable() || !canApplyUpdates()) {
|
|
398
|
+
return;
|
|
399
|
+
}
|
|
400
|
+
function handleApplyUpdates(err, updatedModules) {
|
|
401
|
+
var wantsForcedReload = err || !updatedModules || hadRuntimeError;
|
|
402
|
+
if (wantsForcedReload) {
|
|
403
|
+
window.location.reload();
|
|
404
|
+
return;
|
|
405
|
+
}
|
|
406
|
+
if (isUpdateAvailable()) {
|
|
407
|
+
tryApplyUpdates();
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
var result = module.hot.check(/* autoApply */ true, handleApplyUpdates);
|
|
411
|
+
if (result === null || result === void 0 ? void 0 : result.then) {
|
|
412
|
+
result.then(function(updatedModules) {
|
|
413
|
+
handleApplyUpdates(null, updatedModules);
|
|
414
|
+
}, function(err) {
|
|
415
|
+
handleApplyUpdates(err, null);
|
|
416
|
+
});
|
|
417
|
+
}
|
|
418
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { createRsbuild, getCreateRsbuildDefaultOptions } from './createRsbuild';
|
|
2
2
|
export { mergeRsbuildConfig } from '@rsbuild/shared';
|
|
3
3
|
export { defineConfig } from './cli';
|
|
4
|
-
export type { RsbuildPluginAPI, RsbuildConfig } from './rspack-provider';
|
|
4
|
+
export type { RsbuildPluginAPI, RsbuildConfig, Rspack } from './rspack-provider';
|
|
5
5
|
export type { RsbuildMode, RsbuildEntry, RsbuildTarget, RsbuildPlugin, Context, RsbuildInstance, CreateRsbuildOptions, InspectConfigOptions, OnExitFn, OnAfterBuildFn, OnAfterCreateCompilerFn, OnAfterStartDevServerFn, OnBeforeBuildFn, OnBeforeStartDevServerFn, OnBeforeCreateCompilerFn, OnDevCompileDoneFn, ModifyRsbuildConfigFn } from '@rsbuild/shared';
|
package/dist/plugins/cache.js
CHANGED
|
@@ -33,18 +33,18 @@ __export(cache_exports, {
|
|
|
33
33
|
module.exports = __toCommonJS(cache_exports);
|
|
34
34
|
var import_crypto = __toESM(require("crypto"));
|
|
35
35
|
var import_path = require("path");
|
|
36
|
-
var import_fs_extra = require("@rsbuild/shared/fs-extra");
|
|
37
36
|
var import_shared = require("@rsbuild/shared");
|
|
37
|
+
var import_shared2 = require("@rsbuild/shared");
|
|
38
38
|
async function validateCache(cacheDirectory, buildDependencies) {
|
|
39
39
|
const configFile = (0, import_path.join)(cacheDirectory, "buildDependencies.json");
|
|
40
|
-
if (await (0,
|
|
41
|
-
const prevBuildDependencies = await
|
|
40
|
+
if (await (0, import_shared2.isFileExists)(configFile)) {
|
|
41
|
+
const prevBuildDependencies = await import_shared.fse.readJSON(configFile);
|
|
42
42
|
if (JSON.stringify(prevBuildDependencies) === JSON.stringify(buildDependencies)) {
|
|
43
43
|
return;
|
|
44
44
|
}
|
|
45
|
-
await
|
|
45
|
+
await import_shared.fse.remove(cacheDirectory);
|
|
46
46
|
}
|
|
47
|
-
await
|
|
47
|
+
await import_shared.fse.outputJSON(configFile, buildDependencies);
|
|
48
48
|
}
|
|
49
49
|
function getDigestHash(digest) {
|
|
50
50
|
const fsHash = import_crypto.default.createHash("md5");
|
|
@@ -61,7 +61,7 @@ async function getBuildDependencies(context) {
|
|
|
61
61
|
const rootPackageJson = (0, import_path.join)(context.rootPath, "package.json");
|
|
62
62
|
const browserslistConfig = (0, import_path.join)(context.rootPath, ".browserslistrc");
|
|
63
63
|
const buildDependencies = {};
|
|
64
|
-
if (await (0,
|
|
64
|
+
if (await (0, import_shared2.isFileExists)(rootPackageJson)) {
|
|
65
65
|
buildDependencies.packageJson = [rootPackageJson];
|
|
66
66
|
}
|
|
67
67
|
if (context.configPath) {
|
|
@@ -70,14 +70,14 @@ async function getBuildDependencies(context) {
|
|
|
70
70
|
if (context.tsconfigPath) {
|
|
71
71
|
buildDependencies.tsconfig = [context.tsconfigPath];
|
|
72
72
|
}
|
|
73
|
-
if (await (0,
|
|
73
|
+
if (await (0, import_shared2.isFileExists)(browserslistConfig)) {
|
|
74
74
|
buildDependencies.browserslistrc = [browserslistConfig];
|
|
75
75
|
}
|
|
76
76
|
const tailwindExts = ["ts", "js", "cjs", "mjs"];
|
|
77
77
|
const configs = tailwindExts.map(
|
|
78
78
|
(ext) => (0, import_path.join)(context.rootPath, `tailwind.config.${ext}`)
|
|
79
79
|
);
|
|
80
|
-
const tailwindConfig = (0,
|
|
80
|
+
const tailwindConfig = (0, import_shared2.findExists)(configs);
|
|
81
81
|
if (tailwindConfig) {
|
|
82
82
|
buildDependencies.tailwindcss = [tailwindConfig];
|
|
83
83
|
}
|
|
@@ -21,10 +21,10 @@ __export(cleanOutput_exports, {
|
|
|
21
21
|
pluginCleanOutput: () => pluginCleanOutput
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(cleanOutput_exports);
|
|
24
|
-
var
|
|
24
|
+
var import_shared = require("@rsbuild/shared");
|
|
25
25
|
const emptyDir = async (dir) => {
|
|
26
|
-
if (await
|
|
27
|
-
await
|
|
26
|
+
if (await import_shared.fse.pathExists(dir)) {
|
|
27
|
+
await import_shared.fse.emptyDir(dir);
|
|
28
28
|
}
|
|
29
29
|
};
|
|
30
30
|
const pluginCleanOutput = () => ({
|