@workleap/rsbuild-configs 1.0.1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/applyTransformers.d.ts +4 -7
- package/dist/applyTransformers.js +9 -1
- package/dist/applyTransformers.js.map +1 -0
- package/dist/assertions.d.ts +1 -0
- package/dist/assertions.js +9 -0
- package/dist/assertions.js.map +1 -0
- package/dist/build.d.ts +14 -17
- package/dist/build.js +161 -2
- package/dist/build.js.map +1 -0
- package/dist/dev.d.ts +10 -12
- package/dist/dev.js +120 -2
- package/dist/dev.js.map +1 -0
- package/dist/index.d.ts +4 -9
- package/dist/index.js +11 -4
- package/dist/index.js.map +1 -0
- package/dist/storybook.d.ts +8 -11
- package/dist/storybook.js +77 -2
- package/dist/storybook.js.map +1 -0
- package/package.json +12 -11
- package/src/applyTransformers.ts +12 -0
- package/src/assertions.ts +3 -0
- package/src/build.ts +181 -0
- package/src/dev.ts +147 -0
- package/src/index.ts +5 -0
- package/src/storybook.ts +87 -0
- package/dist/chunk-2WQ2TYK3.js +0 -69
- package/dist/chunk-JED7EPT2.js +0 -144
- package/dist/chunk-MKDSFUJ7.js +0 -110
- package/dist/chunk-X723TIEI.js +0 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @workleap/rsbuild-configs
|
|
2
2
|
|
|
3
|
+
## 1.1.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#234](https://github.com/gsoft-inc/wl-web-configs/pull/234) [`ad94f27`](https://github.com/gsoft-inc/wl-web-configs/commit/ad94f2714d520af580f01dab3dc02b31b5857673) Thanks [@patricklafrance](https://github.com/patricklafrance)! - Added a new `writeToDisk` predefined option for the dev config.
|
|
8
|
+
|
|
9
|
+
## 1.0.2
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [#230](https://github.com/gsoft-inc/wl-web-configs/pull/230) [`0a4279c`](https://github.com/gsoft-inc/wl-web-configs/commit/0a4279c40b7c2ea76c7e1884a8e2fd744ca9b7c1) Thanks [@patricklafrance](https://github.com/patricklafrance)! - Packages now includes the source codes and sourcemap.
|
|
14
|
+
|
|
3
15
|
## 1.0.1
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
import { RsbuildConfig } from
|
|
2
|
-
|
|
3
|
-
interface RsbuildConfigTransformerContext {
|
|
1
|
+
import type { RsbuildConfig } from "@rsbuild/core";
|
|
2
|
+
export interface RsbuildConfigTransformerContext {
|
|
4
3
|
environment: "dev" | "build" | "storybook";
|
|
5
4
|
verbose: boolean;
|
|
6
5
|
}
|
|
7
|
-
type RsbuildConfigTransformer = (config: RsbuildConfig, context: RsbuildConfigTransformerContext) => RsbuildConfig;
|
|
8
|
-
declare function applyTransformers(config: RsbuildConfig, transformers: RsbuildConfigTransformer[], context: RsbuildConfigTransformerContext): RsbuildConfig;
|
|
9
|
-
|
|
10
|
-
export { type RsbuildConfigTransformer, type RsbuildConfigTransformerContext, applyTransformers };
|
|
6
|
+
export type RsbuildConfigTransformer = (config: RsbuildConfig, context: RsbuildConfigTransformerContext) => RsbuildConfig;
|
|
7
|
+
export declare function applyTransformers(config: RsbuildConfig, transformers: RsbuildConfigTransformer[], context: RsbuildConfigTransformerContext): RsbuildConfig;
|
|
@@ -1 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
;// CONCATENATED MODULE: ./src/applyTransformers.ts?__rslib_entry__
|
|
3
|
+
function applyTransformers(config, transformers, context) {
|
|
4
|
+
return transformers.reduce((acc, transformer)=>transformer(acc, context), config);
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export { applyTransformers };
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=applyTransformers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applyTransformers.js","sources":["webpack://@workleap/rsbuild-configs/./src/applyTransformers.ts"],"sourcesContent":["import type { RsbuildConfig } from \"@rsbuild/core\";\n\nexport interface RsbuildConfigTransformerContext {\n environment: \"dev\" | \"build\" | \"storybook\";\n verbose: boolean;\n}\n\nexport type RsbuildConfigTransformer = (config: RsbuildConfig, context: RsbuildConfigTransformerContext) => RsbuildConfig;\n\nexport function applyTransformers(config: RsbuildConfig, transformers: RsbuildConfigTransformer[], context: RsbuildConfigTransformerContext) {\n return transformers.reduce((acc, transformer) => transformer(acc, context), config);\n}\n"],"names":["applyTransformers","config","transformers","context","acc","transformer"],"mappings":";;AASO,SAASA,kBAAkBC,MAAqB,EAAEC,YAAwC,EAAEC,OAAwC;IACvI,OAAOD,aAAa,MAAM,CAAC,CAACE,KAAKC,cAAgBA,YAAYD,KAAKD,UAAUF;AAChF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isBoolean(value: unknown): value is boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertions.js","sources":["webpack://@workleap/rsbuild-configs/./src/assertions.ts"],"sourcesContent":["export function isBoolean(value: unknown): value is boolean {\n return typeof value === \"boolean\";\n}\n"],"names":["isBoolean","value"],"mappings":";;AAAO,SAASA,UAAUC,KAAc;IACpC,OAAO,OAAOA,UAAU;AAC5B"}
|
package/dist/build.d.ts
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import { HtmlConfig,
|
|
2
|
-
import { PluginImageCompressOptions } from
|
|
3
|
-
import { PluginReactOptions } from
|
|
4
|
-
import { PluginSvgrOptions } from
|
|
5
|
-
import { Optimization } from
|
|
6
|
-
import { RsbuildConfigTransformer } from
|
|
7
|
-
|
|
8
|
-
type
|
|
9
|
-
type
|
|
10
|
-
type
|
|
11
|
-
type
|
|
12
|
-
|
|
13
|
-
interface DefineBuildConfigOptions {
|
|
1
|
+
import { type DistPathConfig, type HtmlConfig, type Minify, type RsbuildConfig, type RsbuildEntry, type RsbuildPlugins, type SourceMap } from "@rsbuild/core";
|
|
2
|
+
import { type PluginImageCompressOptions } from "@rsbuild/plugin-image-compress";
|
|
3
|
+
import { type PluginReactOptions } from "@rsbuild/plugin-react";
|
|
4
|
+
import { type PluginSvgrOptions } from "@rsbuild/plugin-svgr";
|
|
5
|
+
import { type Optimization } from "@rspack/core";
|
|
6
|
+
import { type RsbuildConfigTransformer } from "./applyTransformers.ts";
|
|
7
|
+
export type OptimizeOption = boolean | "readable";
|
|
8
|
+
export type DefineBuildHtmlPluginConfigFunction = (defaultOptions: HtmlConfig) => HtmlConfig;
|
|
9
|
+
export type DefineBuildDefineReactPluginConfigFunction = (defaultOptions: PluginReactOptions) => PluginReactOptions;
|
|
10
|
+
export type DefineBuildSvgrPluginConfigFunction = (defaultOptions: PluginSvgrOptions) => PluginSvgrOptions;
|
|
11
|
+
export type DefineBuildImageCompressPluginConfigFunction = (defaultOptions: PluginImageCompressOptions) => PluginImageCompressOptions;
|
|
12
|
+
export interface DefineBuildConfigOptions {
|
|
14
13
|
entry?: RsbuildEntry;
|
|
15
14
|
distPath?: DistPathConfig;
|
|
16
15
|
assetPrefix?: string;
|
|
@@ -26,7 +25,5 @@ interface DefineBuildConfigOptions {
|
|
|
26
25
|
transformers?: RsbuildConfigTransformer[];
|
|
27
26
|
verbose?: boolean;
|
|
28
27
|
}
|
|
29
|
-
declare function getOptimizationConfig(optimize: OptimizeOption): Optimization;
|
|
30
|
-
declare function defineBuildConfig(options?: DefineBuildConfigOptions): RsbuildConfig;
|
|
31
|
-
|
|
32
|
-
export { type DefineBuildConfigOptions, type DefineBuildDefineReactPluginConfigFunction, type DefineBuildHtmlPluginConfigFunction, type DefineBuildImageCompressPluginConfigFunction, type DefineBuildSvgrPluginConfigFunction, type OptimizeOption, defineBuildConfig, getOptimizationConfig };
|
|
28
|
+
export declare function getOptimizationConfig(optimize: OptimizeOption): Optimization;
|
|
29
|
+
export declare function defineBuildConfig(options?: DefineBuildConfigOptions): RsbuildConfig;
|
package/dist/build.js
CHANGED
|
@@ -1,2 +1,161 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
1
|
+
import * as __WEBPACK_EXTERNAL_MODULE__rsbuild_core_1b356efc__ from "@rsbuild/core";
|
|
2
|
+
import * as __WEBPACK_EXTERNAL_MODULE__rsbuild_plugin_image_compress_c4aa2c32__ from "@rsbuild/plugin-image-compress";
|
|
3
|
+
import * as __WEBPACK_EXTERNAL_MODULE__rsbuild_plugin_react_7b149ee4__ from "@rsbuild/plugin-react";
|
|
4
|
+
import * as __WEBPACK_EXTERNAL_MODULE__rsbuild_plugin_svgr_14547cd0__ from "@rsbuild/plugin-svgr";
|
|
5
|
+
import * as __WEBPACK_EXTERNAL_MODULE__rspack_core_e0096ff7__ from "@rspack/core";
|
|
6
|
+
import * as __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__ from "node:path";
|
|
7
|
+
import * as __WEBPACK_EXTERNAL_MODULE__applyTransformers_js_2d4fcf6d__ from "./applyTransformers.js";
|
|
8
|
+
|
|
9
|
+
;// CONCATENATED MODULE: external "@rsbuild/core"
|
|
10
|
+
|
|
11
|
+
;// CONCATENATED MODULE: external "@rsbuild/plugin-image-compress"
|
|
12
|
+
|
|
13
|
+
;// CONCATENATED MODULE: external "@rsbuild/plugin-react"
|
|
14
|
+
|
|
15
|
+
;// CONCATENATED MODULE: external "@rsbuild/plugin-svgr"
|
|
16
|
+
|
|
17
|
+
;// CONCATENATED MODULE: external "@rspack/core"
|
|
18
|
+
|
|
19
|
+
;// CONCATENATED MODULE: external "node:path"
|
|
20
|
+
|
|
21
|
+
;// CONCATENATED MODULE: external "./applyTransformers.js"
|
|
22
|
+
|
|
23
|
+
;// CONCATENATED MODULE: ./src/build.ts?__rslib_entry__
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
function defaultDefineHtmlPluginConfig(options) {
|
|
32
|
+
return options;
|
|
33
|
+
}
|
|
34
|
+
function defaultDefineReactPluginConfig(options) {
|
|
35
|
+
return options;
|
|
36
|
+
}
|
|
37
|
+
function defineSvgrPluginConfig(options) {
|
|
38
|
+
return options;
|
|
39
|
+
}
|
|
40
|
+
function defineImageCompressPluginConfig(options) {
|
|
41
|
+
return options;
|
|
42
|
+
}
|
|
43
|
+
function getOptimizationConfig(optimize) {
|
|
44
|
+
if (optimize === true) {
|
|
45
|
+
return {
|
|
46
|
+
minimize: true
|
|
47
|
+
};
|
|
48
|
+
} else if (optimize === "readable") {
|
|
49
|
+
return {
|
|
50
|
+
minimize: true,
|
|
51
|
+
minimizer: [
|
|
52
|
+
new __WEBPACK_EXTERNAL_MODULE__rspack_core_e0096ff7__.SwcJsMinimizerRspackPlugin({
|
|
53
|
+
minimizerOptions: {
|
|
54
|
+
mangle: false,
|
|
55
|
+
compress: {
|
|
56
|
+
toplevel: true,
|
|
57
|
+
hoist_props: false
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
})
|
|
61
|
+
],
|
|
62
|
+
chunkIds: "named",
|
|
63
|
+
moduleIds: "named",
|
|
64
|
+
mangleExports: false
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
// Doesn't turnoff everything but is good enough to help with debugging scenarios.
|
|
68
|
+
return {
|
|
69
|
+
minimize: false,
|
|
70
|
+
chunkIds: "named",
|
|
71
|
+
moduleIds: "named",
|
|
72
|
+
concatenateModules: false,
|
|
73
|
+
mangleExports: false,
|
|
74
|
+
removeAvailableModules: false,
|
|
75
|
+
usedExports: false
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
function defineBuildConfig(options = {}) {
|
|
79
|
+
const { entry = {
|
|
80
|
+
index: __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].resolve("./src/index.tsx")
|
|
81
|
+
}, distPath = {
|
|
82
|
+
root: __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].resolve("./dist")
|
|
83
|
+
}, assetPrefix = "http://localhost:8080", plugins = [], html = defaultDefineHtmlPluginConfig, minify = true, optimize = true, sourceMap = {
|
|
84
|
+
js: "source-map",
|
|
85
|
+
css: true
|
|
86
|
+
}, react = defaultDefineReactPluginConfig, svgr = defineSvgrPluginConfig, compressImage = defineImageCompressPluginConfig, // Using an empty object literal as the default value to ensure
|
|
87
|
+
// "process.env" is always available.
|
|
88
|
+
environmentVariables = {}, transformers = [], verbose = false } = options;
|
|
89
|
+
const config = {
|
|
90
|
+
mode: "production",
|
|
91
|
+
source: {
|
|
92
|
+
entry,
|
|
93
|
+
// Stringify the environment variables because the plugin does a direct text replacement. Otherwise, "production" would become production
|
|
94
|
+
// after replacement and cause an undefined var error because the production var doesn't exist.
|
|
95
|
+
// For more information, view: https://rsbuild.dev/guide/advanced/env-vars#using-define.
|
|
96
|
+
define: {
|
|
97
|
+
"process.env": Object.keys(environmentVariables).reduce((acc, key)=>{
|
|
98
|
+
acc[key] = JSON.stringify(environmentVariables[key]);
|
|
99
|
+
return acc;
|
|
100
|
+
}, {})
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
output: {
|
|
104
|
+
target: "web",
|
|
105
|
+
distPath,
|
|
106
|
+
cleanDistPath: true,
|
|
107
|
+
assetPrefix,
|
|
108
|
+
filename: {
|
|
109
|
+
html: "[name].html",
|
|
110
|
+
js: "[name].js",
|
|
111
|
+
css: "[name].css",
|
|
112
|
+
svg: "[name].[contenthash:8].svg",
|
|
113
|
+
font: "[name].[contenthash:8][ext]",
|
|
114
|
+
image: "[name].[contenthash:8][ext]",
|
|
115
|
+
media: "[name].[contenthash:8][ext]",
|
|
116
|
+
assets: "[name].[contenthash:8][ext]"
|
|
117
|
+
},
|
|
118
|
+
minify,
|
|
119
|
+
sourceMap
|
|
120
|
+
},
|
|
121
|
+
html: html ? html({
|
|
122
|
+
template: __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].resolve("./public/index.html")
|
|
123
|
+
}) : undefined,
|
|
124
|
+
plugins: [
|
|
125
|
+
react && (0,__WEBPACK_EXTERNAL_MODULE__rsbuild_plugin_react_7b149ee4__.pluginReact)(react({
|
|
126
|
+
fastRefresh: false
|
|
127
|
+
})),
|
|
128
|
+
svgr && (0,__WEBPACK_EXTERNAL_MODULE__rsbuild_plugin_svgr_14547cd0__.pluginSvgr)(svgr({
|
|
129
|
+
svgrOptions: {
|
|
130
|
+
exportType: "named"
|
|
131
|
+
}
|
|
132
|
+
})),
|
|
133
|
+
compressImage && (0,__WEBPACK_EXTERNAL_MODULE__rsbuild_plugin_image_compress_c4aa2c32__.pluginImageCompress)(compressImage([
|
|
134
|
+
"jpeg",
|
|
135
|
+
"png",
|
|
136
|
+
"ico",
|
|
137
|
+
"svg"
|
|
138
|
+
])),
|
|
139
|
+
...plugins
|
|
140
|
+
].filter(Boolean),
|
|
141
|
+
tools: {
|
|
142
|
+
rspack: {
|
|
143
|
+
optimization: getOptimizationConfig(optimize),
|
|
144
|
+
infrastructureLogging: verbose ? {
|
|
145
|
+
appendOnly: true,
|
|
146
|
+
level: "verbose",
|
|
147
|
+
debug: /PackFileCache/
|
|
148
|
+
} : undefined
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
const transformedConfig = (0,__WEBPACK_EXTERNAL_MODULE__applyTransformers_js_2d4fcf6d__.applyTransformers)(config, transformers, {
|
|
153
|
+
environment: "build",
|
|
154
|
+
verbose
|
|
155
|
+
});
|
|
156
|
+
return (0,__WEBPACK_EXTERNAL_MODULE__rsbuild_core_1b356efc__.defineConfig)(transformedConfig);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
export { defineBuildConfig, getOptimizationConfig };
|
|
160
|
+
|
|
161
|
+
//# sourceMappingURL=build.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build.js","sources":["webpack://@workleap/rsbuild-configs/./src/build.ts"],"sourcesContent":["import { defineConfig, type DistPathConfig, type HtmlConfig, type Minify, type RsbuildConfig, type RsbuildEntry, type RsbuildPlugins, type SourceMap } from \"@rsbuild/core\";\nimport { pluginImageCompress, type PluginImageCompressOptions } from \"@rsbuild/plugin-image-compress\";\nimport { pluginReact, type PluginReactOptions } from \"@rsbuild/plugin-react\";\nimport { pluginSvgr, type PluginSvgrOptions } from \"@rsbuild/plugin-svgr\";\nimport { SwcJsMinimizerRspackPlugin, type Optimization } from \"@rspack/core\";\nimport path from \"node:path\";\nimport { applyTransformers, type RsbuildConfigTransformer } from \"./applyTransformers.ts\";\n\nexport type OptimizeOption = boolean | \"readable\";\n\nexport type DefineBuildHtmlPluginConfigFunction = (defaultOptions: HtmlConfig) => HtmlConfig;\nexport type DefineBuildDefineReactPluginConfigFunction = (defaultOptions: PluginReactOptions) => PluginReactOptions;\nexport type DefineBuildSvgrPluginConfigFunction = (defaultOptions: PluginSvgrOptions) => PluginSvgrOptions;\nexport type DefineBuildImageCompressPluginConfigFunction = (defaultOptions: PluginImageCompressOptions) => PluginImageCompressOptions;\n\nexport interface DefineBuildConfigOptions {\n entry?: RsbuildEntry;\n // Similar to webpack.output.path.\n distPath?: DistPathConfig;\n // Similar to webpack.publicPath.\n assetPrefix?: string;\n plugins?: RsbuildPlugins;\n html?: false | DefineBuildHtmlPluginConfigFunction;\n minify?: Minify;\n optimize?: OptimizeOption;\n sourceMap?: boolean | SourceMap;\n react?: false | DefineBuildDefineReactPluginConfigFunction;\n svgr? : false | DefineBuildSvgrPluginConfigFunction;\n compressImage?: false | DefineBuildImageCompressPluginConfigFunction;\n environmentVariables?: Record<string, unknown>;\n transformers?: RsbuildConfigTransformer[];\n verbose?: boolean;\n}\n\nfunction defaultDefineHtmlPluginConfig(options: HtmlConfig) {\n return options;\n}\n\nfunction defaultDefineReactPluginConfig(options: PluginReactOptions) {\n return options;\n}\n\nfunction defineSvgrPluginConfig(options: PluginSvgrOptions) {\n return options;\n}\n\nfunction defineImageCompressPluginConfig(options: PluginImageCompressOptions) {\n return options;\n}\n\nexport function getOptimizationConfig(optimize: OptimizeOption): Optimization {\n if (optimize === true) {\n return {\n minimize: true\n };\n } else if (optimize === \"readable\") {\n return {\n minimize: true,\n minimizer: [\n new SwcJsMinimizerRspackPlugin({\n minimizerOptions: {\n mangle: false,\n compress: {\n toplevel: true,\n hoist_props: false\n }\n }\n })\n ],\n chunkIds: \"named\",\n moduleIds: \"named\",\n mangleExports: false\n };\n }\n\n // Doesn't turnoff everything but is good enough to help with debugging scenarios.\n return {\n minimize: false,\n chunkIds: \"named\",\n moduleIds: \"named\",\n concatenateModules: false,\n mangleExports: false,\n removeAvailableModules: false,\n usedExports: false\n };\n}\n\nexport function defineBuildConfig(options: DefineBuildConfigOptions = {}) {\n const {\n entry = {\n index: path.resolve(\"./src/index.tsx\")\n },\n distPath = {\n root: path.resolve(\"./dist\")\n },\n assetPrefix = \"http://localhost:8080\",\n plugins = [],\n html = defaultDefineHtmlPluginConfig,\n minify = true,\n optimize = true,\n sourceMap = {\n js: \"source-map\",\n css: true\n },\n react = defaultDefineReactPluginConfig,\n svgr = defineSvgrPluginConfig,\n compressImage = defineImageCompressPluginConfig,\n // Using an empty object literal as the default value to ensure\n // \"process.env\" is always available.\n environmentVariables = {},\n transformers = [],\n verbose = false\n } = options;\n\n const config: RsbuildConfig = {\n mode: \"production\",\n source: {\n entry,\n // Stringify the environment variables because the plugin does a direct text replacement. Otherwise, \"production\" would become production\n // after replacement and cause an undefined var error because the production var doesn't exist.\n // For more information, view: https://rsbuild.dev/guide/advanced/env-vars#using-define.\n define: {\n \"process.env\": Object.keys(environmentVariables).reduce((acc, key) => {\n acc[key] = JSON.stringify(environmentVariables[key]);\n\n return acc;\n }, {} as Record<string, string>)\n }\n },\n output: {\n target: \"web\",\n distPath,\n cleanDistPath: true,\n assetPrefix,\n filename: {\n html: \"[name].html\",\n js: \"[name].js\",\n css: \"[name].css\",\n svg: \"[name].[contenthash:8].svg\",\n font: \"[name].[contenthash:8][ext]\",\n image: \"[name].[contenthash:8][ext]\",\n media: \"[name].[contenthash:8][ext]\",\n assets: \"[name].[contenthash:8][ext]\"\n },\n minify,\n sourceMap\n },\n html: html\n ? html({ template: path.resolve(\"./public/index.html\") })\n : undefined,\n plugins: [\n react && pluginReact(react({\n fastRefresh: false\n })),\n svgr && pluginSvgr(svgr({\n svgrOptions: {\n exportType: \"named\"\n }\n })),\n compressImage && pluginImageCompress(compressImage([\"jpeg\", \"png\", \"ico\", \"svg\"])),\n ...plugins\n ].filter(Boolean),\n tools: {\n rspack: {\n optimization: getOptimizationConfig(optimize),\n infrastructureLogging: verbose ? {\n appendOnly: true,\n level: \"verbose\",\n debug: /PackFileCache/\n } : undefined\n }\n }\n };\n\n const transformedConfig = applyTransformers(config, transformers, {\n environment: \"build\",\n verbose\n });\n\n return defineConfig(transformedConfig);\n}\n"],"names":["defineConfig","pluginImageCompress","pluginReact","pluginSvgr","SwcJsMinimizerRspackPlugin","path","applyTransformers","defaultDefineHtmlPluginConfig","options","defaultDefineReactPluginConfig","defineSvgrPluginConfig","defineImageCompressPluginConfig","getOptimizationConfig","optimize","defineBuildConfig","entry","distPath","assetPrefix","plugins","html","minify","sourceMap","react","svgr","compressImage","environmentVariables","transformers","verbose","config","Object","acc","key","JSON","undefined","Boolean","transformedConfig"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAA4K;AACtE;AACzB;AACH;AACG;AAChD;AAC6D;AA4B1F,SAASO,8BAA8BC,OAAmB;IACtD,OAAOA;AACX;AAEA,SAASC,+BAA+BD,OAA2B;IAC/D,OAAOA;AACX;AAEA,SAASE,uBAAuBF,OAA0B;IACtD,OAAOA;AACX;AAEA,SAASG,gCAAgCH,OAAmC;IACxE,OAAOA;AACX;AAEO,SAASI,sBAAsBC,QAAwB;IAC1D,IAAIA,aAAa,MAAM;QACnB,OAAO;YACH,UAAU;QACd;IACJ,OAAO,IAAIA,aAAa,YAAY;QAChC,OAAO;YACH,UAAU;YACV,WAAW;gBACP,IAAIT,4EAA0BA,CAAC;oBAC3B,kBAAkB;wBACd,QAAQ;wBACR,UAAU;4BACN,UAAU;4BACV,aAAa;wBACjB;oBACJ;gBACJ;aACH;YACD,UAAU;YACV,WAAW;YACX,eAAe;QACnB;IACJ;IAEA,kFAAkF;IAClF,OAAO;QACH,UAAU;QACV,UAAU;QACV,WAAW;QACX,oBAAoB;QACpB,eAAe;QACf,wBAAwB;QACxB,aAAa;IACjB;AACJ;AAEO,SAASU,kBAAkBN,UAAoC,CAAC,CAAC;IACpE,MAAM,EACFO,QAAQ;QACJ,OAAOV,iEAAY,CAAC;IACxB,CAAC,EACDW,WAAW;QACP,MAAMX,iEAAY,CAAC;IACvB,CAAC,EACDY,cAAc,uBAAuB,EACrCC,UAAU,EAAE,EACZC,OAAOZ,6BAA6B,EACpCa,SAAS,IAAI,EACbP,WAAW,IAAI,EACfQ,YAAY;QACR,IAAI;QACJ,KAAK;IACT,CAAC,EACDC,QAAQb,8BAA8B,EACtCc,OAAOb,sBAAsB,EAC7Bc,gBAAgBb,+BAA+B,EAC/C,+DAA+D;IAC/D,qCAAqC;IACrCc,uBAAuB,CAAC,CAAC,EACzBC,eAAe,EAAE,EACjBC,UAAU,KAAK,EAClB,GAAGnB;IAEJ,MAAMoB,SAAwB;QAC1B,MAAM;QACN,QAAQ;YACJb;YACA,yIAAyI;YACzI,+FAA+F;YAC/F,wFAAwF;YACxF,QAAQ;gBACJ,eAAec,OAAO,IAAI,CAACJ,sBAAsB,MAAM,CAAC,CAACK,KAAKC;oBAC1DD,GAAG,CAACC,IAAI,GAAGC,KAAK,SAAS,CAACP,oBAAoB,CAACM,IAAI;oBAEnD,OAAOD;gBACX,GAAG,CAAC;YACR;QACJ;QACA,QAAQ;YACJ,QAAQ;YACRd;YACA,eAAe;YACfC;YACA,UAAU;gBACN,MAAM;gBACN,IAAI;gBACJ,KAAK;gBACL,KAAK;gBACL,MAAM;gBACN,OAAO;gBACP,OAAO;gBACP,QAAQ;YACZ;YACAG;YACAC;QACJ;QACA,MAAMF,OACAA,KAAK;YAAE,UAAUd,iEAAY,CAAC;QAAuB,KACrD4B;QACN,SAAS;YACLX,SAASpB,0EAAWA,CAACoB,MAAM;gBACvB,aAAa;YACjB;YACAC,QAAQpB,wEAAUA,CAACoB,KAAK;gBACpB,aAAa;oBACT,YAAY;gBAChB;YACJ;YACAC,iBAAiBvB,2FAAmBA,CAACuB,cAAc;gBAAC;gBAAQ;gBAAO;gBAAO;aAAM;eAC7EN;SACN,CAAC,MAAM,CAACgB;QACT,OAAO;YACH,QAAQ;gBACJ,cAActB,sBAAsBC;gBACpC,uBAAuBc,UAAU;oBAC7B,YAAY;oBACZ,OAAO;oBACP,OAAO;gBACX,IAAIM;YACR;QACJ;IACJ;IAEA,MAAME,oBAAoB7B,gFAAiBA,CAACsB,QAAQF,cAAc;QAC9D,aAAa;QACbC;IACJ;IAEA,OAAO3B,mEAAYA,CAACmC;AACxB"}
|
package/dist/dev.d.ts
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import { HtmlConfig,
|
|
2
|
-
import { PluginReactOptions } from
|
|
3
|
-
import { PluginSvgrOptions } from
|
|
4
|
-
import { RsbuildConfigTransformer } from
|
|
5
|
-
|
|
6
|
-
type
|
|
7
|
-
type
|
|
8
|
-
|
|
9
|
-
interface DefineDevConfigOptions {
|
|
1
|
+
import { type HtmlConfig, type RsbuildConfig, type RsbuildEntry, type RsbuildPlugins, type ServerConfig, type SourceMap } from "@rsbuild/core";
|
|
2
|
+
import { type PluginReactOptions } from "@rsbuild/plugin-react";
|
|
3
|
+
import { type PluginSvgrOptions } from "@rsbuild/plugin-svgr";
|
|
4
|
+
import { type RsbuildConfigTransformer } from "./applyTransformers.ts";
|
|
5
|
+
export type DefineDevHtmlPluginConfigFunction = (defaultOptions: HtmlConfig) => HtmlConfig;
|
|
6
|
+
export type DefineDevDefineReactPluginConfigFunction = (defaultOptions: PluginReactOptions) => PluginReactOptions;
|
|
7
|
+
export type DefineDevSvgrPluginConfigFunction = (defaultOptions: PluginSvgrOptions) => PluginSvgrOptions;
|
|
8
|
+
export interface DefineDevConfigOptions {
|
|
10
9
|
entry?: RsbuildEntry;
|
|
11
10
|
https?: boolean | ServerConfig["https"];
|
|
12
11
|
host?: string;
|
|
@@ -19,12 +18,11 @@ interface DefineDevConfigOptions {
|
|
|
19
18
|
fastRefresh?: boolean;
|
|
20
19
|
sourceMap?: false | SourceMap;
|
|
21
20
|
overlay?: false;
|
|
21
|
+
writeToDisk?: true;
|
|
22
22
|
react?: false | DefineDevDefineReactPluginConfigFunction;
|
|
23
23
|
svgr?: false | DefineDevSvgrPluginConfigFunction;
|
|
24
24
|
environmentVariables?: Record<string, unknown>;
|
|
25
25
|
transformers?: RsbuildConfigTransformer[];
|
|
26
26
|
verbose?: boolean;
|
|
27
27
|
}
|
|
28
|
-
declare function defineDevConfig(options?: DefineDevConfigOptions): RsbuildConfig;
|
|
29
|
-
|
|
30
|
-
export { type DefineDevConfigOptions, type DefineDevDefineReactPluginConfigFunction, type DefineDevHtmlPluginConfigFunction, type DefineDevSvgrPluginConfigFunction, defineDevConfig };
|
|
28
|
+
export declare function defineDevConfig(options?: DefineDevConfigOptions): RsbuildConfig;
|
package/dist/dev.js
CHANGED
|
@@ -1,2 +1,120 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
1
|
+
import * as __WEBPACK_EXTERNAL_MODULE__rsbuild_core_1b356efc__ from "@rsbuild/core";
|
|
2
|
+
import * as __WEBPACK_EXTERNAL_MODULE__rsbuild_plugin_basic_ssl_761a6c3b__ from "@rsbuild/plugin-basic-ssl";
|
|
3
|
+
import * as __WEBPACK_EXTERNAL_MODULE__rsbuild_plugin_react_7b149ee4__ from "@rsbuild/plugin-react";
|
|
4
|
+
import * as __WEBPACK_EXTERNAL_MODULE__rsbuild_plugin_svgr_14547cd0__ from "@rsbuild/plugin-svgr";
|
|
5
|
+
import * as __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__ from "node:path";
|
|
6
|
+
import * as __WEBPACK_EXTERNAL_MODULE__applyTransformers_js_2d4fcf6d__ from "./applyTransformers.js";
|
|
7
|
+
import * as __WEBPACK_EXTERNAL_MODULE__assertions_js_8ee55c0f__ from "./assertions.js";
|
|
8
|
+
|
|
9
|
+
;// CONCATENATED MODULE: external "@rsbuild/core"
|
|
10
|
+
|
|
11
|
+
;// CONCATENATED MODULE: external "@rsbuild/plugin-basic-ssl"
|
|
12
|
+
|
|
13
|
+
;// CONCATENATED MODULE: external "@rsbuild/plugin-react"
|
|
14
|
+
|
|
15
|
+
;// CONCATENATED MODULE: external "@rsbuild/plugin-svgr"
|
|
16
|
+
|
|
17
|
+
;// CONCATENATED MODULE: external "node:path"
|
|
18
|
+
|
|
19
|
+
;// CONCATENATED MODULE: external "./applyTransformers.js"
|
|
20
|
+
|
|
21
|
+
;// CONCATENATED MODULE: external "./assertions.js"
|
|
22
|
+
|
|
23
|
+
;// CONCATENATED MODULE: ./src/dev.ts?__rslib_entry__
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
function defaultDefineHtmlPluginConfig(options) {
|
|
32
|
+
return options;
|
|
33
|
+
}
|
|
34
|
+
function defaultDefineReactPluginConfig(options) {
|
|
35
|
+
return options;
|
|
36
|
+
}
|
|
37
|
+
function defineSvgrPluginConfig(options) {
|
|
38
|
+
return options;
|
|
39
|
+
}
|
|
40
|
+
function defineDevConfig(options = {}) {
|
|
41
|
+
const { entry = {
|
|
42
|
+
index: __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].resolve("./src/index.tsx")
|
|
43
|
+
}, https = false, host = "localhost", port = 8080, assetPrefix, plugins = [], html = defaultDefineHtmlPluginConfig, lazyCompilation = true, hmr = true, fastRefresh = true, sourceMap = {
|
|
44
|
+
js: "cheap-module-source-map",
|
|
45
|
+
css: true
|
|
46
|
+
}, overlay, writeToDisk, react = defaultDefineReactPluginConfig, svgr = defineSvgrPluginConfig, // Using an empty object literal as the default value to ensure
|
|
47
|
+
// "process.env" is always available.
|
|
48
|
+
environmentVariables = {}, transformers = [], verbose = false } = options;
|
|
49
|
+
const config = {
|
|
50
|
+
mode: "development",
|
|
51
|
+
dev: {
|
|
52
|
+
assetPrefix: assetPrefix ?? `${https ? "https" : "http"}://${host}:${port}`,
|
|
53
|
+
lazyCompilation,
|
|
54
|
+
hmr: hmr || fastRefresh,
|
|
55
|
+
client: overlay === false || fastRefresh ? {
|
|
56
|
+
overlay: false
|
|
57
|
+
} : undefined,
|
|
58
|
+
writeToDisk
|
|
59
|
+
},
|
|
60
|
+
server: {
|
|
61
|
+
https: (0,__WEBPACK_EXTERNAL_MODULE__assertions_js_8ee55c0f__.isBoolean)(https) ? undefined : https,
|
|
62
|
+
host,
|
|
63
|
+
port,
|
|
64
|
+
historyApiFallback: true
|
|
65
|
+
},
|
|
66
|
+
source: {
|
|
67
|
+
entry,
|
|
68
|
+
// Stringify the environment variables because the plugin does a direct text replacement. Otherwise, "production" would become production
|
|
69
|
+
// after replacement and cause an undefined var error because the production var doesn't exist.
|
|
70
|
+
// For more information, view: https://rsbuild.dev/guide/advanced/env-vars#using-define.
|
|
71
|
+
define: {
|
|
72
|
+
"process.env": Object.keys(environmentVariables).reduce((acc, key)=>{
|
|
73
|
+
acc[key] = JSON.stringify(environmentVariables[key]);
|
|
74
|
+
return acc;
|
|
75
|
+
}, {})
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
output: {
|
|
79
|
+
target: "web",
|
|
80
|
+
minify: false,
|
|
81
|
+
sourceMap
|
|
82
|
+
},
|
|
83
|
+
html: html ? html({
|
|
84
|
+
template: __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].resolve("./public/index.html")
|
|
85
|
+
}) : undefined,
|
|
86
|
+
plugins: [
|
|
87
|
+
(0,__WEBPACK_EXTERNAL_MODULE__assertions_js_8ee55c0f__.isBoolean)(https) && https && (0,__WEBPACK_EXTERNAL_MODULE__rsbuild_plugin_basic_ssl_761a6c3b__.pluginBasicSsl)(),
|
|
88
|
+
react && (0,__WEBPACK_EXTERNAL_MODULE__rsbuild_plugin_react_7b149ee4__.pluginReact)(react({
|
|
89
|
+
fastRefresh,
|
|
90
|
+
reactRefreshOptions: {
|
|
91
|
+
overlay: overlay !== false
|
|
92
|
+
}
|
|
93
|
+
})),
|
|
94
|
+
svgr && (0,__WEBPACK_EXTERNAL_MODULE__rsbuild_plugin_svgr_14547cd0__.pluginSvgr)(svgr({
|
|
95
|
+
svgrOptions: {
|
|
96
|
+
exportType: "named"
|
|
97
|
+
}
|
|
98
|
+
})),
|
|
99
|
+
...plugins
|
|
100
|
+
].filter(Boolean),
|
|
101
|
+
tools: {
|
|
102
|
+
rspack: {
|
|
103
|
+
infrastructureLogging: verbose ? {
|
|
104
|
+
appendOnly: true,
|
|
105
|
+
level: "verbose",
|
|
106
|
+
debug: /PackFileCache/
|
|
107
|
+
} : undefined
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
const transformedConfig = (0,__WEBPACK_EXTERNAL_MODULE__applyTransformers_js_2d4fcf6d__.applyTransformers)(config, transformers, {
|
|
112
|
+
environment: "dev",
|
|
113
|
+
verbose
|
|
114
|
+
});
|
|
115
|
+
return (0,__WEBPACK_EXTERNAL_MODULE__rsbuild_core_1b356efc__.defineConfig)(transformedConfig);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
export { defineDevConfig };
|
|
119
|
+
|
|
120
|
+
//# sourceMappingURL=dev.js.map
|
package/dist/dev.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev.js","sources":["webpack://@workleap/rsbuild-configs/./src/dev.ts"],"sourcesContent":["import { defineConfig, type HtmlConfig, type RsbuildConfig, type RsbuildEntry, type RsbuildPlugins, type ServerConfig, type SourceMap } from \"@rsbuild/core\";\nimport { pluginBasicSsl } from \"@rsbuild/plugin-basic-ssl\";\nimport { pluginReact, type PluginReactOptions } from \"@rsbuild/plugin-react\";\nimport { pluginSvgr, type PluginSvgrOptions } from \"@rsbuild/plugin-svgr\";\nimport path from \"node:path\";\nimport { applyTransformers, type RsbuildConfigTransformer } from \"./applyTransformers.ts\";\nimport { isBoolean } from \"./assertions.ts\";\n\nexport type DefineDevHtmlPluginConfigFunction = (defaultOptions: HtmlConfig) => HtmlConfig;\nexport type DefineDevDefineReactPluginConfigFunction = (defaultOptions: PluginReactOptions) => PluginReactOptions;\nexport type DefineDevSvgrPluginConfigFunction = (defaultOptions: PluginSvgrOptions) => PluginSvgrOptions;\n\nexport interface DefineDevConfigOptions {\n entry?: RsbuildEntry;\n https?: boolean | ServerConfig[\"https\"];\n host?: string;\n port?: number;\n // Similar to webpack.publicPath.\n assetPrefix?: string;\n plugins?: RsbuildPlugins;\n html?: false | DefineDevHtmlPluginConfigFunction;\n lazyCompilation?: boolean;\n hmr?: boolean;\n fastRefresh?: boolean;\n sourceMap?: false | SourceMap;\n overlay?: false;\n writeToDisk?: true;\n react?: false | DefineDevDefineReactPluginConfigFunction;\n svgr? : false | DefineDevSvgrPluginConfigFunction;\n environmentVariables?: Record<string, unknown>;\n transformers?: RsbuildConfigTransformer[];\n verbose?: boolean;\n}\n\nfunction defaultDefineHtmlPluginConfig(options: HtmlConfig) {\n return options;\n}\n\nfunction defaultDefineReactPluginConfig(options: PluginReactOptions) {\n return options;\n}\n\nfunction defineSvgrPluginConfig(options: PluginSvgrOptions) {\n return options;\n}\n\nexport function defineDevConfig(options: DefineDevConfigOptions = {}) {\n const {\n entry = {\n index: path.resolve(\"./src/index.tsx\")\n },\n https = false,\n host = \"localhost\",\n port = 8080,\n assetPrefix,\n plugins = [],\n html = defaultDefineHtmlPluginConfig,\n lazyCompilation = true,\n hmr = true,\n fastRefresh = true,\n sourceMap = {\n js: \"cheap-module-source-map\",\n css: true\n },\n overlay,\n writeToDisk,\n react = defaultDefineReactPluginConfig,\n svgr = defineSvgrPluginConfig,\n // Using an empty object literal as the default value to ensure\n // \"process.env\" is always available.\n environmentVariables = {},\n transformers = [],\n verbose = false\n } = options;\n\n const config: RsbuildConfig = {\n mode: \"development\",\n dev: {\n assetPrefix: assetPrefix ?? `${https ? \"https\" : \"http\"}://${host}:${port}`,\n lazyCompilation,\n hmr: hmr || fastRefresh,\n client: (overlay === false || fastRefresh) ? {\n overlay: false\n } : undefined,\n writeToDisk\n },\n server: {\n https: isBoolean(https) ? undefined : https,\n host,\n port,\n historyApiFallback: true\n },\n source: {\n entry,\n // Stringify the environment variables because the plugin does a direct text replacement. Otherwise, \"production\" would become production\n // after replacement and cause an undefined var error because the production var doesn't exist.\n // For more information, view: https://rsbuild.dev/guide/advanced/env-vars#using-define.\n define: {\n \"process.env\": Object.keys(environmentVariables).reduce((acc, key) => {\n acc[key] = JSON.stringify(environmentVariables[key]);\n\n return acc;\n }, {} as Record<string, string>)\n }\n },\n output: {\n target: \"web\",\n minify: false,\n sourceMap\n },\n html: html\n ? html({ template: path.resolve(\"./public/index.html\") })\n : undefined,\n plugins: [\n isBoolean(https) && https && pluginBasicSsl(),\n react && pluginReact(react({\n fastRefresh,\n reactRefreshOptions: {\n overlay: overlay !== false\n }\n })),\n svgr && pluginSvgr(svgr({\n svgrOptions: {\n exportType: \"named\"\n }\n })),\n ...plugins\n ].filter(Boolean),\n tools: {\n rspack: {\n infrastructureLogging: verbose ? {\n appendOnly: true,\n level: \"verbose\",\n debug: /PackFileCache/\n } : undefined\n }\n }\n };\n\n const transformedConfig = applyTransformers(config, transformers, {\n environment: \"dev\",\n verbose\n });\n\n return defineConfig(transformedConfig);\n}\n\n"],"names":["defineConfig","pluginBasicSsl","pluginReact","pluginSvgr","path","applyTransformers","isBoolean","defaultDefineHtmlPluginConfig","options","defaultDefineReactPluginConfig","defineSvgrPluginConfig","defineDevConfig","entry","https","host","port","assetPrefix","plugins","html","lazyCompilation","hmr","fastRefresh","sourceMap","overlay","writeToDisk","react","svgr","environmentVariables","transformers","verbose","config","undefined","Object","acc","key","JSON","Boolean","transformedConfig"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAA6J;AAClG;AACkB;AACH;AAC7C;AAC6D;AAC9C;AA4B5C,SAASO,8BAA8BC,OAAmB;IACtD,OAAOA;AACX;AAEA,SAASC,+BAA+BD,OAA2B;IAC/D,OAAOA;AACX;AAEA,SAASE,uBAAuBF,OAA0B;IACtD,OAAOA;AACX;AAEO,SAASG,gBAAgBH,UAAkC,CAAC,CAAC;IAChE,MAAM,EACFI,QAAQ;QACJ,OAAOR,iEAAY,CAAC;IACxB,CAAC,EACDS,QAAQ,KAAK,EACbC,OAAO,WAAW,EAClBC,OAAO,IAAI,EACXC,WAAW,EACXC,UAAU,EAAE,EACZC,OAAOX,6BAA6B,EACpCY,kBAAkB,IAAI,EACtBC,MAAM,IAAI,EACVC,cAAc,IAAI,EAClBC,YAAY;QACR,IAAI;QACJ,KAAK;IACT,CAAC,EACDC,OAAO,EACPC,WAAW,EACXC,QAAQhB,8BAA8B,EACtCiB,OAAOhB,sBAAsB,EAC7B,+DAA+D;IAC/D,qCAAqC;IACrCiB,uBAAuB,CAAC,CAAC,EACzBC,eAAe,EAAE,EACjBC,UAAU,KAAK,EAClB,GAAGrB;IAEJ,MAAMsB,SAAwB;QAC1B,MAAM;QACN,KAAK;YACD,aAAad,eAAe,GAAGH,QAAQ,UAAU,OAAO,GAAG,EAAEC,KAAK,CAAC,EAAEC,MAAM;YAC3EI;YACA,KAAKC,OAAOC;YACZ,QAASE,YAAY,SAASF,cAAe;gBACzC,SAAS;YACb,IAAIU;YACJP;QACJ;QACA,QAAQ;YACJ,OAAOlB,iEAASA,CAACO,SAASkB,YAAYlB;YACtCC;YACAC;YACA,oBAAoB;QACxB;QACA,QAAQ;YACJH;YACA,yIAAyI;YACzI,+FAA+F;YAC/F,wFAAwF;YACxF,QAAQ;gBACJ,eAAeoB,OAAO,IAAI,CAACL,sBAAsB,MAAM,CAAC,CAACM,KAAKC;oBAC1DD,GAAG,CAACC,IAAI,GAAGC,KAAK,SAAS,CAACR,oBAAoB,CAACO,IAAI;oBAEnD,OAAOD;gBACX,GAAG,CAAC;YACR;QACJ;QACA,QAAQ;YACJ,QAAQ;YACR,QAAQ;YACRX;QACJ;QACA,MAAMJ,OACAA,KAAK;YAAE,UAAUd,iEAAY,CAAC;QAAuB,KACrD2B;QACN,SAAS;YACLzB,iEAASA,CAACO,UAAUA,SAASZ,iFAAcA;YAC3CwB,SAASvB,0EAAWA,CAACuB,MAAM;gBACvBJ;gBACA,qBAAqB;oBACjB,SAASE,YAAY;gBACzB;YACJ;YACAG,QAAQvB,wEAAUA,CAACuB,KAAK;gBACpB,aAAa;oBACT,YAAY;gBAChB;YACJ;eACGT;SACN,CAAC,MAAM,CAACmB;QACT,OAAO;YACH,QAAQ;gBACJ,uBAAuBP,UAAU;oBAC7B,YAAY;oBACZ,OAAO;oBACP,OAAO;gBACX,IAAIE;YACR;QACJ;IACJ;IAEA,MAAMM,oBAAoBhC,gFAAiBA,CAACyB,QAAQF,cAAc;QAC9D,aAAa;QACbC;IACJ;IAEA,OAAO7B,mEAAYA,CAACqC;AACxB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
export { RsbuildConfigTransformer, RsbuildConfigTransformerContext } from
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
import '@rsbuild/core';
|
|
6
|
-
import '@rsbuild/plugin-image-compress';
|
|
7
|
-
import '@rsbuild/plugin-react';
|
|
8
|
-
import '@rsbuild/plugin-svgr';
|
|
9
|
-
import '@rspack/core';
|
|
1
|
+
export type { RsbuildConfigTransformer, RsbuildConfigTransformerContext } from "./applyTransformers.ts";
|
|
2
|
+
export * from "./build.ts";
|
|
3
|
+
export * from "./dev.ts";
|
|
4
|
+
export * from "./storybook.ts";
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
|
|
1
|
+
export * from "./build.js";
|
|
2
|
+
export * from "./dev.js";
|
|
3
|
+
export * from "./storybook.js";
|
|
4
|
+
|
|
5
|
+
;// CONCATENATED MODULE: ./src/index.ts?__rslib_entry__
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["webpack://@workleap/rsbuild-configs/./src/index.ts"],"sourcesContent":["export type { RsbuildConfigTransformer, RsbuildConfigTransformerContext } from \"./applyTransformers.ts\";\nexport * from \"./build.ts\";\nexport * from \"./dev.ts\";\nexport * from \"./storybook.ts\";\n\n"],"names":[],"mappings":";;;;;AAC2B;AACF;AACM"}
|
package/dist/storybook.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { RsbuildPlugins, SourceMap
|
|
2
|
-
import { PluginReactOptions } from
|
|
3
|
-
import { PluginSvgrOptions } from
|
|
4
|
-
import { RsbuildConfigTransformer } from
|
|
5
|
-
|
|
6
|
-
type
|
|
7
|
-
|
|
8
|
-
interface DefineStorybookConfigOptions {
|
|
1
|
+
import { type RsbuildConfig, type RsbuildPlugins, type SourceMap } from "@rsbuild/core";
|
|
2
|
+
import { type PluginReactOptions } from "@rsbuild/plugin-react";
|
|
3
|
+
import { type PluginSvgrOptions } from "@rsbuild/plugin-svgr";
|
|
4
|
+
import { type RsbuildConfigTransformer } from "./applyTransformers.ts";
|
|
5
|
+
export type DefineStorybookDefineReactPluginConfigFunction = (defaultOptions: PluginReactOptions) => PluginReactOptions;
|
|
6
|
+
export type DefineStorybookSvgrPluginConfigFunction = (defaultOptions: PluginSvgrOptions) => PluginSvgrOptions;
|
|
7
|
+
export interface DefineStorybookConfigOptions {
|
|
9
8
|
plugins?: RsbuildPlugins;
|
|
10
9
|
sourceMap?: boolean | SourceMap;
|
|
11
10
|
react?: false | DefineStorybookDefineReactPluginConfigFunction;
|
|
@@ -14,6 +13,4 @@ interface DefineStorybookConfigOptions {
|
|
|
14
13
|
transformers?: RsbuildConfigTransformer[];
|
|
15
14
|
verbose?: boolean;
|
|
16
15
|
}
|
|
17
|
-
declare function defineStorybookConfig(options?: DefineStorybookConfigOptions): RsbuildConfig;
|
|
18
|
-
|
|
19
|
-
export { type DefineStorybookConfigOptions, type DefineStorybookDefineReactPluginConfigFunction, type DefineStorybookSvgrPluginConfigFunction, defineStorybookConfig };
|
|
16
|
+
export declare function defineStorybookConfig(options?: DefineStorybookConfigOptions): RsbuildConfig;
|
package/dist/storybook.js
CHANGED
|
@@ -1,2 +1,77 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
1
|
+
import * as __WEBPACK_EXTERNAL_MODULE__rsbuild_core_1b356efc__ from "@rsbuild/core";
|
|
2
|
+
import * as __WEBPACK_EXTERNAL_MODULE__rsbuild_plugin_react_7b149ee4__ from "@rsbuild/plugin-react";
|
|
3
|
+
import * as __WEBPACK_EXTERNAL_MODULE__rsbuild_plugin_svgr_14547cd0__ from "@rsbuild/plugin-svgr";
|
|
4
|
+
import * as __WEBPACK_EXTERNAL_MODULE__applyTransformers_js_2d4fcf6d__ from "./applyTransformers.js";
|
|
5
|
+
|
|
6
|
+
;// CONCATENATED MODULE: external "@rsbuild/core"
|
|
7
|
+
|
|
8
|
+
;// CONCATENATED MODULE: external "@rsbuild/plugin-react"
|
|
9
|
+
|
|
10
|
+
;// CONCATENATED MODULE: external "@rsbuild/plugin-svgr"
|
|
11
|
+
|
|
12
|
+
;// CONCATENATED MODULE: external "./applyTransformers.js"
|
|
13
|
+
|
|
14
|
+
;// CONCATENATED MODULE: ./src/storybook.ts?__rslib_entry__
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
function defaultDefineReactPluginConfig(options) {
|
|
20
|
+
return options;
|
|
21
|
+
}
|
|
22
|
+
function defineSvgrPluginConfig(options) {
|
|
23
|
+
return options;
|
|
24
|
+
}
|
|
25
|
+
function defineStorybookConfig(options = {}) {
|
|
26
|
+
const { plugins = [], sourceMap = {
|
|
27
|
+
js: "cheap-module-source-map",
|
|
28
|
+
css: true
|
|
29
|
+
}, react = defaultDefineReactPluginConfig, svgr = defineSvgrPluginConfig, // Using an empty object literal as the default value to ensure
|
|
30
|
+
// "process.env" is always available.
|
|
31
|
+
environmentVariables = {}, transformers = [], verbose = false } = options;
|
|
32
|
+
const config = {
|
|
33
|
+
source: {
|
|
34
|
+
// Stringify the environment variables because the plugin does a direct text replacement. Otherwise, "production" would become production
|
|
35
|
+
// after replacement and cause an undefined var error because the production var doesn't exist.
|
|
36
|
+
// For more information, view: https://rsbuild.dev/guide/advanced/env-vars#using-define.
|
|
37
|
+
define: {
|
|
38
|
+
"process.env": Object.keys(environmentVariables).reduce((acc, key)=>{
|
|
39
|
+
acc[key] = JSON.stringify(environmentVariables[key]);
|
|
40
|
+
return acc;
|
|
41
|
+
}, {})
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
output: {
|
|
45
|
+
target: "web",
|
|
46
|
+
minify: false,
|
|
47
|
+
sourceMap
|
|
48
|
+
},
|
|
49
|
+
plugins: [
|
|
50
|
+
react && (0,__WEBPACK_EXTERNAL_MODULE__rsbuild_plugin_react_7b149ee4__.pluginReact)(react({})),
|
|
51
|
+
svgr && (0,__WEBPACK_EXTERNAL_MODULE__rsbuild_plugin_svgr_14547cd0__.pluginSvgr)(svgr({
|
|
52
|
+
svgrOptions: {
|
|
53
|
+
exportType: "named"
|
|
54
|
+
}
|
|
55
|
+
})),
|
|
56
|
+
...plugins
|
|
57
|
+
].filter(Boolean),
|
|
58
|
+
tools: {
|
|
59
|
+
rspack: {
|
|
60
|
+
infrastructureLogging: verbose ? {
|
|
61
|
+
appendOnly: true,
|
|
62
|
+
level: "verbose",
|
|
63
|
+
debug: /PackFileCache/
|
|
64
|
+
} : undefined
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
const transformedConfig = (0,__WEBPACK_EXTERNAL_MODULE__applyTransformers_js_2d4fcf6d__.applyTransformers)(config, transformers, {
|
|
69
|
+
environment: "storybook",
|
|
70
|
+
verbose
|
|
71
|
+
});
|
|
72
|
+
return (0,__WEBPACK_EXTERNAL_MODULE__rsbuild_core_1b356efc__.defineConfig)(transformedConfig);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export { defineStorybookConfig };
|
|
76
|
+
|
|
77
|
+
//# sourceMappingURL=storybook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storybook.js","sources":["webpack://@workleap/rsbuild-configs/./src/storybook.ts"],"sourcesContent":["import { defineConfig, type RsbuildConfig, type RsbuildPlugins, type SourceMap } from \"@rsbuild/core\";\nimport { pluginReact, type PluginReactOptions } from \"@rsbuild/plugin-react\";\nimport { pluginSvgr, type PluginSvgrOptions } from \"@rsbuild/plugin-svgr\";\nimport { applyTransformers, type RsbuildConfigTransformer } from \"./applyTransformers.ts\";\n\nexport type DefineStorybookDefineReactPluginConfigFunction = (defaultOptions: PluginReactOptions) => PluginReactOptions;\nexport type DefineStorybookSvgrPluginConfigFunction = (defaultOptions: PluginSvgrOptions) => PluginSvgrOptions;\n\nexport interface DefineStorybookConfigOptions {\n plugins?: RsbuildPlugins;\n sourceMap?: boolean | SourceMap;\n react?: false | DefineStorybookDefineReactPluginConfigFunction;\n svgr? : false | DefineStorybookSvgrPluginConfigFunction;\n environmentVariables?: Record<string, unknown>;\n transformers?: RsbuildConfigTransformer[];\n verbose?: boolean;\n}\n\nfunction defaultDefineReactPluginConfig(options: PluginReactOptions) {\n return options;\n}\n\nfunction defineSvgrPluginConfig(options: PluginSvgrOptions) {\n return options;\n}\n\nexport function defineStorybookConfig(options: DefineStorybookConfigOptions = {}) {\n const {\n plugins = [],\n sourceMap = {\n js: \"cheap-module-source-map\",\n css: true\n },\n react = defaultDefineReactPluginConfig,\n svgr = defineSvgrPluginConfig,\n // Using an empty object literal as the default value to ensure\n // \"process.env\" is always available.\n environmentVariables = {},\n transformers = [],\n verbose = false\n } = options;\n\n const config: RsbuildConfig = {\n source: {\n // Stringify the environment variables because the plugin does a direct text replacement. Otherwise, \"production\" would become production\n // after replacement and cause an undefined var error because the production var doesn't exist.\n // For more information, view: https://rsbuild.dev/guide/advanced/env-vars#using-define.\n define: {\n \"process.env\": Object.keys(environmentVariables).reduce((acc, key) => {\n acc[key] = JSON.stringify(environmentVariables[key]);\n\n return acc;\n }, {} as Record<string, string>)\n }\n },\n output: {\n target: \"web\",\n minify: false,\n sourceMap\n },\n plugins: [\n react && pluginReact(react({})),\n svgr && pluginSvgr(svgr({\n svgrOptions: {\n exportType: \"named\"\n }\n })),\n ...plugins\n ].filter(Boolean),\n tools: {\n rspack: {\n infrastructureLogging: verbose ? {\n appendOnly: true,\n level: \"verbose\",\n debug: /PackFileCache/\n } : undefined\n }\n }\n };\n\n const transformedConfig = applyTransformers(config, transformers, {\n environment: \"storybook\",\n verbose\n });\n\n return defineConfig(transformedConfig);\n}\n"],"names":["defineConfig","pluginReact","pluginSvgr","applyTransformers","defaultDefineReactPluginConfig","options","defineSvgrPluginConfig","defineStorybookConfig","plugins","sourceMap","react","svgr","environmentVariables","transformers","verbose","config","Object","acc","key","JSON","Boolean","undefined","transformedConfig"],"mappings":";;;;;;;;;;;;;;AAAsG;AACzB;AACH;AACgB;AAe1F,SAASI,+BAA+BC,OAA2B;IAC/D,OAAOA;AACX;AAEA,SAASC,uBAAuBD,OAA0B;IACtD,OAAOA;AACX;AAEO,SAASE,sBAAsBF,UAAwC,CAAC,CAAC;IAC5E,MAAM,EACFG,UAAU,EAAE,EACZC,YAAY;QACR,IAAI;QACJ,KAAK;IACT,CAAC,EACDC,QAAQN,8BAA8B,EACtCO,OAAOL,sBAAsB,EAC7B,+DAA+D;IAC/D,qCAAqC;IACrCM,uBAAuB,CAAC,CAAC,EACzBC,eAAe,EAAE,EACjBC,UAAU,KAAK,EAClB,GAAGT;IAEJ,MAAMU,SAAwB;QAC1B,QAAQ;YACJ,yIAAyI;YACzI,+FAA+F;YAC/F,wFAAwF;YACxF,QAAQ;gBACJ,eAAeC,OAAO,IAAI,CAACJ,sBAAsB,MAAM,CAAC,CAACK,KAAKC;oBAC1DD,GAAG,CAACC,IAAI,GAAGC,KAAK,SAAS,CAACP,oBAAoB,CAACM,IAAI;oBAEnD,OAAOD;gBACX,GAAG,CAAC;YACR;QACJ;QACA,QAAQ;YACJ,QAAQ;YACR,QAAQ;YACRR;QACJ;QACA,SAAS;YACLC,SAAST,0EAAWA,CAACS,MAAM,CAAC;YAC5BC,QAAQT,wEAAUA,CAACS,KAAK;gBACpB,aAAa;oBACT,YAAY;gBAChB;YACJ;eACGH;SACN,CAAC,MAAM,CAACY;QACT,OAAO;YACH,QAAQ;gBACJ,uBAAuBN,UAAU;oBAC7B,YAAY;oBACZ,OAAO;oBACP,OAAO;gBACX,IAAIO;YACR;QACJ;IACJ;IAEA,MAAMC,oBAAoBnB,gFAAiBA,CAACY,QAAQF,cAAc;QAC9D,aAAa;QACbC;IACJ;IAEA,OAAOd,mEAAYA,CAACsB;AACxB"}
|