@rspack/binding 1.0.0-alpha.4 → 1.0.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 +126 -101
  2. package/package.json +13 -11
package/binding.d.ts CHANGED
@@ -29,14 +29,18 @@ export class JsCompilation {
29
29
  getChunks(): Array<JsChunk>
30
30
  getNamedChunkKeys(): Array<string>
31
31
  getNamedChunk(name: string): JsChunk | null
32
+ getNamedChunkGroupKeys(): Array<string>
33
+ getNamedChunkGroup(name: string): JsChunkGroup | null
32
34
  setAssetSource(name: string, source: JsCompatSource): void
33
35
  deleteAssetSource(name: string): void
34
36
  getAssetFilenames(): Array<string>
35
37
  hasAsset(name: string): boolean
38
+ emitAssetFromLoader(filename: string, source: JsCompatSource, assetInfo: JsAssetInfo, module: string): void
36
39
  emitAsset(filename: string, source: JsCompatSource, assetInfo: JsAssetInfo): void
37
40
  deleteAsset(filename: string): void
38
41
  renameAsset(filename: string, newName: string): void
39
42
  get entrypoints(): Record<string, JsChunkGroup>
43
+ get chunkGroups(): Array<JsChunkGroup>
40
44
  get hash(): string | null
41
45
  getFileDependencies(): Array<string>
42
46
  getContextDependencies(): Array<string>
@@ -57,7 +61,7 @@ export class JsCompilation {
57
61
  addMissingDependencies(deps: Array<string>): void
58
62
  addBuildDependencies(deps: Array<string>): void
59
63
  rebuildModule(moduleIdentifiers: Array<string>, f: (...args: any[]) => any): void
60
- importModule(request: string, publicPath: string | undefined | null, baseUri: string | undefined | null, originalModule: string | undefined | null, originalModuleContext: string | undefined | null, callback: (...args: any[]) => any): void
64
+ importModule(request: string, publicPath: JsFilename | undefined | null, baseUri: string | undefined | null, originalModule: string | undefined | null, originalModuleContext: string | undefined | null, callback: (...args: any[]) => any): void
61
65
  }
62
66
 
63
67
  export class JsResolver {
@@ -82,6 +86,80 @@ export class JsStats {
82
86
  getHash(): string | null
83
87
  }
84
88
 
89
+ export class JsStatsChunk {
90
+ get type(): string
91
+ get files(): Array<string>
92
+ get auxiliaryFiles(): Array<string>
93
+ get id(): string | undefined
94
+ get idHints(): Array<string>
95
+ get hash(): string | undefined
96
+ get entry(): boolean
97
+ get initial(): boolean
98
+ get names(): Array<string>
99
+ get size(): number
100
+ get parents(): Array<string> | undefined
101
+ get children(): Array<string> | undefined
102
+ get siblings(): Array<string> | undefined
103
+ get childrenByOrder(): Record<string, Array<string>>
104
+ get runtime(): Array<string>
105
+ get reason(): string | undefined
106
+ get rendered(): boolean
107
+ get sizes(): Array<JsStatsSize>
108
+ get origins(): Array<JsOriginRecord>
109
+ get modules(): Array<JsStatsModule> | undefined
110
+ }
111
+
112
+ export class JsStatsModule {
113
+ get type(): string
114
+ get moduleType(): string
115
+ get identifier(): string
116
+ get name(): string
117
+ get id(): string | undefined
118
+ get chunks(): Array<string | undefined | null>
119
+ get size(): number
120
+ get depth(): number | undefined
121
+ get dependent(): boolean | undefined
122
+ get issuer(): string | undefined
123
+ get issuerName(): string | undefined
124
+ get issuerId(): string | undefined
125
+ get issuerPath(): Array<JsStatsModuleIssuer>
126
+ get nameForCondition(): string | undefined
127
+ get assets(): Array<string> | undefined
128
+ get source(): string | Buffer | undefined
129
+ get orphan(): boolean
130
+ get providedExports(): Array<string> | undefined
131
+ get usedExports(): string | Array<string> | undefined
132
+ get optimizationBailout(): Array<string> | undefined
133
+ get preOrderIndex(): number | undefined
134
+ get postOrderIndex(): number | undefined
135
+ get built(): boolean
136
+ get codeGenerated(): boolean
137
+ get buildTimeExecuted(): boolean
138
+ get cached(): boolean
139
+ get cacheable(): boolean
140
+ get optional(): boolean
141
+ get failed(): boolean
142
+ get errors(): number
143
+ get warnings(): number
144
+ get sizes(): Array<JsStatsSize>
145
+ get profile(): JsStatsModuleProfile | undefined
146
+ get reasons(): Array<JsStatsModuleReason> | undefined
147
+ get modules(): Array<JsStatsModule> | undefined
148
+ }
149
+
150
+ export class JsStatsModuleReason {
151
+ get moduleIdentifier(): string | undefined
152
+ get moduleName(): string | undefined
153
+ get moduleId(): string | undefined
154
+ get type(): string | undefined
155
+ get userRequest(): string | undefined
156
+ }
157
+
158
+ export class JsStatsSize {
159
+ sourceType: string
160
+ size: number
161
+ }
162
+
85
163
  export class Rspack {
86
164
  constructor(options: RawOptions, builtinPlugins: Array<BuiltinPlugin>, registerJsTaps: RegisterJsTaps, outputFilesystem: ThreadsafeNodeFS, resolverFactoryReference: JsResolverFactory)
87
165
  setNonSkippableRegisters(kinds: Array<RegisterJsTapKind>): void
@@ -196,6 +274,10 @@ export enum BuiltinPluginName {
196
274
 
197
275
  export function cleanupGlobalTrace(): void
198
276
 
277
+ export interface ContextInfo {
278
+ issuer: string
279
+ }
280
+
199
281
  export interface JsAdditionalTreeRuntimeRequirementsArg {
200
282
  chunk: JsChunk
201
283
  runtimeRequirements: JsRuntimeGlobals
@@ -231,16 +313,15 @@ export interface JsAssetInfo {
231
313
  immutable: boolean
232
314
  /** whether the asset is minimized */
233
315
  minimized: boolean
234
- /**
235
- * the value(s) of the full hash used for this asset
236
- * the value(s) of the chunk hash used for this asset
237
- */
238
- chunkHash: Array<string>
316
+ /** the value(s) of the full hash used for this asset */
317
+ fullhash: Array<string>
318
+ /** the value(s) of the chunk hash used for this asset */
319
+ chunkhash: Array<string>
239
320
  /**
240
321
  * the value(s) of the module hash used for this asset
241
322
  * the value(s) of the content hash used for this asset
242
323
  */
243
- contentHash: Array<string>
324
+ contenthash: Array<string>
244
325
  sourceFilename?: string
245
326
  /**
246
327
  * size in bytes, only set after asset has been emitted
@@ -399,7 +480,6 @@ export interface JsLoaderContext {
399
480
  contextDependencies: Array<string>
400
481
  missingDependencies: Array<string>
401
482
  buildDependencies: Array<string>
402
- assetFilenames: Array<string>
403
483
  loaderItems: Array<JsLoaderItem>
404
484
  loaderIndex: number
405
485
  loaderState: Readonly<JsLoaderState>
@@ -513,11 +593,15 @@ export interface JsRuntimeModuleArg {
513
593
  export interface JsStatsAsset {
514
594
  type: string
515
595
  name: string
516
- size: number
517
- chunks: Array<string | undefined | null>
518
- chunkNames: Array<string>
519
596
  info: JsStatsAssetInfo
597
+ size: number
520
598
  emitted: boolean
599
+ chunkNames: Array<string>
600
+ chunkIdHints: Array<string>
601
+ chunks: Array<string | undefined | null>
602
+ auxiliaryChunkNames: Array<string>
603
+ auxiliaryChunkIdHints: Array<string>
604
+ auxiliaryChunks: Array<string | undefined | null>
521
605
  }
522
606
 
523
607
  export interface JsStatsAssetInfo {
@@ -527,8 +611,9 @@ export interface JsStatsAssetInfo {
527
611
  sourceFilename?: string
528
612
  immutable: boolean
529
613
  javascriptModule?: boolean
530
- chunkHash: Array<string>
531
- contentHash: Array<string>
614
+ chunkhash: Array<string>
615
+ contenthash: Array<string>
616
+ fullhash: Array<string>
532
617
  related: Array<JsStatsAssetInfoRelated>
533
618
  }
534
619
 
@@ -542,29 +627,6 @@ export interface JsStatsAssetsByChunkName {
542
627
  files: Array<string>
543
628
  }
544
629
 
545
- export interface JsStatsChunk {
546
- type: string
547
- files: Array<string>
548
- auxiliaryFiles: Array<string>
549
- id?: string
550
- idHints: Array<string>
551
- hash?: string
552
- entry: boolean
553
- initial: boolean
554
- names: Array<string>
555
- size: number
556
- modules?: Array<JsStatsModule>
557
- parents?: Array<string>
558
- children?: Array<string>
559
- siblings?: Array<string>
560
- childrenByOrder: Record<string, Array<string>>
561
- runtime: Array<string>
562
- sizes: Array<JsStatsSize>
563
- reason?: string
564
- rendered: boolean
565
- origins: Array<JsOriginRecord>
566
- }
567
-
568
630
  export interface JsStatsChunkGroup {
569
631
  name: string
570
632
  chunks: Array<string | undefined | null>
@@ -617,44 +679,6 @@ export interface JsStatsMillisecond {
617
679
  subsecMillis: number
618
680
  }
619
681
 
620
- export interface JsStatsModule {
621
- type: string
622
- moduleType: string
623
- identifier: string
624
- name: string
625
- id?: string
626
- chunks: Array<string | undefined | null>
627
- size: number
628
- sizes: Array<JsStatsSize>
629
- depth?: number
630
- dependent?: boolean
631
- issuer?: string
632
- issuerName?: string
633
- issuerId?: string
634
- issuerPath: Array<JsStatsModuleIssuer>
635
- modules?: Array<JsStatsModule>
636
- nameForCondition?: string
637
- reasons?: Array<JsStatsModuleReason>
638
- assets?: Array<string>
639
- source?: string | Buffer
640
- profile?: JsStatsModuleProfile
641
- orphan: boolean
642
- providedExports?: Array<string>
643
- usedExports?: string | Array<string>
644
- optimizationBailout?: Array<string>
645
- preOrderIndex?: number
646
- postOrderIndex?: number
647
- built: boolean
648
- codeGenerated: boolean
649
- buildTimeExecuted: boolean
650
- cached: boolean
651
- cacheable: boolean
652
- optional: boolean
653
- failed: boolean
654
- errors: number
655
- warnings: number
656
- }
657
-
658
682
  export interface JsStatsModuleIssuer {
659
683
  identifier: string
660
684
  name: string
@@ -666,14 +690,6 @@ export interface JsStatsModuleProfile {
666
690
  building: JsStatsMillisecond
667
691
  }
668
692
 
669
- export interface JsStatsModuleReason {
670
- moduleIdentifier?: string
671
- moduleName?: string
672
- moduleId?: string
673
- type?: string
674
- userRequest?: string
675
- }
676
-
677
693
  export interface JsStatsModuleTrace {
678
694
  origin: JsStatsModuleTraceModule
679
695
  module: JsStatsModuleTraceModule
@@ -689,11 +705,6 @@ export interface JsStatsOptimizationBailout {
689
705
  inner: string
690
706
  }
691
707
 
692
- export interface JsStatsSize {
693
- sourceType: string
694
- size: number
695
- }
696
-
697
708
  export interface JsStatsWarning {
698
709
  message: string
699
710
  chunkName?: string
@@ -743,8 +754,8 @@ export interface RawAssetGeneratorDataUrlOptions {
743
754
 
744
755
  export interface RawAssetGeneratorOptions {
745
756
  emit?: boolean
746
- filename?: string
747
- publicPath?: string
757
+ filename?: JsFilename
758
+ publicPath?: "auto" | JsFilename
748
759
  dataUrl?: RawAssetGeneratorDataUrlOptions | ((arg: RawAssetGeneratorDataUrlFnArgs) => string)
749
760
  }
750
761
 
@@ -767,8 +778,8 @@ export interface RawAssetParserOptions {
767
778
 
768
779
  export interface RawAssetResourceGeneratorOptions {
769
780
  emit?: boolean
770
- filename?: string
771
- publicPath?: string
781
+ filename?: JsFilename
782
+ publicPath?: "auto" | JsFilename
772
783
  }
773
784
 
774
785
  export interface RawBannerContentFnCtx {
@@ -957,9 +968,9 @@ export interface RawEntryOptions {
957
968
  runtime?: false | string
958
969
  chunkLoading?: string
959
970
  asyncChunks?: boolean
960
- publicPath?: string
971
+ publicPath?: "auto" | JsFilename
961
972
  baseUri?: string
962
- filename?: string
973
+ filename?: JsFilename
963
974
  library?: RawLibraryOptions
964
975
  dependOn?: Array<string>
965
976
  }
@@ -996,6 +1007,7 @@ export interface RawExternalItemFnCtx {
996
1007
  request: string
997
1008
  context: string
998
1009
  dependencyType: string
1010
+ contextInfo: ContextInfo
999
1011
  }
1000
1012
 
1001
1013
  export interface RawExternalItemFnResult {
@@ -1151,6 +1163,9 @@ export interface RawLightningCssMinimizerRspackPluginOptions {
1151
1163
  unusedSymbols: Array<string>
1152
1164
  removeUnusedLocalIdents: boolean
1153
1165
  browserslist: Array<string>
1166
+ test?: string | RegExp | (string | RegExp)[]
1167
+ include?: string | RegExp | (string | RegExp)[]
1168
+ exclude?: string | RegExp | (string | RegExp)[]
1154
1169
  }
1155
1170
 
1156
1171
  export interface RawLimitChunkCountPluginOptions {
@@ -1279,8 +1294,8 @@ export interface RawOutputOptions {
1279
1294
  path: string
1280
1295
  pathinfo: boolean | "verbose"
1281
1296
  clean: boolean
1282
- publicPath: string
1283
- assetModuleFilename: string
1297
+ publicPath: "auto" | JsFilename
1298
+ assetModuleFilename: JsFilename
1284
1299
  wasmLoading: string
1285
1300
  enabledWasmLoadingTypes: Array<string>
1286
1301
  webassemblyModuleFilename: string
@@ -1302,6 +1317,8 @@ export interface RawOutputOptions {
1302
1317
  iife: boolean
1303
1318
  module: boolean
1304
1319
  chunkLoading: string
1320
+ chunkLoadTimeout: number
1321
+ charset: boolean
1305
1322
  enabledChunkLoadingTypes?: Array<string>
1306
1323
  trustedTypes?: RawTrustedTypes
1307
1324
  sourceMapFilename: string
@@ -1424,12 +1441,20 @@ export interface RawRspackFuture {
1424
1441
  }
1425
1442
 
1426
1443
  export interface RawRuleSetCondition {
1427
- type: "string" | "regexp" | "logical" | "array" | "function"
1428
- stringMatcher?: string
1429
- regexpMatcher?: RawRegex
1430
- logicalMatcher?: Array<RawRuleSetLogicalConditions>
1431
- arrayMatcher?: Array<RawRuleSetCondition>
1432
- funcMatcher?: (value: string) => boolean
1444
+ type: RawRuleSetConditionType
1445
+ string?: string
1446
+ regexp?: RawRegex
1447
+ logical?: Array<RawRuleSetLogicalConditions>
1448
+ array?: Array<RawRuleSetCondition>
1449
+ func?: (value: string) => boolean
1450
+ }
1451
+
1452
+ export enum RawRuleSetConditionType {
1453
+ string = 'string',
1454
+ regexp = 'regexp',
1455
+ logical = 'logical',
1456
+ array = 'array',
1457
+ func = 'func'
1433
1458
  }
1434
1459
 
1435
1460
  export interface RawRuleSetLogicalConditions {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rspack/binding",
3
- "version": "1.0.0-alpha.4",
3
+ "version": "1.0.0-beta.0",
4
4
  "license": "MIT",
5
5
  "description": "Node binding for rspack",
6
6
  "main": "binding.js",
@@ -17,21 +17,22 @@
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.45"
20
+ "@napi-rs/cli": "3.0.0-alpha.45",
21
+ "typescript": "5.0.2"
21
22
  },
22
23
  "napi": {
23
24
  "binaryName": "rspack"
24
25
  },
25
26
  "optionalDependencies": {
26
- "@rspack/binding-win32-arm64-msvc": "1.0.0-alpha.4",
27
- "@rspack/binding-linux-arm64-gnu": "1.0.0-alpha.4",
28
- "@rspack/binding-linux-arm64-musl": "1.0.0-alpha.4",
29
- "@rspack/binding-win32-ia32-msvc": "1.0.0-alpha.4",
30
- "@rspack/binding-win32-x64-msvc": "1.0.0-alpha.4",
31
- "@rspack/binding-linux-x64-musl": "1.0.0-alpha.4",
32
- "@rspack/binding-linux-x64-gnu": "1.0.0-alpha.4",
33
- "@rspack/binding-darwin-x64": "1.0.0-alpha.4",
34
- "@rspack/binding-darwin-arm64": "1.0.0-alpha.4"
27
+ "@rspack/binding-darwin-arm64": "1.0.0-beta.0",
28
+ "@rspack/binding-win32-arm64-msvc": "1.0.0-beta.0",
29
+ "@rspack/binding-linux-arm64-gnu": "1.0.0-beta.0",
30
+ "@rspack/binding-linux-arm64-musl": "1.0.0-beta.0",
31
+ "@rspack/binding-darwin-x64": "1.0.0-beta.0",
32
+ "@rspack/binding-win32-ia32-msvc": "1.0.0-beta.0",
33
+ "@rspack/binding-win32-x64-msvc": "1.0.0-beta.0",
34
+ "@rspack/binding-linux-x64-musl": "1.0.0-beta.0",
35
+ "@rspack/binding-linux-x64-gnu": "1.0.0-beta.0"
35
36
  },
36
37
  "scripts": {
37
38
  "build:debug": "node scripts/build.js",
@@ -52,6 +53,7 @@
52
53
  "build:release-prod:x64": "cross-env RUST_TARGET=x86_64-apple-darwin node scripts/build.js --release-prod",
53
54
  "build:release-prod:linux": "cross-env RUST_TARGET=x86_64-unknown-linux-gnu node scripts/build.js --release-prod",
54
55
  "build:release-prod:win": "cross-env RUST_TARGET=x86_64-pc-windows-msvc node scripts/build.js --release-prod",
56
+ "build:release-debug": "node scripts/build.js --release-debug",
55
57
  "move-binding": "node scripts/move-binding",
56
58
  "test": "tsc -p tsconfig.type-test.json"
57
59
  }