@teambit/preview 1.0.882 → 1.0.884

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +0,0 @@
1
- import { type Configuration } from '@rspack/core';
2
- export declare function createRspackConfig(outputDir: string, entryFile: string): Configuration;
@@ -1,271 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.createRspackConfig = createRspackConfig;
7
- function _core() {
8
- const data = require("@rspack/core");
9
- _core = function () {
10
- return data;
11
- };
12
- return data;
13
- }
14
- function _webpack() {
15
- const data = require("@teambit/webpack");
16
- _webpack = function () {
17
- return data;
18
- };
19
- return data;
20
- }
21
- function _mdxModules() {
22
- const data = require("@teambit/mdx.modules.mdx-v3-options");
23
- _mdxModules = function () {
24
- return data;
25
- };
26
- return data;
27
- }
28
- function _rspackManifestPlugin() {
29
- const data = require("rspack-manifest-plugin");
30
- _rspackManifestPlugin = function () {
31
- return data;
32
- };
33
- return data;
34
- }
35
- function _rspackModules() {
36
- const data = require("@teambit/rspack.modules.generate-asset-manifest");
37
- _rspackModules = function () {
38
- return data;
39
- };
40
- return data;
41
- }
42
- const moduleFileExtensions = ['web.mjs', 'mjs', 'web.js', 'js', 'web.ts', 'ts', 'web.tsx', 'tsx', 'json', 'web.jsx', 'jsx', 'mdx', 'md'];
43
- const imageInlineSizeLimit = parseInt(process.env.IMAGE_INLINE_SIZE_LIMIT || '10000');
44
- const cssModuleGenerator = {
45
- localIdentName: '[name]__[local]--[hash:base64:5]',
46
- esModule: false
47
- };
48
- const cssParser = {
49
- css: {
50
- namedExports: false
51
- },
52
- 'css/auto': {
53
- namedExports: false
54
- },
55
- 'css/module': {
56
- namedExports: false
57
- }
58
- };
59
- function createRspackConfig(outputDir, entryFile) {
60
- const mode = process.env.BIT_DEBUG_PREVIEW_BUNDLE ? 'development' : 'production';
61
- const shouldUseSourceMap = mode === 'development' || process.env.GENERATE_SOURCEMAP === 'true';
62
- return {
63
- stats: {
64
- children: true,
65
- errorDetails: true
66
- },
67
- mode,
68
- devtool: shouldUseSourceMap ? 'source-map' : false,
69
- experiments: {
70
- css: true
71
- },
72
- entry: {
73
- main: entryFile
74
- },
75
- output: {
76
- path: outputDir,
77
- publicPath: '/',
78
- chunkFilename: 'static/js/[name].[contenthash:8].chunk.cjs',
79
- filename: 'static/js/[name].[contenthash:8].cjs',
80
- cssFilename: 'static/css/[name].[contenthash:8].css',
81
- cssChunkFilename: 'static/css/[name].[contenthash:8].chunk.css',
82
- library: {
83
- type: 'commonjs-static'
84
- }
85
- },
86
- externalsType: 'commonjs',
87
- externals: ['react', 'react-dom', '@mdx-js/react', '@teambit/mdx.ui.mdx-scope-context'],
88
- resolve: {
89
- extensions: moduleFileExtensions.map(ext => `.${ext}`),
90
- alias: {
91
- 'react/jsx-runtime': require.resolve('react/jsx-runtime'),
92
- react: require.resolve('react'),
93
- 'react-dom': require.resolve('react-dom')
94
- },
95
- fallback: {
96
- module: false,
97
- path: _webpack().fallbacks.path,
98
- dgram: false,
99
- dns: false,
100
- fs: false,
101
- stream: false,
102
- http2: false,
103
- net: false,
104
- tls: false,
105
- child_process: false,
106
- process: _webpack().fallbacks.process
107
- }
108
- },
109
- optimization: {
110
- minimize: mode === 'production',
111
- minimizer: [new (_core().rspack.SwcJsMinimizerRspackPlugin)({
112
- minimizerOptions: {
113
- compress: {
114
- ecma: 5,
115
- comparisons: false,
116
- inline: 2
117
- },
118
- // We need to keep class names and disable mangling to prevent issues with consuming the rspack bundle in
119
- // other bundlers (e.g. webpack) that rely on class names for tree shaking and other optimizations.
120
- mangle: false,
121
- format: {
122
- ecma: 5,
123
- comments: false,
124
- ascii_only: true
125
- }
126
- }
127
- }), new (_core().rspack.LightningCssMinimizerRspackPlugin)({})]
128
- },
129
- module: {
130
- parser: cssParser,
131
- rules: [{
132
- test: /\.m?js/,
133
- resolve: {
134
- fullySpecified: false
135
- }
136
- }, {
137
- test: /\.(js|mjs|jsx|ts|tsx)$/,
138
- exclude: /node_modules/,
139
- use: {
140
- loader: 'builtin:swc-loader',
141
- options: {
142
- jsc: {
143
- parser: {
144
- syntax: 'typescript',
145
- tsx: true
146
- },
147
- transform: {
148
- react: {
149
- runtime: 'automatic'
150
- }
151
- },
152
- target: 'es2015'
153
- }
154
- }
155
- },
156
- type: 'javascript/auto'
157
- }, {
158
- test: /\.js$/,
159
- enforce: 'pre',
160
- include: /node_modules/,
161
- descriptionData: {
162
- componentId: value => !!value
163
- },
164
- extractSourceMap: shouldUseSourceMap
165
- }, {
166
- test: [/\.bmp$/, /\.gif$/, /\.jpe?g$/, /\.png$/],
167
- type: 'asset',
168
- parser: {
169
- dataUrlCondition: {
170
- maxSize: imageInlineSizeLimit
171
- }
172
- }
173
- }, {
174
- test: /\.svg$/,
175
- type: 'asset',
176
- parser: {
177
- dataUrlCondition: {
178
- maxSize: imageInlineSizeLimit
179
- }
180
- }
181
- }, {
182
- test: /\.css$/,
183
- exclude: /\.module\.css$/,
184
- type: 'css',
185
- sideEffects: true
186
- }, {
187
- test: /\.module\.css$/,
188
- type: 'css/module',
189
- generator: cssModuleGenerator
190
- }, {
191
- test: /\.(scss|sass)$/,
192
- exclude: /\.module\.(scss|sass)$/,
193
- use: [{
194
- loader: require.resolve('resolve-url-loader'),
195
- options: {
196
- sourceMap: shouldUseSourceMap
197
- }
198
- }, {
199
- loader: require.resolve('sass-loader'),
200
- options: {
201
- sourceMap: shouldUseSourceMap
202
- }
203
- }],
204
- type: 'css',
205
- sideEffects: true
206
- }, {
207
- test: /\.module\.(scss|sass)$/,
208
- use: [{
209
- loader: require.resolve('resolve-url-loader'),
210
- options: {
211
- sourceMap: shouldUseSourceMap
212
- }
213
- }, {
214
- loader: require.resolve('sass-loader'),
215
- options: {
216
- sourceMap: shouldUseSourceMap
217
- }
218
- }],
219
- type: 'css/module',
220
- generator: cssModuleGenerator
221
- }, {
222
- test: /\.(woff(2)?|ttf|eot)(\?v=\d+\.\d+\.\d+)?$/,
223
- type: 'asset',
224
- generator: {
225
- filename: 'static/fonts/[hash][ext][query]'
226
- }
227
- }, {
228
- test: /\.mdx?$/,
229
- use: [{
230
- loader: 'builtin:swc-loader',
231
- options: {
232
- jsc: {
233
- parser: {
234
- syntax: 'typescript',
235
- tsx: true
236
- },
237
- transform: {
238
- react: {
239
- runtime: 'automatic'
240
- }
241
- },
242
- target: 'es2015'
243
- }
244
- }
245
- }, {
246
- loader: require.resolve('@mdx-js/loader'),
247
- options: _mdxModules().mdxOptions
248
- }, {
249
- // transforms admonition syntax (:::type content → :::type[content]) for mdx v3
250
- loader: require.resolve('@teambit/react/dist/webpack/mdx-pre-loader.cjs')
251
- }],
252
- type: 'javascript/auto'
253
- }, {
254
- exclude: [/\.(cjs|js|mjs|jsx|ts|tsx)$/, /\.html$/, /\.json$/, /\.css$/, /\.s[ac]ss$/, /\.less$/, /\.mdx?$/],
255
- type: 'asset/resource'
256
- }]
257
- },
258
- plugins: [new (_rspackManifestPlugin().RspackManifestPlugin)({
259
- fileName: 'asset-manifest.json',
260
- generate: _rspackModules().generateAssetManifest
261
- }), new (_core().rspack.ProvidePlugin)({
262
- process: _webpack().fallbacksProvidePluginConfig.process
263
- }), new (_core().rspack.IgnorePlugin)({
264
- resourceRegExp: /^\.\/locale$/,
265
- contextRegExp: /moment$/
266
- })],
267
- performance: false
268
- };
269
- }
270
-
271
- //# sourceMappingURL=rspack.config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_core","data","require","_webpack","_mdxModules","_rspackManifestPlugin","_rspackModules","moduleFileExtensions","imageInlineSizeLimit","parseInt","process","env","IMAGE_INLINE_SIZE_LIMIT","cssModuleGenerator","localIdentName","esModule","cssParser","css","namedExports","createRspackConfig","outputDir","entryFile","mode","BIT_DEBUG_PREVIEW_BUNDLE","shouldUseSourceMap","GENERATE_SOURCEMAP","stats","children","errorDetails","devtool","experiments","entry","main","output","path","publicPath","chunkFilename","filename","cssFilename","cssChunkFilename","library","type","externalsType","externals","resolve","extensions","map","ext","alias","react","fallback","module","fallbacks","dgram","dns","fs","stream","http2","net","tls","child_process","optimization","minimize","minimizer","rspack","SwcJsMinimizerRspackPlugin","minimizerOptions","compress","ecma","comparisons","inline","mangle","format","comments","ascii_only","LightningCssMinimizerRspackPlugin","parser","rules","test","fullySpecified","exclude","use","loader","options","jsc","syntax","tsx","transform","runtime","target","enforce","include","descriptionData","componentId","value","extractSourceMap","dataUrlCondition","maxSize","sideEffects","generator","sourceMap","mdxOptions","plugins","RspackManifestPlugin","fileName","generate","generateAssetManifest","ProvidePlugin","fallbacksProvidePluginConfig","IgnorePlugin","resourceRegExp","contextRegExp","performance"],"sources":["rspack.config.ts"],"sourcesContent":["import { rspack, type Configuration } from '@rspack/core';\nimport { fallbacksProvidePluginConfig, fallbacks } from '@teambit/webpack';\nimport { mdxOptions } from '@teambit/mdx.modules.mdx-v3-options';\nimport { RspackManifestPlugin } from 'rspack-manifest-plugin';\nimport { generateAssetManifest } from '@teambit/rspack.modules.generate-asset-manifest';\n\nconst moduleFileExtensions = [\n 'web.mjs',\n 'mjs',\n 'web.js',\n 'js',\n 'web.ts',\n 'ts',\n 'web.tsx',\n 'tsx',\n 'json',\n 'web.jsx',\n 'jsx',\n 'mdx',\n 'md',\n];\n\nconst imageInlineSizeLimit = parseInt(process.env.IMAGE_INLINE_SIZE_LIMIT || '10000');\nconst cssModuleGenerator = { localIdentName: '[name]__[local]--[hash:base64:5]', esModule: false };\nconst cssParser = {\n css: { namedExports: false },\n 'css/auto': { namedExports: false },\n 'css/module': { namedExports: false },\n} as const;\n\nexport function createRspackConfig(outputDir: string, entryFile: string): Configuration {\n const mode = process.env.BIT_DEBUG_PREVIEW_BUNDLE ? 'development' : 'production';\n const shouldUseSourceMap = mode === 'development' || process.env.GENERATE_SOURCEMAP === 'true';\n\n return {\n stats: {\n children: true,\n errorDetails: true,\n },\n mode,\n\n devtool: shouldUseSourceMap ? 'source-map' : false,\n experiments: {\n css: true,\n },\n\n entry: {\n main: entryFile,\n },\n\n output: {\n path: outputDir,\n publicPath: '/',\n chunkFilename: 'static/js/[name].[contenthash:8].chunk.cjs',\n filename: 'static/js/[name].[contenthash:8].cjs',\n cssFilename: 'static/css/[name].[contenthash:8].css',\n cssChunkFilename: 'static/css/[name].[contenthash:8].chunk.css',\n library: {\n type: 'commonjs-static',\n },\n },\n\n externalsType: 'commonjs',\n externals: ['react', 'react-dom', '@mdx-js/react', '@teambit/mdx.ui.mdx-scope-context'],\n\n resolve: {\n extensions: moduleFileExtensions.map((ext) => `.${ext}`),\n alias: {\n 'react/jsx-runtime': require.resolve('react/jsx-runtime'),\n react: require.resolve('react'),\n 'react-dom': require.resolve('react-dom'),\n },\n fallback: {\n module: false,\n path: fallbacks.path,\n dgram: false,\n dns: false,\n fs: false,\n stream: false,\n http2: false,\n net: false,\n tls: false,\n child_process: false,\n process: fallbacks.process,\n },\n },\n\n optimization: {\n minimize: mode === 'production',\n minimizer: [\n new rspack.SwcJsMinimizerRspackPlugin({\n minimizerOptions: {\n compress: {\n ecma: 5,\n comparisons: false,\n inline: 2,\n },\n // We need to keep class names and disable mangling to prevent issues with consuming the rspack bundle in\n // other bundlers (e.g. webpack) that rely on class names for tree shaking and other optimizations.\n mangle: false,\n format: {\n ecma: 5,\n comments: false,\n ascii_only: true,\n },\n },\n }),\n new rspack.LightningCssMinimizerRspackPlugin({}),\n ],\n },\n\n module: {\n parser: cssParser,\n rules: [\n {\n test: /\\.m?js/,\n resolve: {\n fullySpecified: false,\n },\n },\n {\n test: /\\.(js|mjs|jsx|ts|tsx)$/,\n exclude: /node_modules/,\n use: {\n loader: 'builtin:swc-loader',\n options: {\n jsc: {\n parser: {\n syntax: 'typescript',\n tsx: true,\n },\n transform: {\n react: {\n runtime: 'automatic',\n },\n },\n target: 'es2015',\n },\n },\n },\n type: 'javascript/auto',\n },\n {\n test: /\\.js$/,\n enforce: 'pre' as const,\n include: /node_modules/,\n descriptionData: { componentId: (value: any) => !!value },\n extractSourceMap: shouldUseSourceMap,\n },\n {\n test: [/\\.bmp$/, /\\.gif$/, /\\.jpe?g$/, /\\.png$/],\n type: 'asset',\n parser: {\n dataUrlCondition: {\n maxSize: imageInlineSizeLimit,\n },\n },\n },\n {\n test: /\\.svg$/,\n type: 'asset',\n parser: {\n dataUrlCondition: {\n maxSize: imageInlineSizeLimit,\n },\n },\n },\n {\n test: /\\.css$/,\n exclude: /\\.module\\.css$/,\n type: 'css',\n sideEffects: true,\n },\n {\n test: /\\.module\\.css$/,\n type: 'css/module',\n generator: cssModuleGenerator,\n },\n {\n test: /\\.(scss|sass)$/,\n exclude: /\\.module\\.(scss|sass)$/,\n use: [\n {\n loader: require.resolve('resolve-url-loader'),\n options: { sourceMap: shouldUseSourceMap },\n },\n {\n loader: require.resolve('sass-loader'),\n options: { sourceMap: shouldUseSourceMap },\n },\n ],\n type: 'css',\n sideEffects: true,\n },\n {\n test: /\\.module\\.(scss|sass)$/,\n use: [\n {\n loader: require.resolve('resolve-url-loader'),\n options: { sourceMap: shouldUseSourceMap },\n },\n {\n loader: require.resolve('sass-loader'),\n options: { sourceMap: shouldUseSourceMap },\n },\n ],\n type: 'css/module',\n generator: cssModuleGenerator,\n },\n {\n test: /\\.(woff(2)?|ttf|eot)(\\?v=\\d+\\.\\d+\\.\\d+)?$/,\n type: 'asset',\n generator: {\n filename: 'static/fonts/[hash][ext][query]',\n },\n },\n {\n test: /\\.mdx?$/,\n use: [\n {\n loader: 'builtin:swc-loader',\n options: {\n jsc: {\n parser: {\n syntax: 'typescript',\n tsx: true,\n },\n transform: {\n react: {\n runtime: 'automatic',\n },\n },\n target: 'es2015',\n },\n },\n },\n {\n loader: require.resolve('@mdx-js/loader'),\n options: mdxOptions,\n },\n {\n // transforms admonition syntax (:::type content → :::type[content]) for mdx v3\n loader: require.resolve('@teambit/react/dist/webpack/mdx-pre-loader.cjs'),\n },\n ],\n type: 'javascript/auto',\n },\n {\n exclude: [/\\.(cjs|js|mjs|jsx|ts|tsx)$/, /\\.html$/, /\\.json$/, /\\.css$/, /\\.s[ac]ss$/, /\\.less$/, /\\.mdx?$/],\n type: 'asset/resource',\n },\n ],\n },\n\n plugins: [\n new RspackManifestPlugin({ fileName: 'asset-manifest.json', generate: generateAssetManifest }),\n\n new rspack.ProvidePlugin({ process: fallbacksProvidePluginConfig.process }),\n\n new rspack.IgnorePlugin({\n resourceRegExp: /^\\.\\/locale$/,\n contextRegExp: /moment$/,\n }),\n ],\n\n performance: false,\n };\n}\n"],"mappings":";;;;;;AAAA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,SAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,QAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,YAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,WAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,sBAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,qBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,eAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,cAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,MAAMM,oBAAoB,GAAG,CAC3B,SAAS,EACT,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,KAAK,EACL,IAAI,CACL;AAED,MAAMC,oBAAoB,GAAGC,QAAQ,CAACC,OAAO,CAACC,GAAG,CAACC,uBAAuB,IAAI,OAAO,CAAC;AACrF,MAAMC,kBAAkB,GAAG;EAAEC,cAAc,EAAE,kCAAkC;EAAEC,QAAQ,EAAE;AAAM,CAAC;AAClG,MAAMC,SAAS,GAAG;EAChBC,GAAG,EAAE;IAAEC,YAAY,EAAE;EAAM,CAAC;EAC5B,UAAU,EAAE;IAAEA,YAAY,EAAE;EAAM,CAAC;EACnC,YAAY,EAAE;IAAEA,YAAY,EAAE;EAAM;AACtC,CAAU;AAEH,SAASC,kBAAkBA,CAACC,SAAiB,EAAEC,SAAiB,EAAiB;EACtF,MAAMC,IAAI,GAAGZ,OAAO,CAACC,GAAG,CAACY,wBAAwB,GAAG,aAAa,GAAG,YAAY;EAChF,MAAMC,kBAAkB,GAAGF,IAAI,KAAK,aAAa,IAAIZ,OAAO,CAACC,GAAG,CAACc,kBAAkB,KAAK,MAAM;EAE9F,OAAO;IACLC,KAAK,EAAE;MACLC,QAAQ,EAAE,IAAI;MACdC,YAAY,EAAE;IAChB,CAAC;IACDN,IAAI;IAEJO,OAAO,EAAEL,kBAAkB,GAAG,YAAY,GAAG,KAAK;IAClDM,WAAW,EAAE;MACXb,GAAG,EAAE;IACP,CAAC;IAEDc,KAAK,EAAE;MACLC,IAAI,EAAEX;IACR,CAAC;IAEDY,MAAM,EAAE;MACNC,IAAI,EAAEd,SAAS;MACfe,UAAU,EAAE,GAAG;MACfC,aAAa,EAAE,4CAA4C;MAC3DC,QAAQ,EAAE,sCAAsC;MAChDC,WAAW,EAAE,uCAAuC;MACpDC,gBAAgB,EAAE,6CAA6C;MAC/DC,OAAO,EAAE;QACPC,IAAI,EAAE;MACR;IACF,CAAC;IAEDC,aAAa,EAAE,UAAU;IACzBC,SAAS,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,mCAAmC,CAAC;IAEvFC,OAAO,EAAE;MACPC,UAAU,EAAEtC,oBAAoB,CAACuC,GAAG,CAAEC,GAAG,IAAK,IAAIA,GAAG,EAAE,CAAC;MACxDC,KAAK,EAAE;QACL,mBAAmB,EAAE9C,OAAO,CAAC0C,OAAO,CAAC,mBAAmB,CAAC;QACzDK,KAAK,EAAE/C,OAAO,CAAC0C,OAAO,CAAC,OAAO,CAAC;QAC/B,WAAW,EAAE1C,OAAO,CAAC0C,OAAO,CAAC,WAAW;MAC1C,CAAC;MACDM,QAAQ,EAAE;QACRC,MAAM,EAAE,KAAK;QACbjB,IAAI,EAAEkB,oBAAS,CAAClB,IAAI;QACpBmB,KAAK,EAAE,KAAK;QACZC,GAAG,EAAE,KAAK;QACVC,EAAE,EAAE,KAAK;QACTC,MAAM,EAAE,KAAK;QACbC,KAAK,EAAE,KAAK;QACZC,GAAG,EAAE,KAAK;QACVC,GAAG,EAAE,KAAK;QACVC,aAAa,EAAE,KAAK;QACpBlD,OAAO,EAAE0C,oBAAS,CAAC1C;MACrB;IACF,CAAC;IAEDmD,YAAY,EAAE;MACZC,QAAQ,EAAExC,IAAI,KAAK,YAAY;MAC/ByC,SAAS,EAAE,CACT,KAAIC,cAAM,CAACC,0BAA0B,EAAC;QACpCC,gBAAgB,EAAE;UAChBC,QAAQ,EAAE;YACRC,IAAI,EAAE,CAAC;YACPC,WAAW,EAAE,KAAK;YAClBC,MAAM,EAAE;UACV,CAAC;UACD;UACA;UACAC,MAAM,EAAE,KAAK;UACbC,MAAM,EAAE;YACNJ,IAAI,EAAE,CAAC;YACPK,QAAQ,EAAE,KAAK;YACfC,UAAU,EAAE;UACd;QACF;MACF,CAAC,CAAC,EACF,KAAIV,cAAM,CAACW,iCAAiC,EAAC,CAAC,CAAC,CAAC;IAEpD,CAAC;IAEDxB,MAAM,EAAE;MACNyB,MAAM,EAAE5D,SAAS;MACjB6D,KAAK,EAAE,CACL;QACEC,IAAI,EAAE,QAAQ;QACdlC,OAAO,EAAE;UACPmC,cAAc,EAAE;QAClB;MACF,CAAC,EACD;QACED,IAAI,EAAE,wBAAwB;QAC9BE,OAAO,EAAE,cAAc;QACvBC,GAAG,EAAE;UACHC,MAAM,EAAE,oBAAoB;UAC5BC,OAAO,EAAE;YACPC,GAAG,EAAE;cACHR,MAAM,EAAE;gBACNS,MAAM,EAAE,YAAY;gBACpBC,GAAG,EAAE;cACP,CAAC;cACDC,SAAS,EAAE;gBACTtC,KAAK,EAAE;kBACLuC,OAAO,EAAE;gBACX;cACF,CAAC;cACDC,MAAM,EAAE;YACV;UACF;QACF,CAAC;QACDhD,IAAI,EAAE;MACR,CAAC,EACD;QACEqC,IAAI,EAAE,OAAO;QACbY,OAAO,EAAE,KAAc;QACvBC,OAAO,EAAE,cAAc;QACvBC,eAAe,EAAE;UAAEC,WAAW,EAAGC,KAAU,IAAK,CAAC,CAACA;QAAM,CAAC;QACzDC,gBAAgB,EAAEvE;MACpB,CAAC,EACD;QACEsD,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC;QAChDrC,IAAI,EAAE,OAAO;QACbmC,MAAM,EAAE;UACNoB,gBAAgB,EAAE;YAChBC,OAAO,EAAEzF;UACX;QACF;MACF,CAAC,EACD;QACEsE,IAAI,EAAE,QAAQ;QACdrC,IAAI,EAAE,OAAO;QACbmC,MAAM,EAAE;UACNoB,gBAAgB,EAAE;YAChBC,OAAO,EAAEzF;UACX;QACF;MACF,CAAC,EACD;QACEsE,IAAI,EAAE,QAAQ;QACdE,OAAO,EAAE,gBAAgB;QACzBvC,IAAI,EAAE,KAAK;QACXyD,WAAW,EAAE;MACf,CAAC,EACD;QACEpB,IAAI,EAAE,gBAAgB;QACtBrC,IAAI,EAAE,YAAY;QAClB0D,SAAS,EAAEtF;MACb,CAAC,EACD;QACEiE,IAAI,EAAE,gBAAgB;QACtBE,OAAO,EAAE,wBAAwB;QACjCC,GAAG,EAAE,CACH;UACEC,MAAM,EAAEhF,OAAO,CAAC0C,OAAO,CAAC,oBAAoB,CAAC;UAC7CuC,OAAO,EAAE;YAAEiB,SAAS,EAAE5E;UAAmB;QAC3C,CAAC,EACD;UACE0D,MAAM,EAAEhF,OAAO,CAAC0C,OAAO,CAAC,aAAa,CAAC;UACtCuC,OAAO,EAAE;YAAEiB,SAAS,EAAE5E;UAAmB;QAC3C,CAAC,CACF;QACDiB,IAAI,EAAE,KAAK;QACXyD,WAAW,EAAE;MACf,CAAC,EACD;QACEpB,IAAI,EAAE,wBAAwB;QAC9BG,GAAG,EAAE,CACH;UACEC,MAAM,EAAEhF,OAAO,CAAC0C,OAAO,CAAC,oBAAoB,CAAC;UAC7CuC,OAAO,EAAE;YAAEiB,SAAS,EAAE5E;UAAmB;QAC3C,CAAC,EACD;UACE0D,MAAM,EAAEhF,OAAO,CAAC0C,OAAO,CAAC,aAAa,CAAC;UACtCuC,OAAO,EAAE;YAAEiB,SAAS,EAAE5E;UAAmB;QAC3C,CAAC,CACF;QACDiB,IAAI,EAAE,YAAY;QAClB0D,SAAS,EAAEtF;MACb,CAAC,EACD;QACEiE,IAAI,EAAE,2CAA2C;QACjDrC,IAAI,EAAE,OAAO;QACb0D,SAAS,EAAE;UACT9D,QAAQ,EAAE;QACZ;MACF,CAAC,EACD;QACEyC,IAAI,EAAE,SAAS;QACfG,GAAG,EAAE,CACH;UACEC,MAAM,EAAE,oBAAoB;UAC5BC,OAAO,EAAE;YACPC,GAAG,EAAE;cACHR,MAAM,EAAE;gBACNS,MAAM,EAAE,YAAY;gBACpBC,GAAG,EAAE;cACP,CAAC;cACDC,SAAS,EAAE;gBACTtC,KAAK,EAAE;kBACLuC,OAAO,EAAE;gBACX;cACF,CAAC;cACDC,MAAM,EAAE;YACV;UACF;QACF,CAAC,EACD;UACEP,MAAM,EAAEhF,OAAO,CAAC0C,OAAO,CAAC,gBAAgB,CAAC;UACzCuC,OAAO,EAAEkB;QACX,CAAC,EACD;UACE;UACAnB,MAAM,EAAEhF,OAAO,CAAC0C,OAAO,CAAC,gDAAgD;QAC1E,CAAC,CACF;QACDH,IAAI,EAAE;MACR,CAAC,EACD;QACEuC,OAAO,EAAE,CAAC,4BAA4B,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC;QAC3GvC,IAAI,EAAE;MACR,CAAC;IAEL,CAAC;IAED6D,OAAO,EAAE,CACP,KAAIC,4CAAoB,EAAC;MAAEC,QAAQ,EAAE,qBAAqB;MAAEC,QAAQ,EAAEC;IAAsB,CAAC,CAAC,EAE9F,KAAI1C,cAAM,CAAC2C,aAAa,EAAC;MAAEjG,OAAO,EAAEkG,uCAA4B,CAAClG;IAAQ,CAAC,CAAC,EAE3E,KAAIsD,cAAM,CAAC6C,YAAY,EAAC;MACtBC,cAAc,EAAE,cAAc;MAC9BC,aAAa,EAAE;IACjB,CAAC,CAAC,CACH;IAEDC,WAAW,EAAE;EACf,CAAC;AACH","ignoreList":[]}
@@ -1,268 +0,0 @@
1
- import { rspack, type Configuration } from '@rspack/core';
2
- import { fallbacksProvidePluginConfig, fallbacks } from '@teambit/webpack';
3
- import { mdxOptions } from '@teambit/mdx.modules.mdx-v3-options';
4
- import { RspackManifestPlugin } from 'rspack-manifest-plugin';
5
- import { generateAssetManifest } from '@teambit/rspack.modules.generate-asset-manifest';
6
-
7
- const moduleFileExtensions = [
8
- 'web.mjs',
9
- 'mjs',
10
- 'web.js',
11
- 'js',
12
- 'web.ts',
13
- 'ts',
14
- 'web.tsx',
15
- 'tsx',
16
- 'json',
17
- 'web.jsx',
18
- 'jsx',
19
- 'mdx',
20
- 'md',
21
- ];
22
-
23
- const imageInlineSizeLimit = parseInt(process.env.IMAGE_INLINE_SIZE_LIMIT || '10000');
24
- const cssModuleGenerator = { localIdentName: '[name]__[local]--[hash:base64:5]', esModule: false };
25
- const cssParser = {
26
- css: { namedExports: false },
27
- 'css/auto': { namedExports: false },
28
- 'css/module': { namedExports: false },
29
- } as const;
30
-
31
- export function createRspackConfig(outputDir: string, entryFile: string): Configuration {
32
- const mode = process.env.BIT_DEBUG_PREVIEW_BUNDLE ? 'development' : 'production';
33
- const shouldUseSourceMap = mode === 'development' || process.env.GENERATE_SOURCEMAP === 'true';
34
-
35
- return {
36
- stats: {
37
- children: true,
38
- errorDetails: true,
39
- },
40
- mode,
41
-
42
- devtool: shouldUseSourceMap ? 'source-map' : false,
43
- experiments: {
44
- css: true,
45
- },
46
-
47
- entry: {
48
- main: entryFile,
49
- },
50
-
51
- output: {
52
- path: outputDir,
53
- publicPath: '/',
54
- chunkFilename: 'static/js/[name].[contenthash:8].chunk.cjs',
55
- filename: 'static/js/[name].[contenthash:8].cjs',
56
- cssFilename: 'static/css/[name].[contenthash:8].css',
57
- cssChunkFilename: 'static/css/[name].[contenthash:8].chunk.css',
58
- library: {
59
- type: 'commonjs-static',
60
- },
61
- },
62
-
63
- externalsType: 'commonjs',
64
- externals: ['react', 'react-dom', '@mdx-js/react', '@teambit/mdx.ui.mdx-scope-context'],
65
-
66
- resolve: {
67
- extensions: moduleFileExtensions.map((ext) => `.${ext}`),
68
- alias: {
69
- 'react/jsx-runtime': require.resolve('react/jsx-runtime'),
70
- react: require.resolve('react'),
71
- 'react-dom': require.resolve('react-dom'),
72
- },
73
- fallback: {
74
- module: false,
75
- path: fallbacks.path,
76
- dgram: false,
77
- dns: false,
78
- fs: false,
79
- stream: false,
80
- http2: false,
81
- net: false,
82
- tls: false,
83
- child_process: false,
84
- process: fallbacks.process,
85
- },
86
- },
87
-
88
- optimization: {
89
- minimize: mode === 'production',
90
- minimizer: [
91
- new rspack.SwcJsMinimizerRspackPlugin({
92
- minimizerOptions: {
93
- compress: {
94
- ecma: 5,
95
- comparisons: false,
96
- inline: 2,
97
- },
98
- // We need to keep class names and disable mangling to prevent issues with consuming the rspack bundle in
99
- // other bundlers (e.g. webpack) that rely on class names for tree shaking and other optimizations.
100
- mangle: false,
101
- format: {
102
- ecma: 5,
103
- comments: false,
104
- ascii_only: true,
105
- },
106
- },
107
- }),
108
- new rspack.LightningCssMinimizerRspackPlugin({}),
109
- ],
110
- },
111
-
112
- module: {
113
- parser: cssParser,
114
- rules: [
115
- {
116
- test: /\.m?js/,
117
- resolve: {
118
- fullySpecified: false,
119
- },
120
- },
121
- {
122
- test: /\.(js|mjs|jsx|ts|tsx)$/,
123
- exclude: /node_modules/,
124
- use: {
125
- loader: 'builtin:swc-loader',
126
- options: {
127
- jsc: {
128
- parser: {
129
- syntax: 'typescript',
130
- tsx: true,
131
- },
132
- transform: {
133
- react: {
134
- runtime: 'automatic',
135
- },
136
- },
137
- target: 'es2015',
138
- },
139
- },
140
- },
141
- type: 'javascript/auto',
142
- },
143
- {
144
- test: /\.js$/,
145
- enforce: 'pre' as const,
146
- include: /node_modules/,
147
- descriptionData: { componentId: (value: any) => !!value },
148
- extractSourceMap: shouldUseSourceMap,
149
- },
150
- {
151
- test: [/\.bmp$/, /\.gif$/, /\.jpe?g$/, /\.png$/],
152
- type: 'asset',
153
- parser: {
154
- dataUrlCondition: {
155
- maxSize: imageInlineSizeLimit,
156
- },
157
- },
158
- },
159
- {
160
- test: /\.svg$/,
161
- type: 'asset',
162
- parser: {
163
- dataUrlCondition: {
164
- maxSize: imageInlineSizeLimit,
165
- },
166
- },
167
- },
168
- {
169
- test: /\.css$/,
170
- exclude: /\.module\.css$/,
171
- type: 'css',
172
- sideEffects: true,
173
- },
174
- {
175
- test: /\.module\.css$/,
176
- type: 'css/module',
177
- generator: cssModuleGenerator,
178
- },
179
- {
180
- test: /\.(scss|sass)$/,
181
- exclude: /\.module\.(scss|sass)$/,
182
- use: [
183
- {
184
- loader: require.resolve('resolve-url-loader'),
185
- options: { sourceMap: shouldUseSourceMap },
186
- },
187
- {
188
- loader: require.resolve('sass-loader'),
189
- options: { sourceMap: shouldUseSourceMap },
190
- },
191
- ],
192
- type: 'css',
193
- sideEffects: true,
194
- },
195
- {
196
- test: /\.module\.(scss|sass)$/,
197
- use: [
198
- {
199
- loader: require.resolve('resolve-url-loader'),
200
- options: { sourceMap: shouldUseSourceMap },
201
- },
202
- {
203
- loader: require.resolve('sass-loader'),
204
- options: { sourceMap: shouldUseSourceMap },
205
- },
206
- ],
207
- type: 'css/module',
208
- generator: cssModuleGenerator,
209
- },
210
- {
211
- test: /\.(woff(2)?|ttf|eot)(\?v=\d+\.\d+\.\d+)?$/,
212
- type: 'asset',
213
- generator: {
214
- filename: 'static/fonts/[hash][ext][query]',
215
- },
216
- },
217
- {
218
- test: /\.mdx?$/,
219
- use: [
220
- {
221
- loader: 'builtin:swc-loader',
222
- options: {
223
- jsc: {
224
- parser: {
225
- syntax: 'typescript',
226
- tsx: true,
227
- },
228
- transform: {
229
- react: {
230
- runtime: 'automatic',
231
- },
232
- },
233
- target: 'es2015',
234
- },
235
- },
236
- },
237
- {
238
- loader: require.resolve('@mdx-js/loader'),
239
- options: mdxOptions,
240
- },
241
- {
242
- // transforms admonition syntax (:::type content → :::type[content]) for mdx v3
243
- loader: require.resolve('@teambit/react/dist/webpack/mdx-pre-loader.cjs'),
244
- },
245
- ],
246
- type: 'javascript/auto',
247
- },
248
- {
249
- exclude: [/\.(cjs|js|mjs|jsx|ts|tsx)$/, /\.html$/, /\.json$/, /\.css$/, /\.s[ac]ss$/, /\.less$/, /\.mdx?$/],
250
- type: 'asset/resource',
251
- },
252
- ],
253
- },
254
-
255
- plugins: [
256
- new RspackManifestPlugin({ fileName: 'asset-manifest.json', generate: generateAssetManifest }),
257
-
258
- new rspack.ProvidePlugin({ process: fallbacksProvidePluginConfig.process }),
259
-
260
- new rspack.IgnorePlugin({
261
- resourceRegExp: /^\.\/locale$/,
262
- contextRegExp: /moment$/,
263
- }),
264
- ],
265
-
266
- performance: false,
267
- };
268
- }