@rspack/binding 1.2.8 → 1.3.0-beta.1

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.
Files changed (2) hide show
  1. package/binding.d.ts +162 -70
  2. package/package.json +11 -11
package/binding.d.ts CHANGED
@@ -8,9 +8,48 @@ export type JsFilename =
8
8
 
9
9
  export type LocalJsFilename = JsFilename;
10
10
 
11
- export type RawLazyCompilationTest = RegExp | ((m: JsModule) => boolean);
11
+ export type RawLazyCompilationTest = RegExp | ((module: Module) => boolean);
12
12
 
13
13
  export type AssetInfo = KnownAssetInfo & Record<string, any>;
14
+
15
+ export interface Module {
16
+ readonly type: string;
17
+ get context(): string | undefined;
18
+ get layer(): string | undefined;
19
+ get factoryMeta(): JsFactoryMeta | undefined
20
+ get useSourceMap(): boolean;
21
+ get useSimpleSourceMap(): boolean;
22
+ buildInfo: Record<string, any>;
23
+ buildMeta: Record<string, any>;
24
+ }
25
+
26
+ interface NormalModuleConstructor {
27
+ new (): NormalModule;
28
+ readonly prototype: NormalModule;
29
+ }
30
+
31
+ export var NormalModule: NormalModuleConstructor;
32
+
33
+ export interface NormalModule extends Module {
34
+ get resource(): string;
35
+ get request(): string
36
+ get userRequest(): string
37
+ set userRequest(val: string)
38
+ get rawRequest(): string
39
+ get loaders(): Array<JsLoaderItem>
40
+ get resourceResolveData(): JsResourceData | undefined
41
+ get matchResource(): string | undefined
42
+ set matchResource(val: string | undefined)
43
+ }
44
+
45
+ export interface ConcatenatedModule extends Module {
46
+ }
47
+
48
+ export interface ContextModule extends Module {
49
+ }
50
+
51
+ export interface ExternalModule extends Module {
52
+ }
14
53
  /* -- banner.d.ts end -- */
15
54
 
16
55
  /* -- napi-rs generated below -- */
@@ -21,6 +60,34 @@ export declare class ExternalObject<T> {
21
60
  [K: symbol]: T
22
61
  }
23
62
  }
