@rsbuild/core 0.1.5 → 0.1.7
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/dist/cli/commands.d.ts +1 -1
- package/dist/cli/commands.js +1 -1
- package/dist/cli/prepare.js +1 -1
- package/dist/createRsbuild.d.ts +8 -8
- package/dist/createRsbuild.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/plugins/html.d.ts +2 -2
- package/dist/plugins/html.js +5 -5
- package/dist/plugins/index.js +2 -1
- package/dist/plugins/inlineChunk.js +1 -1
- package/dist/plugins/networkPerformance.js +1 -1
- package/dist/plugins/preloadOrPrefetch.js +1 -1
- package/dist/plugins/server.d.ts +2 -0
- package/dist/plugins/server.js +56 -0
- package/dist/{rspack-provider → provider}/core/createContext.js +1 -1
- package/dist/{rspack-provider → provider}/core/initHooks.d.ts +7 -6
- package/dist/{rspack-provider → provider}/core/initHooks.js +4 -2
- package/dist/provider/core/initPlugins.d.ts +9 -0
- package/dist/{rspack-provider → provider}/core/initPlugins.js +5 -7
- package/dist/provider/index.d.ts +11 -0
- package/dist/{rspack-provider → provider}/index.js +22 -5
- package/dist/{rspack-provider → provider}/plugins/css.js +1 -1
- package/dist/provider/provider.d.ts +7 -0
- package/dist/{rspack-provider → provider}/shared.js +21 -2
- package/dist/server/devServer.js +12 -1
- package/dist/server/prodServer.js +2 -1
- package/dist/types.d.ts +3 -5
- package/package.json +5 -11
- package/dist/rspack-provider/core/initPlugins.d.ts +0 -9
- package/dist/rspack-provider/index.d.ts +0 -6
- package/dist/rspack-provider/provider.d.ts +0 -8
- /package/dist/{rspack-provider → provider}/config.d.ts +0 -0
- /package/dist/{rspack-provider → provider}/config.js +0 -0
- /package/dist/{rspack-provider → provider}/core/build.d.ts +0 -0
- /package/dist/{rspack-provider → provider}/core/build.js +0 -0
- /package/dist/{rspack-provider → provider}/core/createCompiler.d.ts +0 -0
- /package/dist/{rspack-provider → provider}/core/createCompiler.js +0 -0
- /package/dist/{rspack-provider → provider}/core/createContext.d.ts +0 -0
- /package/dist/{rspack-provider → provider}/core/devMiddleware.d.ts +0 -0
- /package/dist/{rspack-provider → provider}/core/devMiddleware.js +0 -0
- /package/dist/{rspack-provider → provider}/core/initConfigs.d.ts +0 -0
- /package/dist/{rspack-provider → provider}/core/initConfigs.js +0 -0
- /package/dist/{rspack-provider → provider}/core/inspectConfig.d.ts +0 -0
- /package/dist/{rspack-provider → provider}/core/inspectConfig.js +0 -0
- /package/dist/{rspack-provider → provider}/core/rspackConfig.d.ts +0 -0
- /package/dist/{rspack-provider → provider}/core/rspackConfig.js +0 -0
- /package/dist/{rspack-provider → provider}/css-modules-typescript-pre-loader/index.d.ts +0 -0
- /package/dist/{rspack-provider → provider}/css-modules-typescript-pre-loader/index.js +0 -0
- /package/dist/{rspack-provider → provider}/css-modules-typescript-pre-loader/postcss-icss-extract-plugin.d.ts +0 -0
- /package/dist/{rspack-provider → provider}/css-modules-typescript-pre-loader/postcss-icss-extract-plugin.js +0 -0
- /package/dist/{rspack-provider → provider}/plugins/basic.d.ts +0 -0
- /package/dist/{rspack-provider → provider}/plugins/basic.js +0 -0
- /package/dist/{rspack-provider → provider}/plugins/css.d.ts +0 -0
- /package/dist/{rspack-provider → provider}/plugins/hmr.d.ts +0 -0
- /package/dist/{rspack-provider → provider}/plugins/hmr.js +0 -0
- /package/dist/{rspack-provider → provider}/plugins/less.d.ts +0 -0
- /package/dist/{rspack-provider → provider}/plugins/less.js +0 -0
- /package/dist/{rspack-provider → provider}/plugins/minimize.d.ts +0 -0
- /package/dist/{rspack-provider → provider}/plugins/minimize.js +0 -0
- /package/dist/{rspack-provider → provider}/plugins/output.d.ts +0 -0
- /package/dist/{rspack-provider → provider}/plugins/output.js +0 -0
- /package/dist/{rspack-provider → provider}/plugins/progress.d.ts +0 -0
- /package/dist/{rspack-provider → provider}/plugins/progress.js +0 -0
- /package/dist/{rspack-provider → provider}/plugins/resolve.d.ts +0 -0
- /package/dist/{rspack-provider → provider}/plugins/resolve.js +0 -0
- /package/dist/{rspack-provider → provider}/plugins/rspackProfile.d.ts +0 -0
- /package/dist/{rspack-provider → provider}/plugins/rspackProfile.js +0 -0
- /package/dist/{rspack-provider → provider}/plugins/sass.d.ts +0 -0
- /package/dist/{rspack-provider → provider}/plugins/sass.js +0 -0
- /package/dist/{rspack-provider → provider}/plugins/swc.d.ts +0 -0
- /package/dist/{rspack-provider → provider}/plugins/swc.js +0 -0
- /package/dist/{rspack-provider → provider}/plugins/transition.d.ts +0 -0
- /package/dist/{rspack-provider → provider}/plugins/transition.js +0 -0
- /package/dist/{rspack-provider → provider}/provider.js +0 -0
- /package/dist/{rspack-provider → provider}/shared.d.ts +0 -0
- /package/dist/{rspack-plugins → rspack}/HtmlAppIconPlugin.d.ts +0 -0
- /package/dist/{rspack-plugins → rspack}/HtmlAppIconPlugin.js +0 -0
- /package/dist/{rspack-plugins → rspack}/HtmlBasicPlugin.d.ts +0 -0
- /package/dist/{rspack-plugins → rspack}/HtmlBasicPlugin.js +0 -0
- /package/dist/{rspack-plugins → rspack}/HtmlCrossOriginPlugin.d.ts +0 -0
- /package/dist/{rspack-plugins → rspack}/HtmlCrossOriginPlugin.js +0 -0
- /package/dist/{rspack-plugins → rspack}/HtmlNetworkPerformancePlugin.d.ts +0 -0
- /package/dist/{rspack-plugins → rspack}/HtmlNetworkPerformancePlugin.js +0 -0
- /package/dist/{rspack-plugins → rspack}/HtmlNoncePlugin.d.ts +0 -0
- /package/dist/{rspack-plugins → rspack}/HtmlNoncePlugin.js +0 -0
- /package/dist/{rspack-plugins → rspack}/HtmlPreloadOrPrefetchPlugin/helpers/determineAsValue.d.ts +0 -0
- /package/dist/{rspack-plugins → rspack}/HtmlPreloadOrPrefetchPlugin/helpers/determineAsValue.js +0 -0
- /package/dist/{rspack-plugins → rspack}/HtmlPreloadOrPrefetchPlugin/helpers/doesChunkBelongToHtml.d.ts +0 -0
- /package/dist/{rspack-plugins → rspack}/HtmlPreloadOrPrefetchPlugin/helpers/doesChunkBelongToHtml.js +0 -0
- /package/dist/{rspack-plugins → rspack}/HtmlPreloadOrPrefetchPlugin/helpers/extractChunks.d.ts +0 -0
- /package/dist/{rspack-plugins → rspack}/HtmlPreloadOrPrefetchPlugin/helpers/extractChunks.js +0 -0
- /package/dist/{rspack-plugins → rspack}/HtmlPreloadOrPrefetchPlugin/helpers/index.d.ts +0 -0
- /package/dist/{rspack-plugins → rspack}/HtmlPreloadOrPrefetchPlugin/helpers/index.js +0 -0
- /package/dist/{rspack-plugins → rspack}/HtmlPreloadOrPrefetchPlugin/helpers/type.d.ts +0 -0
- /package/dist/{rspack-plugins → rspack}/HtmlPreloadOrPrefetchPlugin/helpers/type.js +0 -0
- /package/dist/{rspack-plugins → rspack}/HtmlPreloadOrPrefetchPlugin/index.d.ts +0 -0
- /package/dist/{rspack-plugins → rspack}/HtmlPreloadOrPrefetchPlugin/index.js +0 -0
- /package/dist/{rspack-plugins → rspack}/HtmlTagsPlugin.d.ts +0 -0
- /package/dist/{rspack-plugins → rspack}/HtmlTagsPlugin.js +0 -0
- /package/dist/{rspack-plugins → rspack}/InlineChunkHtmlPlugin.d.ts +0 -0
- /package/dist/{rspack-plugins → rspack}/InlineChunkHtmlPlugin.js +0 -0
- /package/dist/{rspack-plugins → rspack}/RemoveCssSourcemapPlugin.d.ts +0 -0
- /package/dist/{rspack-plugins → rspack}/RemoveCssSourcemapPlugin.js +0 -0
package/dist/cli/commands.d.ts
CHANGED
|
@@ -21,5 +21,5 @@ export declare function init({
|
|
|
21
21
|
}: {
|
|
22
22
|
cliOptions?: CommonOptions;
|
|
23
23
|
isRestart?: boolean;
|
|
24
|
-
}): Promise<import("@rsbuild/shared").RsbuildInstance
|
|
24
|
+
}): Promise<import("@rsbuild/shared").RsbuildInstance | undefined>;
|
|
25
25
|
export declare function runCli(): void;
|
package/dist/cli/commands.js
CHANGED
|
@@ -81,7 +81,7 @@ async function init({
|
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
function runCli() {
|
|
84
|
-
import_commander.program.name("rsbuild").usage("<command> [options]").version("0.1.
|
|
84
|
+
import_commander.program.name("rsbuild").usage("<command> [options]").version("0.1.7");
|
|
85
85
|
import_commander.program.command("dev").option("--open", "open the page in browser on startup").option(
|
|
86
86
|
"--port <port>",
|
|
87
87
|
"specify a port number for Rsbuild Server to listen"
|
package/dist/cli/prepare.js
CHANGED
|
@@ -34,7 +34,7 @@ function prepareCli() {
|
|
|
34
34
|
if (!npm_execpath || npm_execpath.includes("npx-cli.js")) {
|
|
35
35
|
console.log();
|
|
36
36
|
}
|
|
37
|
-
import_rslog.logger.greet(` ${`Rsbuild v${"0.1.
|
|
37
|
+
import_rslog.logger.greet(` ${`Rsbuild v${"0.1.7"}`}
|
|
38
38
|
`);
|
|
39
39
|
}
|
|
40
40
|
// Annotate the CommonJS export names for ESM import in node:
|
package/dist/createRsbuild.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { type RsbuildInstance, type RsbuildProvider, type CreateRsbuildOptions } from '@rsbuild/shared';
|
|
2
2
|
import type { RsbuildConfig } from './types';
|
|
3
|
-
export declare function createRsbuild
|
|
4
|
-
rsbuildConfig
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}): Promise<RsbuildInstance
|
|
3
|
+
export declare function createRsbuild(options: CreateRsbuildOptions & {
|
|
4
|
+
rsbuildConfig: RsbuildConfig;
|
|
5
|
+
provider?: ({
|
|
6
|
+
rsbuildConfig
|
|
7
|
+
}: {
|
|
8
|
+
rsbuildConfig: RsbuildConfig;
|
|
9
|
+
}) => RsbuildProvider;
|
|
10
|
+
}): Promise<RsbuildInstance>;
|
package/dist/createRsbuild.js
CHANGED
|
@@ -34,7 +34,7 @@ module.exports = __toCommonJS(createRsbuild_exports);
|
|
|
34
34
|
var import_shared = require("@rsbuild/shared");
|
|
35
35
|
var import_plugins = require("./plugins");
|
|
36
36
|
const getRspackProvider = async (rsbuildConfig) => {
|
|
37
|
-
const { rspackProvider } = await Promise.resolve().then(() => __toESM(require("./
|
|
37
|
+
const { rspackProvider } = await Promise.resolve().then(() => __toESM(require("./provider")));
|
|
38
38
|
return rspackProvider({
|
|
39
39
|
rsbuildConfig
|
|
40
40
|
});
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
export { createRsbuild } from './createRsbuild';
|
|
6
6
|
export { defineConfig } from './cli/config';
|
|
7
7
|
export { logger, mergeRsbuildConfig } from '@rsbuild/shared';
|
|
8
|
-
export type { Rspack } from './
|
|
8
|
+
export type { Rspack } from './provider';
|
|
9
9
|
export type { RsbuildConfig, NormalizedConfig, RsbuildPlugin, RsbuildPluginAPI } from './types';
|
|
10
10
|
export type { Context as RsbuildContext, RsbuildMode, RsbuildEntry, RsbuildTarget, RsbuildInstance, CreateRsbuildOptions, InspectConfigOptions, OnExitFn, OnAfterBuildFn, OnAfterCreateCompilerFn, OnAfterStartDevServerFn, OnAfterStartProdServerFn, OnBeforeBuildFn, OnBeforeStartDevServerFn, OnBeforeStartProdServerFn, OnBeforeCreateCompilerFn, OnDevCompileDoneFn, ModifyRsbuildConfigFn } from '@rsbuild/shared';
|
package/dist/plugins/html.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { HtmlConfig,
|
|
1
|
+
import type { HtmlConfig, RsbuildPluginAPI, NormalizedConfig, NormalizedOutputConfig } from '@rsbuild/shared';
|
|
2
2
|
import type { RsbuildPlugin } from '../types';
|
|
3
3
|
export declare function getTitle(entryName: string, config: NormalizedConfig): string;
|
|
4
4
|
export declare function getInject(entryName: string, config: NormalizedConfig): import("@rsbuild/shared").ScriptInject;
|
|
@@ -13,5 +13,5 @@ export declare function getMetaTags(entryName: string, config: {
|
|
|
13
13
|
html: HtmlConfig;
|
|
14
14
|
output: NormalizedOutputConfig;
|
|
15
15
|
}, templateContent?: string): import("@rsbuild/shared").MetaOptions;
|
|
16
|
-
export declare const applyInjectTags: (api:
|
|
16
|
+
export declare const applyInjectTags: (api: RsbuildPluginAPI) => void;
|
|
17
17
|
export declare const pluginHtml: () => RsbuildPlugin;
|
package/dist/plugins/html.js
CHANGED
|
@@ -155,7 +155,7 @@ const applyInjectTags = (api) => {
|
|
|
155
155
|
if (!tags.length && !shouldByEntries) {
|
|
156
156
|
return;
|
|
157
157
|
}
|
|
158
|
-
const { HtmlTagsPlugin } = await Promise.resolve().then(() => __toESM(require("../rspack
|
|
158
|
+
const { HtmlTagsPlugin } = await Promise.resolve().then(() => __toESM(require("../rspack/HtmlTagsPlugin")));
|
|
159
159
|
const sharedOptions = {
|
|
160
160
|
HtmlPlugin,
|
|
161
161
|
append: true,
|
|
@@ -246,19 +246,19 @@ const pluginHtml = () => ({
|
|
|
246
246
|
chain.plugin(`${CHAIN_ID.PLUGIN.HTML}-${entryName}`).use(HtmlPlugin, [finalOptions]);
|
|
247
247
|
})
|
|
248
248
|
);
|
|
249
|
-
const { HtmlBasicPlugin } = await Promise.resolve().then(() => __toESM(require("../rspack
|
|
249
|
+
const { HtmlBasicPlugin } = await Promise.resolve().then(() => __toESM(require("../rspack/HtmlBasicPlugin")));
|
|
250
250
|
chain.plugin(CHAIN_ID.PLUGIN.HTML_BASIC).use(HtmlBasicPlugin, [{ HtmlPlugin, info: htmlInfoMap }]);
|
|
251
251
|
if (config.security) {
|
|
252
252
|
const { nonce } = config.security;
|
|
253
253
|
if (nonce) {
|
|
254
|
-
const { HtmlNoncePlugin } = await Promise.resolve().then(() => __toESM(require("../rspack
|
|
254
|
+
const { HtmlNoncePlugin } = await Promise.resolve().then(() => __toESM(require("../rspack/HtmlNoncePlugin")));
|
|
255
255
|
chain.plugin(CHAIN_ID.PLUGIN.HTML_NONCE).use(HtmlNoncePlugin, [{ nonce, HtmlPlugin }]);
|
|
256
256
|
}
|
|
257
257
|
}
|
|
258
258
|
if (config.html) {
|
|
259
259
|
const { appIcon, crossorigin } = config.html;
|
|
260
260
|
if (crossorigin) {
|
|
261
|
-
const { HtmlCrossOriginPlugin } = await Promise.resolve().then(() => __toESM(require("../rspack
|
|
261
|
+
const { HtmlCrossOriginPlugin } = await Promise.resolve().then(() => __toESM(require("../rspack/HtmlCrossOriginPlugin")));
|
|
262
262
|
const formattedCrossorigin = crossorigin === true ? "anonymous" : crossorigin;
|
|
263
263
|
chain.plugin(CHAIN_ID.PLUGIN.HTML_CROSS_ORIGIN).use(HtmlCrossOriginPlugin, [
|
|
264
264
|
{ crossOrigin: formattedCrossorigin, HtmlPlugin }
|
|
@@ -266,7 +266,7 @@ const pluginHtml = () => ({
|
|
|
266
266
|
chain.output.crossOriginLoading(formattedCrossorigin);
|
|
267
267
|
}
|
|
268
268
|
if (appIcon) {
|
|
269
|
-
const { HtmlAppIconPlugin } = await Promise.resolve().then(() => __toESM(require("../rspack
|
|
269
|
+
const { HtmlAppIconPlugin } = await Promise.resolve().then(() => __toESM(require("../rspack/HtmlAppIconPlugin")));
|
|
270
270
|
const distDir = (0, import_shared.getDistPath)(config.output, "image");
|
|
271
271
|
const iconPath = import_path.default.isAbsolute(appIcon) ? appIcon : import_path.default.join(api.context.rootPath, appIcon);
|
|
272
272
|
chain.plugin(CHAIN_ID.PLUGIN.APP_ICON).use(HtmlAppIconPlugin, [{ iconPath, distDir, HtmlPlugin }]);
|
package/dist/plugins/index.js
CHANGED
|
@@ -53,7 +53,8 @@ const plugins = {
|
|
|
53
53
|
networkPerformance: () => Promise.resolve().then(() => __toESM(require("./networkPerformance"))).then((m) => m.pluginNetworkPerformance()),
|
|
54
54
|
preloadOrPrefetch: () => Promise.resolve().then(() => __toESM(require("./preloadOrPrefetch"))).then((m) => m.pluginPreloadOrPrefetch()),
|
|
55
55
|
performance: () => Promise.resolve().then(() => __toESM(require("./performance"))).then((m) => m.pluginPerformance()),
|
|
56
|
-
define: () => Promise.resolve().then(() => __toESM(require("./define"))).then((m) => m.pluginDefine())
|
|
56
|
+
define: () => Promise.resolve().then(() => __toESM(require("./define"))).then((m) => m.pluginDefine()),
|
|
57
|
+
server: () => Promise.resolve().then(() => __toESM(require("./server"))).then((m) => m.pluginServer())
|
|
57
58
|
};
|
|
58
59
|
// Annotate the CommonJS export names for ESM import in node:
|
|
59
60
|
0 && (module.exports = {
|
|
@@ -41,7 +41,7 @@ const pluginInlineChunk = () => ({
|
|
|
41
41
|
if ((0, import_shared.isHtmlDisabled)(config, target) || !isProd) {
|
|
42
42
|
return;
|
|
43
43
|
}
|
|
44
|
-
const { InlineChunkHtmlPlugin } = await Promise.resolve().then(() => __toESM(require("../rspack
|
|
44
|
+
const { InlineChunkHtmlPlugin } = await Promise.resolve().then(() => __toESM(require("../rspack/InlineChunkHtmlPlugin")));
|
|
45
45
|
const { inlineStyles, inlineScripts } = config.output;
|
|
46
46
|
const scriptTests = [];
|
|
47
47
|
const styleTests = [];
|
|
@@ -43,7 +43,7 @@ const pluginNetworkPerformance = () => ({
|
|
|
43
43
|
if (isServer || isWebWorker || isServiceWorker) {
|
|
44
44
|
return;
|
|
45
45
|
}
|
|
46
|
-
const { HtmlNetworkPerformancePlugin } = await Promise.resolve().then(() => __toESM(require("../rspack
|
|
46
|
+
const { HtmlNetworkPerformancePlugin } = await Promise.resolve().then(() => __toESM(require("../rspack/HtmlNetworkPerformancePlugin")));
|
|
47
47
|
if (dnsPrefetch) {
|
|
48
48
|
chain.plugin(CHAIN_ID.PLUGIN.HTML_DNS_PREFETCH).use(HtmlNetworkPerformancePlugin, [
|
|
49
49
|
dnsPrefetch,
|
|
@@ -44,7 +44,7 @@ const pluginPreloadOrPrefetch = () => ({
|
|
|
44
44
|
return;
|
|
45
45
|
}
|
|
46
46
|
const HTMLCount = chain.entryPoints.values().length;
|
|
47
|
-
const { HTMLPreloadOrPrefetchPlugin } = await Promise.resolve().then(() => __toESM(require("../rspack
|
|
47
|
+
const { HTMLPreloadOrPrefetchPlugin } = await Promise.resolve().then(() => __toESM(require("../rspack/HtmlPreloadOrPrefetchPlugin")));
|
|
48
48
|
if (prefetch) {
|
|
49
49
|
chain.plugin(CHAIN_ID.PLUGIN.HTML_PREFETCH).use(HTMLPreloadOrPrefetchPlugin, [
|
|
50
50
|
prefetch,
|
|
@@ -0,0 +1,56 @@
|
|
|
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 server_exports = {};
|
|
20
|
+
__export(server_exports, {
|
|
21
|
+
pluginServer: () => pluginServer
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(server_exports);
|
|
24
|
+
var import_shared = require("@rsbuild/shared");
|
|
25
|
+
const pluginServer = () => ({
|
|
26
|
+
name: "rsbuild:server",
|
|
27
|
+
setup(api) {
|
|
28
|
+
api.modifyRsbuildConfig((rsbuildConfig, { mergeRsbuildConfig }) => {
|
|
29
|
+
if ((0, import_shared.isProd)() && rsbuildConfig.server?.publicDir) {
|
|
30
|
+
const { name, copyOnBuild } = rsbuildConfig.server?.publicDir;
|
|
31
|
+
if (!copyOnBuild || !name) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const { copy } = rsbuildConfig.output || {};
|
|
35
|
+
const publicPattern = [
|
|
36
|
+
{
|
|
37
|
+
from: name,
|
|
38
|
+
to: "",
|
|
39
|
+
noErrorOnMissing: true
|
|
40
|
+
}
|
|
41
|
+
];
|
|
42
|
+
return mergeRsbuildConfig(rsbuildConfig, {
|
|
43
|
+
output: {
|
|
44
|
+
copy: Array.isArray(copy) ? publicPattern : {
|
|
45
|
+
patterns: publicPattern
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
54
|
+
0 && (module.exports = {
|
|
55
|
+
pluginServer
|
|
56
|
+
});
|
|
@@ -68,7 +68,7 @@ function createContextByConfig(options, bundlerType, sourceConfig = {}, outputCo
|
|
|
68
68
|
entry: sourceConfig.entry || // TODO: remove sourceConfig.entries in v0.2.0
|
|
69
69
|
// compat with previous config
|
|
70
70
|
sourceConfig.entries || getDefaultEntry(rootPath),
|
|
71
|
-
version: "0.1.
|
|
71
|
+
version: "0.1.7",
|
|
72
72
|
target,
|
|
73
73
|
rootPath,
|
|
74
74
|
distPath,
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { RsbuildConfig } from '../../types';
|
|
1
|
+
import type { OnExitFn, OnAfterBuildFn, OnBeforeBuildFn, OnDevCompileDoneFn, ModifyBundlerChainFn, ModifyRspackConfigFn, ModifyWebpackChainFn, ModifyWebpackConfigFn, ModifyRsbuildConfigFn, OnAfterStartDevServerFn, OnBeforeStartDevServerFn, OnAfterStartProdServerFn, OnBeforeStartProdServerFn, OnAfterCreateCompilerFn, OnBeforeCreateCompilerFn } from '@rsbuild/shared';
|
|
3
2
|
export declare function initHooks(): {
|
|
4
3
|
/** parameters are not bundler-related */
|
|
5
4
|
onExitHook: import("@rsbuild/shared").AsyncHook<OnExitFn>;
|
|
@@ -10,11 +9,13 @@ export declare function initHooks(): {
|
|
|
10
9
|
onBeforeStartProdServerHook: import("@rsbuild/shared").AsyncHook<OnBeforeStartProdServerFn>;
|
|
11
10
|
/** parameters are bundler-related */
|
|
12
11
|
onAfterBuildHook: import("@rsbuild/shared").AsyncHook<OnAfterBuildFn>;
|
|
13
|
-
onBeforeBuildHook: import("@rsbuild/shared").AsyncHook<OnBeforeBuildFn
|
|
12
|
+
onBeforeBuildHook: import("@rsbuild/shared").AsyncHook<OnBeforeBuildFn>;
|
|
14
13
|
modifyRspackConfigHook: import("@rsbuild/shared").AsyncHook<ModifyRspackConfigFn>;
|
|
15
|
-
modifyRsbuildConfigHook: import("@rsbuild/shared").AsyncHook<ModifyRsbuildConfigFn<RsbuildConfig>>;
|
|
16
|
-
onAfterCreateCompilerHook: import("@rsbuild/shared").AsyncHook<OnAfterCreateCompilerFn>;
|
|
17
|
-
onBeforeCreateCompilerHook: import("@rsbuild/shared").AsyncHook<OnBeforeCreateCompilerFn<RspackConfig>>;
|
|
18
14
|
modifyBundlerChainHook: import("@rsbuild/shared").AsyncHook<ModifyBundlerChainFn>;
|
|
15
|
+
modifyWebpackChainHook: import("@rsbuild/shared").AsyncHook<ModifyWebpackChainFn>;
|
|
16
|
+
modifyWebpackConfigHook: import("@rsbuild/shared").AsyncHook<ModifyWebpackConfigFn>;
|
|
17
|
+
modifyRsbuildConfigHook: import("@rsbuild/shared").AsyncHook<ModifyRsbuildConfigFn>;
|
|
18
|
+
onAfterCreateCompilerHook: import("@rsbuild/shared").AsyncHook<OnAfterCreateCompilerFn>;
|
|
19
|
+
onBeforeCreateCompilerHook: import("@rsbuild/shared").AsyncHook<OnBeforeCreateCompilerFn>;
|
|
19
20
|
};
|
|
20
21
|
export type Hooks = ReturnType<typeof initHooks>;
|
|
@@ -35,10 +35,12 @@ function initHooks() {
|
|
|
35
35
|
onAfterBuildHook: (0, import_shared.createAsyncHook)(),
|
|
36
36
|
onBeforeBuildHook: (0, import_shared.createAsyncHook)(),
|
|
37
37
|
modifyRspackConfigHook: (0, import_shared.createAsyncHook)(),
|
|
38
|
+
modifyBundlerChainHook: (0, import_shared.createAsyncHook)(),
|
|
39
|
+
modifyWebpackChainHook: (0, import_shared.createAsyncHook)(),
|
|
40
|
+
modifyWebpackConfigHook: (0, import_shared.createAsyncHook)(),
|
|
38
41
|
modifyRsbuildConfigHook: (0, import_shared.createAsyncHook)(),
|
|
39
42
|
onAfterCreateCompilerHook: (0, import_shared.createAsyncHook)(),
|
|
40
|
-
onBeforeCreateCompilerHook: (0, import_shared.createAsyncHook)()
|
|
41
|
-
modifyBundlerChainHook: (0, import_shared.createAsyncHook)()
|
|
43
|
+
onBeforeCreateCompilerHook: (0, import_shared.createAsyncHook)()
|
|
42
44
|
};
|
|
43
45
|
}
|
|
44
46
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type PluginStore, type RsbuildPluginAPI } from '@rsbuild/shared';
|
|
2
|
+
import type { Context } from '../../types';
|
|
3
|
+
export declare function getPluginAPI({
|
|
4
|
+
context,
|
|
5
|
+
pluginStore
|
|
6
|
+
}: {
|
|
7
|
+
context: Context;
|
|
8
|
+
pluginStore: PluginStore;
|
|
9
|
+
}): RsbuildPluginAPI;
|
|
@@ -68,19 +68,17 @@ function getPluginAPI({
|
|
|
68
68
|
onAfterBuild: hooks.onAfterBuildHook.tap,
|
|
69
69
|
onBeforeBuild: hooks.onBeforeBuildHook.tap,
|
|
70
70
|
onDevCompileDone: hooks.onDevCompileDoneHook.tap,
|
|
71
|
+
modifyBundlerChain: hooks.modifyBundlerChainHook.tap,
|
|
71
72
|
modifyRspackConfig: hooks.modifyRspackConfigHook.tap,
|
|
73
|
+
modifyWebpackChain: hooks.modifyWebpackChainHook.tap,
|
|
74
|
+
modifyWebpackConfig: hooks.modifyWebpackConfigHook.tap,
|
|
72
75
|
modifyRsbuildConfig: hooks.modifyRsbuildConfigHook.tap,
|
|
73
|
-
modifyBundlerChain: hooks.modifyBundlerChainHook.tap,
|
|
74
76
|
onAfterCreateCompiler: hooks.onAfterCreateCompilerHook.tap,
|
|
75
|
-
onBeforeCreateCompiler: hooks.onBeforeCreateCompilerHook.tap,
|
|
76
77
|
onAfterStartDevServer: hooks.onAfterStartDevServerHook.tap,
|
|
78
|
+
onBeforeCreateCompiler: hooks.onBeforeCreateCompilerHook.tap,
|
|
77
79
|
onBeforeStartDevServer: hooks.onBeforeStartDevServerHook.tap,
|
|
78
80
|
onAfterStartProdServer: hooks.onAfterStartProdServerHook.tap,
|
|
79
|
-
onBeforeStartProdServer: hooks.onBeforeStartProdServerHook.tap
|
|
80
|
-
modifyWebpackChain: () => {
|
|
81
|
-
},
|
|
82
|
-
modifyWebpackConfig: () => {
|
|
83
|
-
}
|
|
81
|
+
onBeforeStartProdServer: hooks.onBeforeStartProdServerHook.tap
|
|
84
82
|
};
|
|
85
83
|
}
|
|
86
84
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { getRspackVersion } from './shared';
|
|
2
|
+
export { rspackProvider } from './provider';
|
|
3
|
+
export type { Rspack, RspackConfig } from '@rsbuild/shared';
|
|
4
|
+
export { createPublicContext, createContextByConfig } from './core/createContext';
|
|
5
|
+
export { initPlugins } from '@rsbuild/shared';
|
|
6
|
+
export { initHooks, type Hooks } from './core/initHooks';
|
|
7
|
+
export { withDefaultConfig } from './config';
|
|
8
|
+
export { initRsbuildConfig } from './core/initConfigs';
|
|
9
|
+
export { getPluginAPI } from './core/initPlugins';
|
|
10
|
+
export { applyBaseCSSRule, applyCSSModuleRule } from './plugins/css';
|
|
11
|
+
export type { Context } from '../types';
|
|
@@ -16,24 +16,41 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
__export(
|
|
19
|
+
var provider_exports = {};
|
|
20
|
+
__export(provider_exports, {
|
|
21
|
+
applyBaseCSSRule: () => import_css.applyBaseCSSRule,
|
|
22
|
+
applyCSSModuleRule: () => import_css.applyCSSModuleRule,
|
|
21
23
|
createContextByConfig: () => import_createContext.createContextByConfig,
|
|
22
24
|
createPublicContext: () => import_createContext.createPublicContext,
|
|
25
|
+
getPluginAPI: () => import_initPlugins.getPluginAPI,
|
|
23
26
|
getRspackVersion: () => import_shared.getRspackVersion,
|
|
27
|
+
initHooks: () => import_initHooks.initHooks,
|
|
28
|
+
initPlugins: () => import_shared2.initPlugins,
|
|
24
29
|
initRsbuildConfig: () => import_initConfigs.initRsbuildConfig,
|
|
25
|
-
rspackProvider: () => import_provider.rspackProvider
|
|
30
|
+
rspackProvider: () => import_provider.rspackProvider,
|
|
31
|
+
withDefaultConfig: () => import_config.withDefaultConfig
|
|
26
32
|
});
|
|
27
|
-
module.exports = __toCommonJS(
|
|
33
|
+
module.exports = __toCommonJS(provider_exports);
|
|
28
34
|
var import_shared = require("./shared");
|
|
29
35
|
var import_provider = require("./provider");
|
|
30
36
|
var import_createContext = require("./core/createContext");
|
|
37
|
+
var import_shared2 = require("@rsbuild/shared");
|
|
38
|
+
var import_initHooks = require("./core/initHooks");
|
|
39
|
+
var import_config = require("./config");
|
|
31
40
|
var import_initConfigs = require("./core/initConfigs");
|
|
41
|
+
var import_initPlugins = require("./core/initPlugins");
|
|
42
|
+
var import_css = require("./plugins/css");
|
|
32
43
|
// Annotate the CommonJS export names for ESM import in node:
|
|
33
44
|
0 && (module.exports = {
|
|
45
|
+
applyBaseCSSRule,
|
|
46
|
+
applyCSSModuleRule,
|
|
34
47
|
createContextByConfig,
|
|
35
48
|
createPublicContext,
|
|
49
|
+
getPluginAPI,
|
|
36
50
|
getRspackVersion,
|
|
51
|
+
initHooks,
|
|
52
|
+
initPlugins,
|
|
37
53
|
initRsbuildConfig,
|
|
38
|
-
rspackProvider
|
|
54
|
+
rspackProvider,
|
|
55
|
+
withDefaultConfig
|
|
39
56
|
});
|
|
@@ -158,7 +158,7 @@ const pluginCss = () => {
|
|
|
158
158
|
const enableSourceMap = (0, import_shared.isUseCssSourceMap)(config);
|
|
159
159
|
const enableExtractCSS = (0, import_shared.isUseCssExtract)(config, utils.target);
|
|
160
160
|
if (!enableSourceMap && enableExtractCSS) {
|
|
161
|
-
const { RemoveCssSourcemapPlugin } = await Promise.resolve().then(() => __toESM(require("../../rspack
|
|
161
|
+
const { RemoveCssSourcemapPlugin } = await Promise.resolve().then(() => __toESM(require("../../rspack/RemoveCssSourcemapPlugin")));
|
|
162
162
|
chain.plugin("remove-css-sourcemap").use(RemoveCssSourcemapPlugin, [utils.HtmlPlugin]);
|
|
163
163
|
}
|
|
164
164
|
});
|
|
@@ -75,6 +75,7 @@ const applyDefaultPlugins = (plugins) => (0, import_shared3.awaitableGetter)([
|
|
|
75
75
|
plugins.networkPerformance(),
|
|
76
76
|
plugins.preloadOrPrefetch(),
|
|
77
77
|
plugins.performance(),
|
|
78
|
+
plugins.server(),
|
|
78
79
|
Promise.resolve().then(() => __toESM(require("./plugins/rspackProfile"))).then((m) => m.pluginRspackProfile())
|
|
79
80
|
]);
|
|
80
81
|
const getRspackVersion = async () => {
|
|
@@ -88,12 +89,30 @@ const getRspackVersion = async () => {
|
|
|
88
89
|
}
|
|
89
90
|
};
|
|
90
91
|
const rspackMinVersion = "0.3.6";
|
|
92
|
+
const compareSemver = (version1, version2) => {
|
|
93
|
+
const parts1 = version1.split(".").map(Number);
|
|
94
|
+
const parts2 = version2.split(".").map(Number);
|
|
95
|
+
const len = Math.max(parts1.length, parts2.length);
|
|
96
|
+
for (let i = 0; i < len; i++) {
|
|
97
|
+
const item1 = parts1[i] ?? 0;
|
|
98
|
+
const item2 = parts2[i] ?? 0;
|
|
99
|
+
if (item1 > item2) {
|
|
100
|
+
return 1;
|
|
101
|
+
}
|
|
102
|
+
if (item1 < item2) {
|
|
103
|
+
return -1;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return 0;
|
|
107
|
+
};
|
|
91
108
|
const isSatisfyRspackVersion = async (version) => {
|
|
92
|
-
const semver = await Promise.resolve().then(() => __toESM(require("semver")));
|
|
93
109
|
if (version.includes("-canary")) {
|
|
94
110
|
version = version.split("-canary")[0];
|
|
95
111
|
}
|
|
96
|
-
|
|
112
|
+
if (version && /^[\d\.]+$/.test(version)) {
|
|
113
|
+
return compareSemver(version, rspackMinVersion) >= 0;
|
|
114
|
+
}
|
|
115
|
+
return true;
|
|
97
116
|
};
|
|
98
117
|
const getCompiledPath = (packageName) => {
|
|
99
118
|
const providerCompilerPath = (0, import_path.join)(__dirname, "../../compiled", packageName);
|
package/dist/server/devServer.js
CHANGED
|
@@ -113,6 +113,16 @@ class RsbuildDevServer {
|
|
|
113
113
|
}
|
|
114
114
|
devMiddleware.init(app);
|
|
115
115
|
devMiddleware.middleware && this.middlewares.use(devMiddleware.middleware);
|
|
116
|
+
if (dev.publicDir && dev.publicDir.name) {
|
|
117
|
+
const { default: sirv } = await Promise.resolve().then(() => __toESM(require("../../compiled/sirv")));
|
|
118
|
+
const { name } = dev.publicDir;
|
|
119
|
+
const publicDir = (0, import_path.isAbsolute)(name) ? name : (0, import_path.join)(this.pwd, name);
|
|
120
|
+
const assetMiddleware = sirv(publicDir, {
|
|
121
|
+
etag: true,
|
|
122
|
+
dev: true
|
|
123
|
+
});
|
|
124
|
+
this.middlewares.use(assetMiddleware);
|
|
125
|
+
}
|
|
116
126
|
const { distPath } = this.output;
|
|
117
127
|
this.middlewares.use(
|
|
118
128
|
(0, import_middlewares.getHtmlFallbackMiddleware)({
|
|
@@ -180,7 +190,8 @@ async function startDevServer(options, createDevMiddleware, {
|
|
|
180
190
|
let urls = (0, import_shared.getAddressUrls)(protocol, port, host);
|
|
181
191
|
const routes = (0, import_shared.formatRoutes)(
|
|
182
192
|
options.context.entry,
|
|
183
|
-
rsbuildConfig.output?.distPath?.html
|
|
193
|
+
rsbuildConfig.output?.distPath?.html,
|
|
194
|
+
rsbuildConfig.html?.outputStructure
|
|
184
195
|
);
|
|
185
196
|
(0, import_shared.debug)("create dev server");
|
|
186
197
|
const { devMiddleware, compiler } = await createDevMiddleware(
|
|
@@ -162,7 +162,8 @@ async function startProdServer(context, rsbuildConfig, { printURLs = true, getPo
|
|
|
162
162
|
async () => {
|
|
163
163
|
const routes = (0, import_shared.formatRoutes)(
|
|
164
164
|
context.entry,
|
|
165
|
-
rsbuildConfig.output?.distPath?.html
|
|
165
|
+
rsbuildConfig.output?.distPath?.html,
|
|
166
|
+
rsbuildConfig.html?.outputStructure
|
|
166
167
|
);
|
|
167
168
|
await context.hooks.onAfterStartProdServerHook.call({
|
|
168
169
|
port,
|
package/dist/types.d.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import type { Context as BaseContext, RsbuildConfig,
|
|
2
|
-
import type { Hooks } from './
|
|
3
|
-
|
|
4
|
-
export interface RsbuildPluginAPI extends DefaultRsbuildPluginAPI<RsbuildConfig, NormalizedConfig, RspackConfig> {}
|
|
5
|
-
export type RsbuildPlugin<T = RsbuildPluginAPI> = BaseRsbuildPlugin<T>;
|
|
1
|
+
import type { Context as BaseContext, RsbuildConfig, RsbuildPlugin, NormalizedConfig, RsbuildPluginAPI } from '@rsbuild/shared';
|
|
2
|
+
import type { Hooks } from './provider/core/initHooks';
|
|
3
|
+
export type { RsbuildPlugin, RsbuildPluginAPI };
|
|
6
4
|
/** The inner context. */
|
|
7
5
|
export type Context = BaseContext & {
|
|
8
6
|
/** All hooks. */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rsbuild/core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.7",
|
|
4
4
|
"description": "Unleash the power of Rspack with the out-of-the-box build tool.",
|
|
5
5
|
"homepage": "https://rsbuild.dev",
|
|
6
6
|
"bugs": {
|
|
@@ -33,13 +33,9 @@
|
|
|
33
33
|
"types": "./dist/plugins/*.d.ts",
|
|
34
34
|
"default": "./dist/plugins/*.js"
|
|
35
35
|
},
|
|
36
|
-
"./
|
|
37
|
-
"types": "./dist/
|
|
38
|
-
"default": "./dist/
|
|
39
|
-
},
|
|
40
|
-
"./rspack-provider": {
|
|
41
|
-
"types": "./dist/rspack-provider/index.d.ts",
|
|
42
|
-
"default": "./dist/rspack-provider/index.js"
|
|
36
|
+
"./provider": {
|
|
37
|
+
"types": "./dist/provider/index.d.ts",
|
|
38
|
+
"default": "./dist/provider/index.js"
|
|
43
39
|
},
|
|
44
40
|
"./types": {
|
|
45
41
|
"types": "./types.d.ts"
|
|
@@ -62,12 +58,10 @@
|
|
|
62
58
|
"core-js": "~3.32.2",
|
|
63
59
|
"html-webpack-plugin": "npm:html-rspack-plugin@5.5.7",
|
|
64
60
|
"postcss": "8.4.31",
|
|
65
|
-
"
|
|
66
|
-
"@rsbuild/shared": "0.1.5"
|
|
61
|
+
"@rsbuild/shared": "0.1.7"
|
|
67
62
|
},
|
|
68
63
|
"devDependencies": {
|
|
69
64
|
"@types/node": "^16",
|
|
70
|
-
"@types/semver": "^7.5.4",
|
|
71
65
|
"typescript": "^5.3.0",
|
|
72
66
|
"webpack": "^5.89.0"
|
|
73
67
|
},
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export { getRspackVersion } from './shared';
|
|
2
|
-
export { rspackProvider } from './provider';
|
|
3
|
-
export type { RspackProvider } from './provider';
|
|
4
|
-
export type { Rspack, RspackConfig } from '@rsbuild/shared';
|
|
5
|
-
export { createPublicContext, createContextByConfig } from './core/createContext';
|
|
6
|
-
export { initRsbuildConfig } from './core/initConfigs';
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { type RsbuildProvider, type RspackConfig } from '@rsbuild/shared';
|
|
2
|
-
import type { RsbuildConfig, NormalizedConfig } from '../types';
|
|
3
|
-
export type RspackProvider = RsbuildProvider<RsbuildConfig, RspackConfig, NormalizedConfig>;
|
|
4
|
-
export declare function rspackProvider({
|
|
5
|
-
rsbuildConfig: originalRsbuildConfig
|
|
6
|
-
}: {
|
|
7
|
-
rsbuildConfig: RsbuildConfig;
|
|
8
|
-
}): RspackProvider;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/{rspack-plugins → rspack}/HtmlPreloadOrPrefetchPlugin/helpers/determineAsValue.d.ts
RENAMED
|
File without changes
|
/package/dist/{rspack-plugins → rspack}/HtmlPreloadOrPrefetchPlugin/helpers/determineAsValue.js
RENAMED
|
File without changes
|
|
File without changes
|
/package/dist/{rspack-plugins → rspack}/HtmlPreloadOrPrefetchPlugin/helpers/doesChunkBelongToHtml.js
RENAMED
|
File without changes
|
/package/dist/{rspack-plugins → rspack}/HtmlPreloadOrPrefetchPlugin/helpers/extractChunks.d.ts
RENAMED
|
File without changes
|
/package/dist/{rspack-plugins → rspack}/HtmlPreloadOrPrefetchPlugin/helpers/extractChunks.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|