@rspack/binding 1.2.8 → 1.3.0-beta.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.
Files changed (2) hide show
  1. package/binding.d.ts +143 -67
  2. package/package.json +10 -10
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 | undefined;
35
+ get request(): string | undefined
36
+ get userRequest(): string | undefined
37
+ set userRequest(val: string | undefined)
38
+ get rawRequest(): string | undefined
39
+ get loaders(): Array<JsLoaderItem> | undefined
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[] | undefined
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 | undefined
136
+ set userRequest(val: string | undefined)
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 | 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
@@ -524,7 +586,7 @@ export interface JsBuildTimeExecutionOption {
524
586
  }
525
587
 
526
588
  export interface JsCacheGroupTestCtx {
527
- module: JsModule
589
+ module: Module
528
590
  }
529
591
 
530
592
  export interface JsChunkAssetArgs {
@@ -533,12 +595,12 @@ export interface JsChunkAssetArgs {
533
595
  }
534
596
 
535
597
  export interface JsChunkGroupOrigin {
536
- module?: JsModule | undefined
598
+ module?: Module | undefined
537
599
  request?: string
538
600
  }
539
601
 
540
602
  export interface JsChunkOptionNameCtx {
541
- module: JsModule
603
+ module: Module
542
604
  chunks: JsChunk[]
543
605
  cacheGroupKey: string
544
606
  }
@@ -737,7 +799,7 @@ export interface JsLoaderContext {
737
799
  resourceData: Readonly<JsResourceData>
738
800
  /** Will be deprecated. Use module.module_identifier instead */
739
801
  _moduleIdentifier: Readonly<string>
740
- _module: JsModule
802
+ _module: Module
741
803
  hot: Readonly<boolean>
742
804
  /** Content maybe empty in pitching stage */
743
805
  content: null | Buffer
@@ -757,7 +819,7 @@ export interface JsLoaderContext {
757
819
  }
758
820
 
759
821
  export interface JsLoaderItem {
760
- request: string
822
+ loader: string
761
823
  type: string
762
824
  data: any
763
825
  normalExecuted: boolean
@@ -826,6 +888,8 @@ export interface JsResourceData {
826
888
  query?: string
827
889
  /** Resource fragment with `#` prefix */
828
890
  fragment?: string
891
+ descriptionFileData?: any
892
+ descriptionFilePath?: string
829
893
  }
830
894
 
831
895
  export interface JsRsdoctorAsset {
@@ -1339,7 +1403,7 @@ export interface RawAliasOptionItem {
1339
1403
 
1340
1404
  export interface RawAssetGeneratorDataUrlFnCtx {
1341
1405
  filename: string
1342
- module: JsModule
1406
+ module: Module
1343
1407
  }
1344
1408
 
1345
1409
  export interface RawAssetGeneratorDataUrlOptions {
@@ -1487,6 +1551,13 @@ export interface RawCopyPattern {
1487
1551
  priority: number
1488
1552
  globOptions: RawCopyGlobOptions
1489
1553
  info?: RawInfo
1554
+ /**
1555
+ * Determines whether to copy file permissions from the source to the destination.
1556
+ * When set to true, the plugin will preserve executable permissions and other file modes.
1557
+ * This is particularly useful when copying scripts or executable files.
1558
+ * @default false
1559
+ */
1560
+ copyPermissions?: boolean
1490
1561
  transform?: (input: Buffer, absoluteFilename: string) => string | Buffer | Promise<string> | Promise<Buffer>
1491
1562
  }
1492
1563
 
@@ -1685,13 +1756,14 @@ export interface RawFuncUseCtx {
1685
1756
  }
1686
1757
 
1687
1758
  export interface RawGeneratorOptions {
1688
- type: "asset" | "asset/inline" | "asset/resource" | "css" | "css/auto" | "css/module"
1759
+ type: "asset" | "asset/inline" | "asset/resource" | "css" | "css/auto" | "css/module" | "json"
1689
1760
  asset?: RawAssetGeneratorOptions
1690
1761
  assetInline?: RawAssetInlineGeneratorOptions
1691
1762
  assetResource?: RawAssetResourceGeneratorOptions
1692
1763
  css?: RawCssGeneratorOptions
1693
1764
  cssAuto?: RawCssAutoGeneratorOptions
1694
1765
  cssModule?: RawCssModuleGeneratorOptions
1766
+ json?: RawJsonGeneratorOptions
1695
1767
  }
1696
1768
 
1697
1769
  export interface RawHtmlRspackPluginBaseOptions {
@@ -1813,6 +1885,10 @@ export interface RawJavascriptParserOptions {
1813
1885
  importDynamic?: boolean
1814
1886
  }
1815
1887
 
1888
+ export interface RawJsonGeneratorOptions {
1889
+ JSONParse?: boolean
1890
+ }
1891
+
1816
1892
  export interface RawJsonParserOptions {
1817
1893
  exportsDepth?: number
1818
1894
  parse?: (source: string) => string
@@ -2362,9 +2438,9 @@ export interface RegisterJsTaps {
2362
2438
  registerCompilerEmitTaps: (stages: Array<number>) => Array<{ function: (() => Promise<void>); stage: number; }>
2363
2439
  registerCompilerAfterEmitTaps: (stages: Array<number>) => Array<{ function: (() => Promise<void>); stage: number; }>
2364
2440
  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; }>
2441
+ registerCompilationBuildModuleTaps: (stages: Array<number>) => Array<{ function: ((arg: Module) => void); stage: number; }>
2442
+ registerCompilationStillValidModuleTaps: (stages: Array<number>) => Array<{ function: ((arg: Module) => void); stage: number; }>
2443
+ registerCompilationSucceedModuleTaps: (stages: Array<number>) => Array<{ function: ((arg: Module) => void); stage: number; }>
2368
2444
  registerCompilationExecuteModuleTaps: (stages: Array<number>) => Array<{ function: ((arg: JsExecuteModuleArg) => void); stage: number; }>
2369
2445
  registerCompilationAdditionalTreeRuntimeRequirementsTaps: (stages: Array<number>) => Array<{ function: ((arg: JsAdditionalTreeRuntimeRequirementsArg) => JsAdditionalTreeRuntimeRequirementsResult | undefined); stage: number; }>
2370
2446
  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.0",
4
4
  "license": "MIT",
5
5
  "description": "Node binding for rspack",
6
6
  "main": "binding.js",
@@ -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.0",
52
+ "@rspack/binding-win32-arm64-msvc": "1.3.0-beta.0",
53
+ "@rspack/binding-linux-arm64-musl": "1.3.0-beta.0",
54
+ "@rspack/binding-linux-arm64-gnu": "1.3.0-beta.0",
55
+ "@rspack/binding-win32-ia32-msvc": "1.3.0-beta.0",
56
+ "@rspack/binding-darwin-x64": "1.3.0-beta.0",
57
+ "@rspack/binding-win32-x64-msvc": "1.3.0-beta.0",
58
+ "@rspack/binding-linux-x64-gnu": "1.3.0-beta.0",
59
+ "@rspack/binding-linux-x64-musl": "1.3.0-beta.0"
60
60
  },
61
61
  "scripts": {
62
62
  "build:dev": "node scripts/build.js",