63
+ export declare class AsyncDependenciesBlock {
64
+ get dependencies(): Dependency[]
65
+ get blocks(): AsyncDependenciesBlock[]
66
+ }
67
+
68
+ export declare class ConcatenatedModule {
69
+ get modules(): Module[]
70
+ _originalSource(): JsCompatSource | undefined
71
+ identifier(): string
72
+ nameForCondition(): string | undefined
73
+ get blocks(): AsyncDependenciesBlock[]
74
+ get dependencies(): Dependency[]
75
+ size(ty?: string | undefined | null): number
76
+ libIdent(options: JsLibIdentOptions): string | null
77
+ _emitFile(filename: string, source: JsCompatSource, jsAssetInfo?: AssetInfo | undefined | null): void
78
+ }
79
+
80
+ export declare class ContextModule {
81
+ _originalSource(): JsCompatSource | undefined
82
+ identifier(): string
83
+ nameForCondition(): string | undefined
84
+ get blocks(): AsyncDependenciesBlock[]
85
+ get dependencies(): Dependency[]
86
+ size(ty?: string | undefined | null): number
87
+ libIdent(options: JsLibIdentOptions): string | null
88
+ _emitFile(filename: string, source: JsCompatSource, jsAssetInfo?: AssetInfo | undefined | null): void
89
+ }
90
+
24
91
  export declare class Dependency {
25
92
  get type(): string
26
93
  get category(): string
@@ -64,6 +131,19 @@ export declare class EntryOptionsDto {
64
131
  }
65
132
  export type EntryOptionsDTO = EntryOptionsDto
66
133
 
134
+ export declare class ExternalModule {
135
+ get userRequest(): string
136
+ set userRequest(val: string)
137
+ _originalSource(): JsCompatSource | undefined
138
+ identifier(): string
139
+ nameForCondition(): string | undefined
140
+ get blocks(): AsyncDependenciesBlock[]
141
+ get dependencies(): Dependency[]
142
+ size(ty?: string | undefined | null): number
143
+ libIdent(options: JsLibIdentOptions): string | null
144
+ _emitFile(filename: string, source: JsCompatSource, jsAssetInfo?: AssetInfo | undefined | null): void
145
+ }
146
+
67
147
  export declare class JsChunk {
68
148
  get name(): string | undefined
69
149
  get id(): string | undefined
@@ -89,15 +169,15 @@ export declare class JsChunk {
89
169
  }
90
170
 
91
171
  export declare class JsChunkGraph {
92
- getChunkModules(chunk: JsChunk): JsModule[]
93
- getChunkEntryModules(chunk: JsChunk): JsModule[]
172
+ getChunkModules(chunk: JsChunk): Module[]
173
+ getChunkEntryModules(chunk: JsChunk): Module[]
94
174
  getNumberOfEntryModules(chunk: JsChunk): number
95
175
  getChunkEntryDependentChunksIterable(chunk: JsChunk): JsChunk[]
96
- getChunkModulesIterableBySourceType(chunk: JsChunk, sourceType: string): JsModule[]
97
- getModuleChunks(module: JsModule): JsChunk[]
98
- getModuleId(jsModule: JsModule): string | null
99
- getModuleHash(module: JsModule, runtime: string | string[] | undefined): string | null
100
- getBlockChunkGroup(jsBlock: JsDependenciesBlock): JsChunkGroup | null
176
+ getChunkModulesIterableBySourceType(chunk: JsChunk, sourceType: string): Module[]
177
+ getModuleChunks(module: Module): JsChunk[]
178
+ getModuleId(module: Module): string | number | null
179
+ getModuleHash(module: Module, runtime: string | string[] | undefined): string | null
180
+ getBlockChunkGroup(jsBlock: AsyncDependenciesBlock): JsChunkGroup | null
101
181
  }
102
182
 
103
183
  export declare class JsChunkGroup {
@@ -111,8 +191,8 @@ export declare class JsChunkGroup {
111
191
  getRuntimeChunk(): JsChunk
112
192
  getEntrypointChunk(): JsChunk
113
193
  getFiles(): Array<string>
114
- getModulePreOrderIndex(module: JsModule): number | null
115
- getModulePostOrderIndex(module: JsModule): number | null
194
+ getModulePreOrderIndex(module: Module): number | null
195
+ getModulePostOrderIndex(module: Module): number | null
116
196
  }
117
197
 
118
198
  export declare class JsCompilation {
@@ -120,8 +200,8 @@ export declare class JsCompilation {
120
200
  getAssets(): Readonly<JsAsset>[]
121
201
  getAsset(name: string): JsAsset | null
122
202
  getAssetSource(name: string): JsCompatSource | null
123
- get modules(): Array<JsModule>
124
- get builtModules(): Array<JsModule>
203
+ get modules(): Array<Module>
204
+ get builtModules(): Array<Module>
125
205
  getOptimizationBailout(): Array<JsStatsOptimizationBailout>
126
206
  getChunks(): JsChunk[]
127
207
  getNamedChunkKeys(): Array<string>
@@ -165,7 +245,7 @@ export declare class JsCompilation {
165
245
  addRuntimeModule(chunk: JsChunk, runtimeModule: JsAddingRuntimeModule): void
166
246
  get moduleGraph(): JsModuleGraph
167
247
  get chunkGraph(): JsChunkGraph
168
- addInclude(args: [string, EntryDependency, JsEntryOptions | undefined][], callback: (errMsg: Error | null, results: [string | null, JsModule][]) => void): void
248
+ addInclude(args: [string, EntryDependency, JsEntryOptions | undefined][], callback: (errMsg: Error | null, results: [string | null, Module][]) => void): void
169
249
  }
170
250
 
171
251
  export declare class JsCompiler {
@@ -217,11 +297,6 @@ export declare class JsDependencies {
217
297
  get removedBuildDependencies(): Array<string>
218
298
  }
219
299
 
220
- export declare class JsDependenciesBlock {
221
- get dependencies(): Dependency[]
222
- get blocks(): JsDependenciesBlock[]
223
- }
224
-
225
300
  export declare class JsEntries {
226
301
  clear(): void
227
302
  get size(): number
@@ -240,55 +315,30 @@ export declare class JsExportsInfo {
240
315
  getUsed(name: string | string[], runtime: string | string[] | undefined): 0 | 1 | 2 | 3 | 4
241
316
  }
242
317
 
243
- export declare class JsModule {
244
- get context(): string | undefined
245
- get originalSource(): JsCompatSource | undefined
246
- get resource(): string | undefined
247
- get moduleIdentifier(): string
248
- get nameForCondition(): string | undefined
249
- get request(): string | undefined
250
- get userRequest(): string | undefined
251
- set userRequest(val: string | undefined)
252
- get rawRequest(): string | undefined
253
- get factoryMeta(): JsFactoryMeta | undefined
254
- get type(): string
255
- get layer(): string | undefined
256
- get blocks(): JsDependenciesBlock[]
257
- get dependencies(): Dependency[]
258
- size(ty?: string | undefined | null): number
259
- get modules(): JsModule[] | undefined
260
- get useSourceMap(): boolean
261
- libIdent(options: JsLibIdentOptions): string | null
262
- get resourceResolveData(): JsResourceData | undefined
263
- get matchResource(): string | undefined
264
- set matchResource(val: string | undefined)
265
- emitFile(filename: string, source: JsCompatSource, jsAssetInfo?: AssetInfo | undefined | null): void
266
- }
267
-
268
318
  export declare class JsModuleGraph {
269
- getModule(dependency: Dependency): JsModule | null
270
- getResolvedModule(dependency: Dependency): JsModule | null
271
- getUsedExports(jsModule: JsModule, jsRuntime: string | Array<string>): boolean | Array<string> | null
272
- getIssuer(module: JsModule): JsModule | null
273
- getExportsInfo(module: JsModule): JsExportsInfo
319
+ getModule(dependency: Dependency): Module | null
320
+ getResolvedModule(dependency: Dependency): Module | null
321
+ getUsedExports(module: Module, runtime: string | string[]): boolean | Array<string> | null
322
+ getIssuer(module: Module): Module | null
323
+ getExportsInfo(module: Module): JsExportsInfo
274
324
  getConnection(dependency: Dependency): JsModuleGraphConnection | null
275
- getOutgoingConnections(module: JsModule): JsModuleGraphConnection[]
276
- getOutgoingConnectionsInOrder(module: JsModule): JsModuleGraphConnection[]
277
- getIncomingConnections(module: JsModule): JsModuleGraphConnection[]
278
- getParentModule(dependency: Dependency): JsModule | null
325
+ getOutgoingConnections(module: Module): JsModuleGraphConnection[]
326
+ getOutgoingConnectionsInOrder(module: Module): JsModuleGraphConnection[]
327
+ getIncomingConnections(module: Module): JsModuleGraphConnection[]
328
+ getParentModule(dependency: Dependency): Module | null
279
329
  getParentBlockIndex(dependency: Dependency): number
280
- isAsync(module: JsModule): boolean
330
+ isAsync(module: Module): boolean
281
331
  }
282
332
 
283
333
  export declare class JsModuleGraphConnection {
284
334
  get dependency(): Dependency
285
- get module(): JsModule | null
286
- get resolvedModule(): JsModule | null
287
- get originModule(): JsModule | null
335
+ get module(): Module | null
336
+ get resolvedModule(): Module | null
337
+ get originModule(): Module | null
288
338
  }
289
339
 
290
340
  export declare class JsResolver {
291
- resolveSync(path: string, request: string): string | false
341
+ resolveSync(path: string, request: string): JsResourceData | false
292
342
  withOptions(raw?: RawResolveOptionsWithDependencyType | undefined | null): JsResolver
293
343
  }
294
344
 
@@ -304,6 +354,18 @@ export declare class JsStats {
304
354
  getLogging(acceptedTypes: number): Array<JsStatsLogging>
305
355
  }
306
356
 
357
+ export declare class Module {
358
+ _originalSource(): JsCompatSource | undefined
359
+ identifier(): string
360
+ nameForCondition(): string | undefined
361
+ get blocks(): AsyncDependenciesBlock[]
362
+ get dependencies(): Dependency[]
363
+ size(ty?: string | undefined | null): number
364
+ libIdent(options: JsLibIdentOptions): string | null
365
+ _emitFile(filename: string, source: JsCompatSource, jsAssetInfo?: AssetInfo | undefined | null): void
366
+ }
367
+
368
+
307
369
  export declare class RawExternalItemFnCtx {
308
370
  data(): RawExternalItemFnCtxData
309
371
  getResolver(): JsResolver
@@ -393,6 +455,7 @@ export declare enum BuiltinPluginName {
393
455
  CssExtractRspackPlugin = 'CssExtractRspackPlugin',
394
456
  SubresourceIntegrityPlugin = 'SubresourceIntegrityPlugin',
395
457
  RsdoctorPlugin = 'RsdoctorPlugin',
458
+ CircularDependencyRspackPlugin = 'CircularDependencyRspackPlugin',
396
459
  JsLoaderRspackPlugin = 'JsLoaderRspackPlugin',
397
460
  LazyCompilationPlugin = 'LazyCompilationPlugin',
398
461
  ModuleInfoHeaderPlugin = 'ModuleInfoHeaderPlugin'
@@ -524,7 +587,7 @@ export interface JsBuildTimeExecutionOption {
524
587
  }
525
588
 
526
589
  export interface JsCacheGroupTestCtx {
527
- module: JsModule
590
+ module: Module
528
591
  }
529
592
 
530
593
  export interface JsChunkAssetArgs {
@@ -533,12 +596,12 @@ export interface JsChunkAssetArgs {
533
596
  }
534
597
 
535
598
  export interface JsChunkGroupOrigin {
536
- module?: JsModule | undefined
599
+ module?: Module | undefined
537
600
  request?: string
538
601
  }
539
602
 
540
603
  export interface JsChunkOptionNameCtx {
541
- module: JsModule
604
+ module: Module
542
605
  chunks: JsChunk[]
543
606
  cacheGroupKey: string
544
607
  }
@@ -737,7 +800,7 @@ export interface JsLoaderContext {
737
800
  resourceData: Readonly<JsResourceData>
738
801
  /** Will be deprecated. Use module.module_identifier instead */
739
802
  _moduleIdentifier: Readonly<string>
740
- _module: JsModule
803
+ _module: Module
741
804
  hot: Readonly<boolean>
742
805
  /** Content maybe empty in pitching stage */
743
806
  content: null | Buffer
@@ -757,7 +820,7 @@ export interface JsLoaderContext {
757
820
  }
758
821
 
759
822
  export interface JsLoaderItem {
760
- request: string
823
+ loader: string
761
824
  type: string
762
825
  data: any
763
826
  normalExecuted: boolean
@@ -772,7 +835,7 @@ export declare enum JsLoaderState {
772
835
  export interface JsModuleDescriptor {
773
836
  identifier: string
774
837
  name: string
775
- id?: string
838
+ id?: string | number | null
776
839
  }
777
840
 
778
841
  export interface JsNormalModuleFactoryCreateModuleArgs {
@@ -826,6 +889,8 @@ export interface JsResourceData {
826
889
  query?: string
827
890
  /** Resource fragment with `#` prefix */
828
891
  fragment?: string
892
+ descriptionFileData?: any
893
+ descriptionFilePath?: string
829
894
  }
830
895
 
831
896
  export interface JsRsdoctorAsset {
@@ -1339,7 +1404,7 @@ export interface RawAliasOptionItem {
1339
1404
 
1340
1405
  export interface RawAssetGeneratorDataUrlFnCtx {
1341
1406
  filename: string
1342
- module: JsModule
1407
+ module: Module
1343
1408
  }
1344
1409
 
1345
1410
  export interface RawAssetGeneratorDataUrlOptions {
@@ -1428,6 +1493,17 @@ export interface RawCacheOptions {
1428
1493
  maxGenerations?: number
1429
1494
  }
1430
1495
 
1496
+ export interface RawCircularDependencyRspackPluginOptions {
1497
+ failOnError?: boolean
1498
+ allowAsyncCycles?: boolean
1499
+ exclude?: RegExp
1500
+ ignoredConnections?: Array<[string | RegExp, string | RegExp]>
1501
+ onDetected?: (entrypoint: Module, modules: string[], compilation: JsCompilation) => void
1502
+ onIgnored?: (entrypoint: Module, modules: string[], compilation: JsCompilation) => void
1503
+ onStart?: (compilation: JsCompilation) => void
1504
+ onEnd?: (compilation: JsCompilation) => void
1505
+ }
1506
+
1431
1507
  export interface RawConsumeOptions {
1432
1508
  key: string
1433
1509
  import?: string
@@ -1487,7 +1563,14 @@ export interface RawCopyPattern {
1487
1563
  priority: number
1488
1564
  globOptions: RawCopyGlobOptions
1489
1565
  info?: RawInfo
1490
- transform?: (input: Buffer, absoluteFilename: string) => string | Buffer | Promise<string> | Promise<Buffer>
1566
+ /**
1567
+ * Determines whether to copy file permissions from the source to the destination.
1568
+ * When set to true, the plugin will preserve executable permissions and other file modes.
1569
+ * This is particularly useful when copying scripts or executable files.
1570
+ * @default false
1571
+ */
1572
+ copyPermissions?: boolean
1573
+ transform?: { transformer: (input: string, absoluteFilename: string) => string | Buffer | Promise<string> | Promise<Buffer> } | ((input: Buffer, absoluteFilename: string) => string | Buffer | Promise<string> | Promise<Buffer>)
1491
1574
  }
1492
1575
 
1493
1576
  export interface RawCopyRspackPluginOptions {
@@ -1685,13 +1768,14 @@ export interface RawFuncUseCtx {
1685
1768
  }
1686
1769
 
1687
1770
  export interface RawGeneratorOptions {
1688
- type: "asset" | "asset/inline" | "asset/resource" | "css" | "css/auto" | "css/module"
1771
+ type: "asset" | "asset/inline" | "asset/resource" | "css" | "css/auto" | "css/module" | "json"
1689
1772
  asset?: RawAssetGeneratorOptions
1690
1773
  assetInline?: RawAssetInlineGeneratorOptions
1691
1774
  assetResource?: RawAssetResourceGeneratorOptions
1692
1775
  css?: RawCssGeneratorOptions
1693
1776
  cssAuto?: RawCssAutoGeneratorOptions
1694
1777
  cssModule?: RawCssModuleGeneratorOptions
1778
+ json?: RawJsonGeneratorOptions
1695
1779
  }
1696
1780
 
1697
1781
  export interface RawHtmlRspackPluginBaseOptions {
@@ -1813,6 +1897,10 @@ export interface RawJavascriptParserOptions {
1813
1897
  importDynamic?: boolean
1814
1898
  }
1815
1899
 
1900
+ export interface RawJsonGeneratorOptions {
1901
+ JSONParse?: boolean
1902
+ }
1903
+
1816
1904
  export interface RawJsonParserOptions {
1817
1905
  exportsDepth?: number
1818
1906
  parse?: (source: string) => string
@@ -2284,7 +2372,11 @@ export interface RawSwcJsMinimizerRspackPluginOptions {
2284
2372
 
2285
2373
  export interface RawToOptions {
2286
2374
  context: string
2287
- absoluteFilename: string
2375
+ absoluteFilename?: string
2376
+ }
2377
+
2378
+ export interface RawTransformOptions {
2379
+ transformer: { transformer: (input: string, absoluteFilename: string) => string | Buffer | Promise<string> | Promise<Buffer> }
2288
2380
  }
2289
2381
 
2290
2382
  export interface RawTrustedTypes {
@@ -2362,9 +2454,9 @@ export interface RegisterJsTaps {
2362
2454
  registerCompilerEmitTaps: (stages: Array<number>) => Array<{ function: (() => Promise<void>); stage: number; }>
2363
2455
  registerCompilerAfterEmitTaps: (stages: Array<number>) => Array<{ function: (() => Promise<void>); stage: number; }>
2364
2456
  registerCompilerAssetEmittedTaps: (stages: Array<number>) => Array<{ function: ((arg: JsAssetEmittedArgs) => Promise<void>); stage: number; }>
2365
- registerCompilationBuildModuleTaps: (stages: Array<number>) => Array<{ function: ((arg: JsModule) => void); stage: number; }>
2366
- registerCompilationStillValidModuleTaps: (stages: Array<number>) => Array<{ function: ((arg: JsModule) => void); stage: number; }>
2367
- registerCompilationSucceedModuleTaps: (stages: Array<number>) => Array<{ function: ((arg: JsModule) => void); stage: number; }>
2457
+ registerCompilationBuildModuleTaps: (stages: Array<number>) => Array<{ function: ((arg: Module) => void); stage: number; }>
2458
+ registerCompilationStillValidModuleTaps: (stages: Array<number>) => Array<{ function: ((arg: Module) => void); stage: number; }>
2459
+ registerCompilationSucceedModuleTaps: (stages: Array<number>) => Array<{ function: ((arg: Module) => void); stage: number; }>
2368
2460
  registerCompilationExecuteModuleTaps: (stages: Array<number>) => Array<{ function: ((arg: JsExecuteModuleArg) => void); stage: number; }>
2369
2461
  registerCompilationAdditionalTreeRuntimeRequirementsTaps: (stages: Array<number>) => Array<{ function: ((arg: JsAdditionalTreeRuntimeRequirementsArg) => JsAdditionalTreeRuntimeRequirementsResult | undefined); stage: number; }>
2370
2462
  registerCompilationRuntimeRequirementInTreeTaps: (stages: Array<number>) => Array<{ function: ((arg: JsRuntimeRequirementInTreeArg) => JsRuntimeRequirementInTreeResult | undefined); stage: number; }>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rspack/binding",
3
- "version": "1.2.8",
3
+ "version": "1.3.0-beta.1",
4
4
  "license": "MIT",
5
5
  "description": "Node binding for rspack",
6
6
  "main": "binding.js",
@@ -17,7 +17,7 @@
17
17
  "bugs": "https://github.com/web-infra-dev/rspack/issues",
18
18
  "repository": "web-infra-dev/rspack",
19
19
  "devDependencies": {
20
- "@napi-rs/cli": "3.0.0-alpha.73",
20
+ "@napi-rs/cli": "3.0.0-alpha.75",
21
21
  "@napi-rs/wasm-runtime": "^0.2.7",
22
22
  "emnapi": "^1.3.1",
23
23
  "typescript": "^5.7.3",
@@ -48,15 +48,15 @@
48
48
  }
49
49
  },
50
50
  "optionalDependencies": {
51
- "@rspack/binding-darwin-arm64": "1.2.8",
52
- "@rspack/binding-win32-arm64-msvc": "1.2.8",
53
- "@rspack/binding-linux-arm64-gnu": "1.2.8",
54
- "@rspack/binding-linux-arm64-musl": "1.2.8",
55
- "@rspack/binding-win32-ia32-msvc": "1.2.8",
56
- "@rspack/binding-darwin-x64": "1.2.8",
57
- "@rspack/binding-win32-x64-msvc": "1.2.8",
58
- "@rspack/binding-linux-x64-gnu": "1.2.8",
59
- "@rspack/binding-linux-x64-musl": "1.2.8"
51
+ "@rspack/binding-darwin-arm64": "1.3.0-beta.1",
52
+ "@rspack/binding-win32-arm64-msvc": "1.3.0-beta.1",
53
+ "@rspack/binding-linux-arm64-musl": "1.3.0-beta.1",
54
+ "@rspack/binding-linux-arm64-gnu": "1.3.0-beta.1",
55
+ "@rspack/binding-win32-ia32-msvc": "1.3.0-beta.1",
56
+ "@rspack/binding-win32-x64-msvc": "1.3.0-beta.1",
57
+ "@rspack/binding-darwin-x64": "1.3.0-beta.1",
58
+ "@rspack/binding-linux-x64-gnu": "1.3.0-beta.1",
59
+ "@rspack/binding-linux-x64-musl": "1.3.0-beta.1"
60
60
  },
61
61
  "scripts": {
62
62
  "build:dev": "node scripts/build.js",