@rspack/browser 2.0.0-beta.4 → 2.0.0-beta.6

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.
@@ -24,9 +24,17 @@ export type SwcLoaderOptions = Config & {
24
24
  /**
25
25
  * Enable React Server Components support.
26
26
  */
27
- reactServerComponents?: boolean;
27
+ reactServerComponents?: boolean | ReactServerComponentsOptions;
28
28
  };
29
29
  };
30
+ export interface ReactServerComponentsOptions {
31
+ /**
32
+ * Whether to disable the compile-time check that reports errors when React
33
+ * client-only APIs (e.g. `useState`, `useEffect`) are imported in server
34
+ * components. Defaults to `false`.
35
+ */
36
+ disableClientApiChecks?: boolean;
37
+ }
30
38
  export interface TerserCompressOptions {
31
39
  arguments?: boolean;
32
40
  arrows?: boolean;
@@ -1,5 +1,5 @@
1
1
  import { type Compiler, MultiCompiler } from '../..';
2
- import type { MiddlewareHandler } from '../../config/devServer';
2
+ import type { DevServerMiddlewareHandler } from '../../config/devServer';
3
3
  export declare const LAZY_COMPILATION_PREFIX = "/_rspack/lazy/trigger";
4
4
  /**
5
5
  * Create a middleware that handles lazy compilation requests from the client.
@@ -9,4 +9,4 @@ export declare const LAZY_COMPILATION_PREFIX = "/_rspack/lazy/trigger";
9
9
  * Use this middleware when integrating lazy compilation into a
10
10
  * custom development server instead of relying on the built-in server.
11
11
  */
12
- export declare const lazyCompilationMiddleware: (compiler: Compiler | MultiCompiler) => MiddlewareHandler;
12
+ export declare const lazyCompilationMiddleware: (compiler: Compiler | MultiCompiler) => DevServerMiddlewareHandler;
@@ -0,0 +1 @@
1
+ declare function checkNodeVersion(): void;
@@ -7,32 +7,24 @@
7
7
  * Copyright (c) JS Foundation and other contributors
8
8
  * https://github.com/webpack/webpack-dev-server/blob/master/LICENSE
9
9
  */
10
- import type * as http from 'node:http';
11
- import type * as net from 'node:net';
12
- import type * as stream from 'node:stream';
13
- import type * as url from 'node:url';
14
- import type { Compiler, LiteralUnion, MultiCompiler, MultiStats, Stats, Watching } from '..';
10
+ import type { ReadStream } from 'node:fs';
11
+ import type { IncomingMessage, ServerResponse } from 'node:http';
12
+ import type { ServerOptions } from 'node:https';
13
+ import type { Server as ConnectApplication } from 'connect-next';
14
+ import type { Filter as ProxyFilter, Options as ProxyOptions } from 'http-proxy-middleware';
15
+ import type { Options as OpenOptions } from 'open';
16
+ import type { Compiler, Configuration, LiteralUnion, MultiCompiler, MultiStats, Stats, Watching } from '..';
15
17
  type Logger = ReturnType<Compiler['getInfrastructureLogger']>;
16
18
  type MultiWatching = MultiCompiler['watch'];
17
- type BasicServer = import('net').Server | import('tls').Server;
18
- type ReadStream = import('fs').ReadStream;
19
- type IncomingMessage = import('http').IncomingMessage;
20
- type ServerResponse = import('http').ServerResponse;
21
- type ServerOptions = import('https').ServerOptions & {
22
- spdy?: {
23
- plain?: boolean | undefined;
24
- ssl?: boolean | undefined;
25
- 'x-forwarded-for'?: string | undefined;
26
- protocol?: string | undefined;
27
- protocols?: string[] | undefined;
28
- };
29
- };
19
+ export type DevServerHost = LiteralUnion<'local-ip' | 'local-ipv4' | 'local-ipv6', string>;
20
+ type BasicServer = import('node:net').Server | import('node:tls').Server;
21
+ export type DevServerOpenOptions = OpenOptions;
30
22
  type ResponseData = {
31
23
  data: Buffer | ReadStream;
32
24
  byteLength: number;
33
25
  };
34
26
  type ModifyResponseData<RequestInternal extends IncomingMessage = IncomingMessage, ResponseInternal extends ServerResponse = ServerResponse> = (req: RequestInternal, res: ResponseInternal, data: Buffer | ReadStream, byteLength: number) => ResponseData;
35
- type Headers = {
27
+ export type DevServerHeaders = {
36
28
  key: string;
37
29
  value: string;
38
30
  }[] | Record<string, string | string[]>;
@@ -40,7 +32,6 @@ type OutputFileSystem = import('..').OutputFileSystem & {
40
32
  statSync: import('fs').StatSyncFn;
41
33
  readFileSync: typeof import('fs').readFileSync;
42
34
  };
43
- type RspackConfiguration = import('..').Configuration;
44
35
  type Port = number | LiteralUnion<'auto', string>;
45
36
  type HistoryContext = {
46
37
  readonly match: RegExpMatchArray;
@@ -53,37 +44,36 @@ type Rewrite = {
53
44
  readonly to: string | RegExp | RewriteTo;
54
45
  };
55
46
  type HistoryApiFallbackOptions = {
56
- readonly disableDotRule?: true | undefined;
57
- readonly htmlAcceptHeaders?: readonly string[] | undefined;
58
- readonly index?: string | undefined;
59
- readonly logger?: typeof console.log | undefined;
60
- readonly rewrites?: readonly Rewrite[] | undefined;
61
- readonly verbose?: boolean | undefined;
47
+ readonly disableDotRule?: true;
48
+ readonly htmlAcceptHeaders?: readonly string[];
49
+ readonly index?: string;
50
+ readonly logger?: typeof console.log;
51
+ readonly rewrites?: readonly Rewrite[];
52
+ readonly verbose?: boolean;
62
53
  };
63
54
  type DevMiddlewareOptions<RequestInternal extends IncomingMessage = IncomingMessage, ResponseInternal extends ServerResponse = ServerResponse> = {
64
55
  mimeTypes?: {
65
56
  [key: string]: string;
66
- } | undefined;
67
- mimeTypeDefault?: string | undefined;
68
- writeToDisk?: boolean | ((targetPath: string) => boolean) | undefined;
69
- methods?: string[] | undefined;
57
+ };
58
+ mimeTypeDefault?: string;
59
+ writeToDisk?: boolean | ((targetPath: string) => boolean);
60
+ methods?: string[];
70
61
  headers?: any;
71
- publicPath?: NonNullable<RspackConfiguration['output']>['publicPath'];
72
- stats?: RspackConfiguration['stats'];
73
- serverSideRender?: boolean | undefined;
74
- outputFileSystem?: OutputFileSystem | undefined;
75
- index?: string | boolean | undefined;
76
- modifyResponseData?: ModifyResponseData<RequestInternal, ResponseInternal> | undefined;
77
- etag?: 'strong' | 'weak' | undefined;
78
- lastModified?: boolean | undefined;
62
+ publicPath?: NonNullable<Configuration['output']>['publicPath'];
63
+ stats?: Configuration['stats'];
64
+ serverSideRender?: boolean;
65
+ outputFileSystem?: OutputFileSystem;
66
+ index?: string | boolean;
67
+ modifyResponseData?: ModifyResponseData<RequestInternal, ResponseInternal>;
68
+ etag?: 'strong' | 'weak';
69
+ lastModified?: boolean;
79
70
  cacheControl?: string | number | boolean | {
80
71
  maxAge?: number;
81
72
  immutable?: boolean;
82
- } | undefined;
83
- cacheImmutable?: boolean | undefined;
73
+ };
74
+ cacheImmutable?: boolean;
84
75
  };
85
76
  type BasicApplication = any;
86
- type BonjourServer = Record<string, any>;
87
77
  type ChokidarWatchOptions = {
88
78
  [key: string]: any;
89
79
  };
@@ -93,46 +83,44 @@ type ServeIndexOptions = {
93
83
  type ServeStaticOptions = {
94
84
  [key: string]: any;
95
85
  };
96
- type HttpProxyMiddlewareOptionsFilter = any;
97
- type Request = IncomingMessage;
98
- type Response = ServerResponse;
99
86
  type WatchFiles = {
100
87
  paths: string | string[];
101
- options?: (ChokidarWatchOptions & {
88
+ options?: ChokidarWatchOptions & {
102
89
  aggregateTimeout?: number;
103
90
  ignored?: ChokidarWatchOptions['ignored'];
104
91
  poll?: number | boolean;
105
- }) | undefined;
92
+ };
106
93
  };
107
- type Static = {
108
- directory?: string | undefined;
109
- publicPath?: string | string[] | undefined;
110
- serveIndex?: boolean | ServeIndexOptions | undefined;
111
- staticOptions?: ServeStaticOptions | undefined;
94
+ export type DevServerStaticItem = {
95
+ directory?: string;
96
+ publicPath?: string | string[];
97
+ serveIndex?: boolean | ServeIndexOptions;
98
+ staticOptions?: ServeStaticOptions;
112
99
  watch?: boolean | (ChokidarWatchOptions & {
113
100
  aggregateTimeout?: number;
114
101
  ignored?: ChokidarWatchOptions['ignored'];
115
102
  poll?: number | boolean;
116
- }) | undefined;
103
+ });
117
104
  };
118
- type ServerType<A extends BasicApplication = BasicApplication, S extends BasicServer = import('http').Server<typeof import('http').IncomingMessage, typeof import('http').ServerResponse>> = LiteralUnion<'http' | 'https' | 'spdy' | 'http2', string> | ((arg0: ServerOptions, arg1: A) => S);
119
- type ServerConfiguration<A extends BasicApplication = BasicApplication, S extends BasicServer = import('http').Server<typeof import('http').IncomingMessage, typeof import('http').ServerResponse>> = {
120
- type?: ServerType<A, S> | undefined;
121
- options?: ServerOptions | undefined;
105
+ export type DevServerStatic = string | boolean | DevServerStaticItem | (string | DevServerStaticItem)[];
106
+ type ServerType<A extends BasicApplication, S extends BasicServer> = LiteralUnion<'http' | 'https' | 'http2', string> | ((arg0: ServerOptions, arg1: A) => S);
107
+ type ServerConfiguration<A extends BasicApplication, S extends BasicServer> = {
108
+ type?: ServerType<A, S>;
109
+ options?: ServerOptions;
122
110
  };
123
111
  type WebSocketServerConfiguration = {
124
- type?: string | Function | undefined;
125
- options?: Record<string, any> | undefined;
112
+ type?: string | Function;
113
+ options?: Record<string, any>;
126
114
  };
127
115
  type NextFunction = (err?: any) => void;
128
- type ProxyConfigArrayItem = {
129
- path?: HttpProxyMiddlewareOptionsFilter;
130
- context?: HttpProxyMiddlewareOptionsFilter;
131
- } & {
132
- bypass?: ByPass;
133
- } & HttpProxyMiddlewareOptions;
134
- type ByPass = (req: Request, res: Response, proxyConfig: ProxyConfigArrayItem) => any;
135
- type ProxyConfigArray = (ProxyConfigArrayItem | ((req?: Request, res?: Response, next?: NextFunction) => ProxyConfigArrayItem))[];
116
+ export type DevServerProxyConfigArrayItem = {
117
+ /**
118
+ * Alias for `pathFilter` in `http-proxy-middleware` options.
119
+ * When both `context` and `pathFilter` are provided, `pathFilter` takes precedence.
120
+ */
121
+ context?: ProxyFilter;
122
+ } & ProxyOptions;
123
+ export type DevServerProxyConfigArray = (DevServerProxyConfigArrayItem | ((req?: IncomingMessage, res?: ServerResponse, next?: NextFunction) => DevServerProxyConfigArrayItem))[];
136
124
  type Callback = (stats?: Stats | MultiStats) => any;
137
125
  type DevMiddlewareContext<_RequestInternal extends IncomingMessage = IncomingMessage, _ResponseInternal extends ServerResponse = ServerResponse> = {
138
126
  state: boolean;
@@ -144,171 +132,55 @@ type DevMiddlewareContext<_RequestInternal extends IncomingMessage = IncomingMes
144
132
  logger: Logger;
145
133
  outputFileSystem: OutputFileSystem;
146
134
  };
147
- type Server = any;
148
- export type MiddlewareHandler<RequestInternal extends Request = Request, ResponseInternal extends Response = Response> = (req: RequestInternal, res: ResponseInternal, next: NextFunction) => void | Promise<void>;
149
- type MiddlewareObject<RequestInternal extends Request = Request, ResponseInternal extends Response = Response> = {
135
+ export type DevServerMiddlewareHandler<RequestInternal extends IncomingMessage = IncomingMessage, ResponseInternal extends ServerResponse = ServerResponse> = (req: RequestInternal, res: ResponseInternal, next: NextFunction) => void | Promise<void>;
136
+ type DevServerMiddlewareObject<RequestInternal extends IncomingMessage = IncomingMessage, ResponseInternal extends ServerResponse = ServerResponse> = {
150
137
  name?: string;
151
138
  path?: string;
152
- middleware: MiddlewareHandler<RequestInternal, ResponseInternal>;
153
- };
154
- export type Middleware<RequestInternal extends Request = Request, ResponseInternal extends Response = Response> = MiddlewareObject<RequestInternal, ResponseInternal> | MiddlewareHandler<RequestInternal, ResponseInternal>;
155
- type OpenApp = {
156
- name?: string | undefined;
157
- arguments?: string[] | undefined;
158
- };
159
- type Open = {
160
- app?: string | string[] | OpenApp | undefined;
161
- target?: string | string[] | undefined;
139
+ middleware: DevServerMiddlewareHandler<RequestInternal, ResponseInternal>;
162
140
  };
141
+ export type DevServerMiddleware = DevServerMiddlewareObject | DevServerMiddlewareHandler;
163
142
  type OverlayMessageOptions = boolean | ((error: Error) => void);
164
- type WebSocketURL = {
165
- hostname?: string | undefined;
166
- password?: string | undefined;
167
- pathname?: string | undefined;
168
- port?: string | number | undefined;
169
- protocol?: string | undefined;
170
- username?: string | undefined;
171
- };
172
- type ClientConfiguration = {
173
- logging?: 'none' | 'error' | 'warn' | 'info' | 'log' | 'verbose' | undefined;
143
+ export type DevServerWebSocketURL = {
144
+ hostname?: string;
145
+ password?: string;
146
+ pathname?: string;
147
+ port?: string | number;
148
+ protocol?: string;
149
+ username?: string;
150
+ };
151
+ export type DevServerClient = {
152
+ logging?: 'none' | 'error' | 'warn' | 'info' | 'log' | 'verbose';
174
153
  overlay?: boolean | {
175
154
  warnings?: OverlayMessageOptions;
176
155
  errors?: OverlayMessageOptions;
177
156
  runtimeErrors?: OverlayMessageOptions;
178
- } | undefined;
179
- progress?: boolean | undefined;
180
- reconnect?: number | boolean | undefined;
181
- webSocketTransport?: string | undefined;
182
- webSocketURL?: string | WebSocketURL | undefined;
183
- };
184
- export type DevServerOptions<A extends BasicApplication = BasicApplication, S extends BasicServer = import('http').Server<typeof import('http').IncomingMessage, typeof import('http').ServerResponse>> = {
185
- ipc?: string | boolean | undefined;
186
- host?: string | undefined;
187
- port?: Port | undefined;
188
- hot?: boolean | 'only' | undefined;
189
- liveReload?: boolean | undefined;
190
- devMiddleware?: DevMiddlewareOptions | undefined;
191
- compress?: boolean | undefined;
192
- allowedHosts?: string | string[] | undefined;
193
- historyApiFallback?: boolean | HistoryApiFallbackOptions | undefined;
194
- bonjour?: boolean | BonjourServer | undefined;
195
- watchFiles?: string | string[] | WatchFiles | (string | WatchFiles)[] | undefined;
196
- static?: string | boolean | Static | (string | Static)[] | undefined;
197
- server?: ServerType<A, S> | ServerConfiguration<A, S> | undefined;
198
- app?: (() => Promise<A>) | undefined;
199
- webSocketServer?: string | boolean | WebSocketServerConfiguration | undefined;
200
- proxy?: ProxyConfigArray | undefined;
201
- open?: string | boolean | Open | (string | Open)[] | undefined;
202
- setupExitSignals?: boolean | undefined;
203
- client?: boolean | ClientConfiguration | undefined;
204
- headers?: Headers | ((req: Request, res: Response, context: DevMiddlewareContext | undefined) => Headers) | undefined;
205
- onListening?: ((devServer: Server) => void) | undefined;
206
- setupMiddlewares?: ((middlewares: Middleware[], devServer: Server) => Middleware[]) | undefined;
157
+ };
158
+ progress?: boolean;
159
+ reconnect?: number | boolean;
160
+ webSocketTransport?: LiteralUnion<'ws', string>;
161
+ webSocketURL?: string | DevServerWebSocketURL;
162
+ };
163
+ export type DevServerOptions<A extends BasicApplication = ConnectApplication, S extends BasicServer = BasicServer> = {
164
+ ipc?: string | boolean;
165
+ host?: DevServerHost;
166
+ port?: Port;
167
+ hot?: boolean | 'only';
168
+ liveReload?: boolean;
169
+ devMiddleware?: DevMiddlewareOptions;
170
+ compress?: boolean;
171
+ allowedHosts?: LiteralUnion<'auto' | 'all', string> | string[];
172
+ historyApiFallback?: boolean | HistoryApiFallbackOptions;
173
+ watchFiles?: string | string[] | WatchFiles | (string | WatchFiles)[];
174
+ static?: DevServerStatic;
175
+ server?: ServerType<A, S> | ServerConfiguration<A, S>;
176
+ app?: () => Promise<A>;
177
+ webSocketServer?: boolean | LiteralUnion<'ws', string> | WebSocketServerConfiguration;
178
+ proxy?: DevServerProxyConfigArray;
179
+ open?: string | boolean | OpenOptions | (string | OpenOptions)[];
180
+ setupExitSignals?: boolean;
181
+ client?: boolean | DevServerClient;
182
+ headers?: DevServerHeaders | ((req: IncomingMessage, res: ServerResponse, context: DevMiddlewareContext | undefined) => DevServerHeaders);
183
+ onListening?: (devServer: any) => void;
184
+ setupMiddlewares?: (middlewares: DevServerMiddleware[], devServer: any) => DevServerMiddleware[];
207
185
  };
208
- interface HttpProxyMiddlewareOptions extends HttpProxyServerOptions {
209
- pathRewrite?: {
210
- [regexp: string]: string;
211
- } | ((path: string, req: Request) => string) | ((path: string, req: Request) => Promise<string>);
212
- router?: {
213
- [hostOrPath: string]: HttpProxyServerOptions['target'];
214
- } | ((req: Request) => HttpProxyServerOptions['target']) | ((req: Request) => Promise<HttpProxyServerOptions['target']>);
215
- logLevel?: 'debug' | 'info' | 'warn' | 'error' | 'silent';
216
- logProvider?: LogProviderCallback;
217
- onError?: OnErrorCallback;
218
- onProxyRes?: OnProxyResCallback;
219
- onProxyReq?: OnProxyReqCallback;
220
- onProxyReqWs?: OnProxyReqWsCallback;
221
- onOpen?: OnOpenCallback;
222
- onClose?: OnCloseCallback;
223
- }
224
- interface LogProvider {
225
- log: Logger;
226
- debug?: Logger;
227
- info?: Logger;
228
- warn?: Logger;
229
- error?: Logger;
230
- }
231
- type LogProviderCallback = (provider: LogProvider) => LogProvider;
232
- type OnErrorCallback = (err: Error, req: Request, res: Response, target?: string | Partial<url.Url>) => void;
233
- type OnProxyResCallback = (proxyRes: http.IncomingMessage, req: Request, res: Response) => void;
234
- type OnProxyReqCallback = (proxyReq: http.ClientRequest, req: Request, res: Response, options: HttpProxyServerOptions) => void;
235
- type OnProxyReqWsCallback = (proxyReq: http.ClientRequest, req: Request, socket: net.Socket, options: HttpProxyServerOptions, head: any) => void;
236
- type OnCloseCallback = (proxyRes: Response, proxySocket: net.Socket, proxyHead: any) => void;
237
- type OnOpenCallback = (proxySocket: net.Socket) => void;
238
- interface HttpProxyServerOptions {
239
- /** URL string to be parsed with the url module. */
240
- target?: HttpProxyTarget | undefined;
241
- /** URL string to be parsed with the url module. */
242
- forward?: HttpProxyTargetUrl | undefined;
243
- /** Object to be passed to http(s).request. */
244
- agent?: any;
245
- /** Object to be passed to https.createServer(). */
246
- ssl?: any;
247
- /** If you want to proxy websockets. */
248
- ws?: boolean | undefined;
249
- /** Adds x- forward headers. */
250
- xfwd?: boolean | undefined;
251
- /** Verify SSL certificate. */
252
- secure?: boolean | undefined;
253
- /** Explicitly specify if we are proxying to another proxy. */
254
- toProxy?: boolean | undefined;
255
- /** Specify whether you want to prepend the target's path to the proxy path. */
256
- prependPath?: boolean | undefined;
257
- /** Specify whether you want to ignore the proxy path of the incoming request. */
258
- ignorePath?: boolean | undefined;
259
- /** Local interface string to bind for outgoing connections. */
260
- localAddress?: string | undefined;
261
- /** Changes the origin of the host header to the target URL. */
262
- changeOrigin?: boolean | undefined;
263
- /** specify whether you want to keep letter case of response header key */
264
- preserveHeaderKeyCase?: boolean | undefined;
265
- /** Basic authentication i.e. 'user:password' to compute an Authorization header. */
266
- auth?: string | undefined;
267
- /** Rewrites the location hostname on (301 / 302 / 307 / 308) redirects, Default: null. */
268
- hostRewrite?: string | undefined;
269
- /** Rewrites the location host/ port on (301 / 302 / 307 / 308) redirects based on requested host/ port.Default: false. */
270
- autoRewrite?: boolean | undefined;
271
- /** Rewrites the location protocol on (301 / 302 / 307 / 308) redirects to 'http' or 'https'.Default: null. */
272
- protocolRewrite?: string | undefined;
273
- /** rewrites domain of set-cookie headers. */
274
- cookieDomainRewrite?: false | string | {
275
- [oldDomain: string]: string;
276
- } | undefined;
277
- /** rewrites path of set-cookie headers. Default: false */
278
- cookiePathRewrite?: false | string | {
279
- [oldPath: string]: string;
280
- } | undefined;
281
- /** object with extra headers to be added to target requests. */
282
- headers?: {
283
- [header: string]: string;
284
- } | undefined;
285
- /** Timeout (in milliseconds) when proxy receives no response from target. Default: 120000 (2 minutes) */
286
- proxyTimeout?: number | undefined;
287
- /** Timeout (in milliseconds) for incoming requests */
288
- timeout?: number | undefined;
289
- /** Specify whether you want to follow redirects. Default: false */
290
- followRedirects?: boolean | undefined;
291
- /** If set to true, none of the webOutgoing passes are called and it's your responsibility to appropriately return the response by listening and acting on the proxyRes event */
292
- selfHandleResponse?: boolean | undefined;
293
- /** Buffer */
294
- buffer?: stream.Stream | undefined;
295
- /** Explicitly set the method type of the ProxyReq */
296
- method?: string | undefined;
297
- }
298
- interface HttpProxyTargetDetailed {
299
- host: string;
300
- port: number;
301
- protocol?: string | undefined;
302
- hostname?: string | undefined;
303
- socketPath?: string | undefined;
304
- key?: string | undefined;
305
- passphrase?: string | undefined;
306
- pfx?: Buffer | string | undefined;
307
- cert?: string | undefined;
308
- ca?: string | undefined;
309
- ciphers?: string | undefined;
310
- secureProtocol?: string | undefined;
311
- }
312
- type HttpProxyTarget = HttpProxyTargetUrl | HttpProxyTargetDetailed;
313
- type HttpProxyTargetUrl = string | Partial<url.Url>;
314
186
  export {};
@@ -809,10 +809,10 @@ export type JavascriptParserOptions = {
809
809
  */
810
810
  dynamicImportFetchPriority?: 'low' | 'high' | 'auto';
811
811
  /**
812
- * Enable or disable evaluating import.meta.
813
- * @default true
812
+ * Enable or disable evaluating import.meta. Set to 'preserve-unknown' to preserve unknown properties for runtime evaluation.
813
+ * @default 'preserve-unknown'
814
814
  */
815
- importMeta?: boolean;
815
+ importMeta?: boolean | 'preserve-unknown';
816
816
  /**
817
817
  * Enable parsing of new URL() syntax.
818
818
  * @default true
@@ -846,6 +846,8 @@ export type JavascriptParserOptions = {
846
846
  importExportsPresence?: ExportsPresence;
847
847
  /** Warn or error for conflicting re-exports */
848
848
  reexportExportsPresence?: ExportsPresence;
849
+ /** Handle the this context correctly according to the spec for namespace objects. */
850
+ strictThisContextOnImports?: boolean;
849
851
  /** Provide custom syntax for Worker parsing, commonly used to support Worklet */
850
852
  worker?: string[] | boolean;
851
853
  /** Override the module to strict or non-strict. */
@@ -1435,7 +1437,8 @@ export type StatsOptions = {
1435
1437
  errorsCount?: boolean;
1436
1438
  /**
1437
1439
  * Enables or disables the use of colors in the output.
1438
- * @default false
1440
+ * When undefined, defaults to true if the environment supports color (TTY, FORCE_COLOR, or NO_COLOR unset), otherwise false.
1441
+ * @default environment-dependent (see above)
1439
1442
  */
1440
1443
  colors?: boolean | StatsColorOptions;
1441
1444
  /**
@@ -2226,10 +2229,10 @@ export type WatchOptions = {
2226
2229
  stdin?: boolean;
2227
2230
  };
2228
2231
  /**
2229
- * Options for devServer, it based on `webpack-dev-server@5`
2232
+ * Options for dev server
2230
2233
  * */
2231
2234
  export type DevServer = DevServerOptions;
2232
- export type { Middleware as DevServerMiddleware } from './devServer';
2235
+ export type { DevServerClient, DevServerHeaders, DevServerHost, DevServerMiddleware, DevServerMiddlewareHandler, DevServerOpenOptions, DevServerProxyConfigArray, DevServerProxyConfigArrayItem, DevServerStatic, DevServerStaticItem, DevServerWebSocketURL, } from './devServer';
2233
2236
  /**
2234
2237
  * Ignore specific warnings.
2235
2238
  */
@@ -2,13 +2,14 @@ import { type BuiltinPlugin, BuiltinPluginName } from '../binding';
2
2
  import { RspackBuiltinPlugin } from '../builtin-plugin/base';
3
3
  import type { Compiler } from '../Compiler';
4
4
  import type { EntryRuntime, FilenameTemplate, LibraryOptions } from '../config';
5
+ import { type ShareScope } from '../sharing/SharePlugin';
5
6
  export type ContainerPluginOptions = {
6
7
  exposes: Exposes;
7
8
  filename?: FilenameTemplate;
8
9
  library?: LibraryOptions;
9
10
  name: string;
10
11
  runtime?: EntryRuntime;
11
- shareScope?: string;
12
+ shareScope?: ShareScope;
12
13
  enhanced?: boolean;
13
14
  };
14
15
  export type Exposes = (ExposesItem | ExposesObject)[] | ExposesObject;
@@ -25,7 +26,7 @@ export declare class ContainerPlugin extends RspackBuiltinPlugin {
25
26
  name: BuiltinPluginName;
26
27
  _options: {
27
28
  name: string;
28
- shareScope: string;
29
+ shareScope: ShareScope;
29
30
  library: LibraryOptions;
30
31
  runtime: EntryRuntime | undefined;
31
32
  filename: string | undefined;
@@ -2,10 +2,11 @@ import { type BuiltinPlugin, BuiltinPluginName } from '../binding';
2
2
  import { RspackBuiltinPlugin } from '../builtin-plugin/base';
3
3
  import type { Compiler } from '../Compiler';
4
4
  import type { ExternalsType } from '../config';
5
+ import { type ShareScope } from '../sharing/SharePlugin';
5
6
  export type ContainerReferencePluginOptions = {
6
7
  remoteType: ExternalsType;
7
8
  remotes: Remotes;
8
- shareScope?: string;
9
+ shareScope?: ShareScope;
9
10
  enhanced?: boolean;
10
11
  };
11
12
  export type Remotes = (RemotesItem | RemotesObject)[] | RemotesObject;
@@ -16,7 +17,7 @@ export type RemotesObject = {
16
17
  };
17
18
  export type RemotesConfig = {
18
19
  external: RemotesItem | RemotesItems;
19
- shareScope?: string;
20
+ shareScope?: ShareScope;
20
21
  };
21
22
  export declare class ContainerReferencePlugin extends RspackBuiltinPlugin {
22
23
  name: BuiltinPluginName;
@@ -24,7 +25,7 @@ export declare class ContainerReferencePlugin extends RspackBuiltinPlugin {
24
25
  remoteType: ExternalsType;
25
26
  remotes: [string, {
26
27
  external: string[];
27
- shareScope: string;
28
+ shareScope: ShareScope;
28
29
  }][];
29
30
  enhanced: boolean;
30
31
  };
@@ -1,5 +1,6 @@
1
1
  import type { Compiler } from '../Compiler';
2
2
  import type { ExternalsType } from '../config';
3
+ import type { ShareScope } from '../sharing/SharePlugin';
3
4
  import { type ModuleFederationManifestPluginOptions } from './ModuleFederationManifestPlugin';
4
5
  import type { ModuleFederationPluginV1Options } from './ModuleFederationPluginV1';
5
6
  import { type ModuleFederationRuntimeExperimentsOptions } from './ModuleFederationRuntimePlugin';
@@ -26,7 +27,7 @@ interface RemoteInfo {
26
27
  name?: string;
27
28
  entry?: string;
28
29
  externalType: ExternalsType;
29
- shareScope: string;
30
+ shareScope: ShareScope;
30
31
  }
31
32
  type RemoteInfos = Record<string, RemoteInfo[]>;
32
33
  export declare function getRemoteInfos(options: ModuleFederationPluginOptions): RemoteInfos;
@@ -1,6 +1,6 @@
1
1
  import type { Compiler } from '../Compiler';
2
2
  import type { EntryRuntime, ExternalsType, LibraryOptions } from '../config';
3
- import { type Shared } from '../sharing/SharePlugin';
3
+ import { type Shared, type ShareScope } from '../sharing/SharePlugin';
4
4
  import { type Exposes } from './ContainerPlugin';
5
5
  import { type Remotes } from './ContainerReferencePlugin';
6
6
  export interface ModuleFederationPluginV1Options {
@@ -11,7 +11,7 @@ export interface ModuleFederationPluginV1Options {
11
11
  remoteType?: ExternalsType;
12
12
  remotes?: Remotes;
13
13
  runtime?: EntryRuntime;
14
- shareScope?: string;
14
+ shareScope?: ShareScope;
15
15
  shared?: Shared;
16
16
  enhanced?: boolean;
17
17
  }
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import './checkNodeVersion';
1
2
  import * as rspackExports from './exports';
2
3
  import { rspack as rspackFn } from './rspack';
3
4
  type Rspack = typeof rspackFn & typeof rspackExports & {