@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 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 '@rsbuild/core';
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
- export { applyTransformers } from './chunk-X723TIEI.js';
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,9 @@
1
+
2
+ ;// CONCATENATED MODULE: ./src/assertions.ts?__rslib_entry__
3
+ function isBoolean(value) {
4
+ return typeof value === "boolean";
5
+ }
6
+
7
+ export { isBoolean };
8
+
9
+ //# sourceMappingURL=assertions.js.map
@@ -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, RsbuildEntry, DistPathConfig, RsbuildPlugins, Minify, SourceMap, RsbuildConfig } from '@rsbuild/core';
2
- import { PluginImageCompressOptions } from '@rsbuild/plugin-image-compress';
3
- import { PluginReactOptions } from '@rsbuild/plugin-react';
4
- import { PluginSvgrOptions } from '@rsbuild/plugin-svgr';
5
- import { Optimization } from '@rspack/core';
6
- import { RsbuildConfigTransformer } from './applyTransformers.js';
7
-
8
- type OptimizeOption = boolean | "readable";
9
- type DefineBuildHtmlPluginConfigFunction = (defaultOptions: HtmlConfig) => HtmlConfig;
10
- type DefineBuildDefineReactPluginConfigFunction = (defaultOptions: PluginReactOptions) => PluginReactOptions;
11
- type DefineBuildSvgrPluginConfigFunction = (defaultOptions: PluginSvgrOptions) => PluginSvgrOptions;
12
- type DefineBuildImageCompressPluginConfigFunction = (defaultOptions: PluginImageCompressOptions) => PluginImageCompressOptions;
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
- export { defineBuildConfig, getOptimizationConfig } from './chunk-JED7EPT2.js';
2
- import './chunk-X723TIEI.js';
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, RsbuildEntry, ServerConfig, RsbuildPlugins, SourceMap, RsbuildConfig } from '@rsbuild/core';
2
- import { PluginReactOptions } from '@rsbuild/plugin-react';
3
- import { PluginSvgrOptions } from '@rsbuild/plugin-svgr';
4
- import { RsbuildConfigTransformer } from './applyTransformers.js';
5
-
6
- type DefineDevHtmlPluginConfigFunction = (defaultOptions: HtmlConfig) => HtmlConfig;
7
- type DefineDevDefineReactPluginConfigFunction = (defaultOptions: PluginReactOptions) => PluginReactOptions;
8
- type DefineDevSvgrPluginConfigFunction = (defaultOptions: PluginSvgrOptions) => PluginSvgrOptions;
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
- export { defineDevConfig } from './chunk-MKDSFUJ7.js';
2
- import './chunk-X723TIEI.js';
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
@@ -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 './applyTransformers.js';
2
- export { DefineBuildConfigOptions, DefineBuildDefineReactPluginConfigFunction, DefineBuildHtmlPluginConfigFunction, DefineBuildImageCompressPluginConfigFunction, DefineBuildSvgrPluginConfigFunction, OptimizeOption, defineBuildConfig, getOptimizationConfig } from './build.js';
3
- export { DefineDevConfigOptions, DefineDevDefineReactPluginConfigFunction, DefineDevHtmlPluginConfigFunction, DefineDevSvgrPluginConfigFunction, defineDevConfig } from './dev.js';
4
- export { DefineStorybookConfigOptions, DefineStorybookDefineReactPluginConfigFunction, DefineStorybookSvgrPluginConfigFunction, defineStorybookConfig } from './storybook.js';
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 { defineBuildConfig, getOptimizationConfig } from './chunk-JED7EPT2.js';
2
- export { defineDevConfig } from './chunk-MKDSFUJ7.js';
3
- export { defineStorybookConfig } from './chunk-2WQ2TYK3.js';
4
- import './chunk-X723TIEI.js';
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"}
@@ -1,11 +1,10 @@
1
- import { RsbuildPlugins, SourceMap, RsbuildConfig } from '@rsbuild/core';
2
- import { PluginReactOptions } from '@rsbuild/plugin-react';
3
- import { PluginSvgrOptions } from '@rsbuild/plugin-svgr';
4
- import { RsbuildConfigTransformer } from './applyTransformers.js';
5
-
6
- type DefineStorybookDefineReactPluginConfigFunction = (defaultOptions: PluginReactOptions) => PluginReactOptions;
7
- type DefineStorybookSvgrPluginConfigFunction = (defaultOptions: PluginSvgrOptions) => PluginSvgrOptions;
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
- export { defineStorybookConfig } from './chunk-2WQ2TYK3.js';
2
- import './chunk-X723TIEI.js';
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"}