@rspack/core 0.0.9 → 0.0.11

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 (68) hide show
  1. package/dist/bundle.js +1 -0
  2. package/dist/chunk_group.d.ts +7 -0
  3. package/dist/chunk_group.d.ts.map +1 -0
  4. package/dist/chunk_group.js +33 -0
  5. package/dist/chunk_group.js.map +1 -0
  6. package/dist/compilation.d.ts +24 -8
  7. package/dist/compilation.d.ts.map +1 -1
  8. package/dist/compilation.js +33 -6
  9. package/dist/compilation.js.map +1 -1
  10. package/dist/compiler.d.ts +5 -6
  11. package/dist/compiler.d.ts.map +1 -1
  12. package/dist/compiler.js +43 -72
  13. package/dist/compiler.js.map +1 -1
  14. package/dist/config/builtins.d.ts +2 -1
  15. package/dist/config/builtins.d.ts.map +1 -1
  16. package/dist/config/builtins.js +3 -2
  17. package/dist/config/builtins.js.map +1 -1
  18. package/dist/config/defaults.d.ts.map +1 -1
  19. package/dist/config/defaults.js +3 -2
  20. package/dist/config/defaults.js.map +1 -1
  21. package/dist/config/devServer.d.ts +1 -0
  22. package/dist/config/devServer.d.ts.map +1 -1
  23. package/dist/config/entry.d.ts +17 -2
  24. package/dist/config/entry.d.ts.map +1 -1
  25. package/dist/config/entry.js +32 -5
  26. package/dist/config/entry.js.map +1 -1
  27. package/dist/config/index.d.ts +2 -2
  28. package/dist/config/index.d.ts.map +1 -1
  29. package/dist/config/index.js +1 -1
  30. package/dist/config/index.js.map +1 -1
  31. package/dist/config/module.d.ts +35 -30
  32. package/dist/config/module.d.ts.map +1 -1
  33. package/dist/config/module.js +178 -50
  34. package/dist/config/module.js.map +1 -1
  35. package/dist/config/output.d.ts +4 -0
  36. package/dist/config/output.d.ts.map +1 -1
  37. package/dist/config/output.js.map +1 -1
  38. package/dist/config/resolve.d.ts +7 -2
  39. package/dist/config/resolve.d.ts.map +1 -1
  40. package/dist/config/resolve.js +8 -4
  41. package/dist/config/resolve.js.map +1 -1
  42. package/dist/dd.js +1 -0
  43. package/dist/dynamic_js.xxxx.js +1 -0
  44. package/dist/index.d.ts +3 -0
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +3 -0
  47. package/dist/index.js.map +1 -1
  48. package/dist/main.js +1 -0
  49. package/dist/main.xxxx.js +1 -0
  50. package/dist/rspack.js +3 -3
  51. package/dist/rspack.js.map +1 -1
  52. package/dist/rspackOptionsApply.d.ts.map +1 -1
  53. package/dist/rspackOptionsApply.js +2 -4
  54. package/dist/rspackOptionsApply.js.map +1 -1
  55. package/dist/runtime.js +1 -0
  56. package/dist/stats.d.ts +5 -3
  57. package/dist/stats.d.ts.map +1 -1
  58. package/dist/stats.js +2 -1
  59. package/dist/stats.js.map +1 -1
  60. package/dist/utils/index.d.ts +2 -0
  61. package/dist/utils/index.d.ts.map +1 -1
  62. package/dist/utils/index.js +11 -1
  63. package/dist/utils/index.js.map +1 -1
  64. package/dist/web/ResolveSwcPlugin.d.ts +5 -0
  65. package/dist/web/ResolveSwcPlugin.d.ts.map +1 -0
  66. package/dist/web/ResolveSwcPlugin.js +21 -0
  67. package/dist/web/ResolveSwcPlugin.js.map +1 -0
  68. package/package.json +12 -8
@@ -1 +1 @@
1
- {"version":3,"file":"builtins.js","sourceRoot":"","sources":["../../src/config/builtins.ts"],"names":[],"mappings":";;;AAKA,+CAA0C;AAoB1C,SAAS,aAAa,CAAC,MAAM,GAAG,EAAE;IACjC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QAC5D,GAAG;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;KACrB,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,WAAW,CAAC,IAAsB;IAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACnB,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE;YACzB,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC9B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;oBACb,IAAI,EAAE,GAAG;oBACT,OAAO,EAAE,KAAK;iBACd,CAAC;aACF;SACD;QACD,OAAO,CAAC,CAAC;IACV,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACxB,SAAgC;IAEhC,IAAI,SAAS,KAAK,KAAK,EAAE;QACxB,OAAO,SAAS,CAAC;KACjB;IAED,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,EAAE;QAClD,SAAS,GAAG,EAAE,CAAC;KACf;IAED,OAAO,MAAM,CAAC,MAAM,CACnB;QACC,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE,IAAI;QAClB,uBAAuB,EAAE,IAAI;KAC7B,EACD,SAAS,CACT,CAAC;AACH,CAAC;AAED,SAAgB,sBAAsB,CACrC,QAAkB,EAClB,WAAmB;IAEnB,MAAM,YAAY,GAAG,IAAA,yBAAU,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAC7D,OAAO;QACN,GAAG,QAAQ;QACX,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;QACtC,YAAY;QACZ,SAAS,EAAE,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC;KAC/C,CAAC;AACH,CAAC;AAXD,wDAWC"}
1
+ {"version":3,"file":"builtins.js","sourceRoot":"","sources":["../../src/config/builtins.ts"],"names":[],"mappings":";;;AAKA,+CAA0C;AAsB1C,SAAS,aAAa,CAAC,MAA0B;IAChD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QAC5D,GAAG;QACH,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK;KACzC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,WAAW,CAAC,IAAsB;IAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACnB,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE;YACzB,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC9B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;oBACb,IAAI,EAAE,GAAG;oBACT,OAAO,EAAE,KAAK;iBACd,CAAC;aACF;SACD;QACD,OAAO,CAAC,CAAC;IACV,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACxB,SAAgC;IAEhC,IAAI,SAAS,KAAK,KAAK,EAAE;QACxB,OAAO,SAAS,CAAC;KACjB;IAED,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,EAAE;QAClD,SAAS,GAAG,EAAE,CAAC;KACf;IAED,OAAO,MAAM,CAAC,MAAM,CACnB;QACC,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE,IAAI;QAClB,uBAAuB,EAAE,IAAI;KAC7B,EACD,SAAS,CACT,CAAC;AACH,CAAC;AAED,SAAgB,sBAAsB,CACrC,QAAkB,EAClB,WAAmB;IAEnB,MAAM,YAAY,GAAG,IAAA,yBAAU,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAC7D,OAAO;QACN,GAAG,QAAQ;QACX,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;QAC5C,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;QACtC,YAAY;QACZ,SAAS,EAAE,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC;KAC/C,CAAC;AACH,CAAC;AAZD,wDAYC"}
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,uBAAuB,EAAE,MAAM,IAAI,CAAC;AAc5D,wBAAgB,8BAA8B,CAC7C,OAAO,EAAE,uBAAuB,QAIhC;AAqBD,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,uBAAuB,QAY1E"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,uBAAuB,EAAE,MAAM,IAAI,CAAC;AAc5D,wBAAgB,8BAA8B,CAC7C,OAAO,EAAE,uBAAuB,QAIhC;AAsBD,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,uBAAuB,QAY1E"}
@@ -35,9 +35,10 @@ const applyInfrastructureLoggingDefaults = infrastructureLogging => {
35
35
  D(infrastructureLogging, "colors", tty);
36
36
  D(infrastructureLogging, "appendOnly", !tty);
37
37
  };
38
- const applyOutputDefault = (output) => {
38
+ const applyOutputDefaults = (output) => {
39
39
  D(output, "hashFunction", "xxhash64");
40
40
  F(output, "path", () => path_1.default.resolve(process.cwd(), "dist"));
41
+ D(output, "publicPath", "auto");
41
42
  return output;
42
43
  };
43
44
  function applyRspackOptionsDefaults(options) {
@@ -50,7 +51,7 @@ function applyRspackOptionsDefaults(options) {
50
51
  const development = mode === "development";
51
52
  const production = mode === "production" || !mode;
52
53
  F(options, "devtool", () => (development ? "eval" : ""));
53
- applyOutputDefault(options.output);
54
+ applyOutputDefaults(options.output);
54
55
  D(options.builtins, "minify", production);
55
56
  }
56
57
  exports.applyRspackOptionsDefaults = applyRspackOptionsDefaults;
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":";;;;;;AACA,gDAAwB;AACxB,qCAA4C;AAE5C,MAAM,CAAC,GAAG,CAAuB,GAAM,EAAE,IAAO,EAAE,KAAW,EAAE,EAAE;IAChE,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;QAC5B,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;KAClB;AACF,CAAC,CAAC;AACF,MAAM,CAAC,GAAG,CAAuB,GAAM,EAAE,IAAO,EAAE,OAAmB,EAAE,EAAE;IACxE,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;QAC5B,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC;KACtB;AACF,CAAC,CAAC;AACF,SAAgB,8BAA8B,CAC7C,OAAgC;IAEhC,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3C,kCAAkC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;AACnE,CAAC;AALD,wEAKC;AAED;;;GAGG;AACH,MAAM,kCAAkC,GAAG,qBAAqB,CAAC,EAAE;IAClE,CAAC,CAAC,qBAAqB,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,MAAM,GAAG;IACR,kBAAkB,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK;QACrD,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC;IAC7B,CAAC,CAAC,qBAAqB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC,CAAC,qBAAqB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC,CAAC,qBAAqB,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC,CAAC,qBAAqB,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC;AAC9C,CAAC,CAAC;AACF,MAAM,kBAAkB,GAAG,CAAC,MAAsB,EAAE,EAAE;IACrD,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;IACtC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7D,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AACF,SAAgB,0BAA0B,CAAC,OAAgC;IAC1E,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3C,aAAa;IACb,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE;QACzB,OAAO,IAAA,yBAAgB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IACH,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAClC,MAAM,WAAW,GAAG,IAAI,KAAK,aAAa,CAAC;IAC3C,MAAM,UAAU,GAAG,IAAI,KAAK,YAAY,IAAI,CAAC,IAAI,CAAC;IAClD,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC3C,CAAC;AAZD,gEAYC"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":";;;;;;AACA,gDAAwB;AACxB,qCAA4C;AAE5C,MAAM,CAAC,GAAG,CAAuB,GAAM,EAAE,IAAO,EAAE,KAAW,EAAE,EAAE;IAChE,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;QAC5B,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;KAClB;AACF,CAAC,CAAC;AACF,MAAM,CAAC,GAAG,CAAuB,GAAM,EAAE,IAAO,EAAE,OAAmB,EAAE,EAAE;IACxE,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;QAC5B,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC;KACtB;AACF,CAAC,CAAC;AACF,SAAgB,8BAA8B,CAC7C,OAAgC;IAEhC,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3C,kCAAkC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;AACnE,CAAC;AALD,wEAKC;AAED;;;GAGG;AACH,MAAM,kCAAkC,GAAG,qBAAqB,CAAC,EAAE;IAClE,CAAC,CAAC,qBAAqB,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,MAAM,GAAG;IACR,kBAAkB,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK;QACrD,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC;IAC7B,CAAC,CAAC,qBAAqB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC,CAAC,qBAAqB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC,CAAC,qBAAqB,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC,CAAC,qBAAqB,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC;AAC9C,CAAC,CAAC;AACF,MAAM,mBAAmB,GAAG,CAAC,MAAsB,EAAE,EAAE;IACtD,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;IACtC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AACF,SAAgB,0BAA0B,CAAC,OAAgC;IAC1E,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3C,aAAa;IACb,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE;QACzB,OAAO,IAAA,yBAAgB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IACH,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAClC,MAAM,WAAW,GAAG,IAAI,KAAK,aAAa,CAAC;IAC3C,MAAM,UAAU,GAAG,IAAI,KAAK,YAAY,IAAI,CAAC,IAAI,CAAC;IAClD,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC3C,CAAC;AAZD,gEAYC"}
@@ -7,6 +7,7 @@ export interface WebSocketServerOptions {
7
7
  path?: string;
8
8
  }
9
9
  export interface Dev {
10
+ host?: string;
10
11
  port?: number | string;
11
12
  static?: {
12
13
  directory?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"devServer.d.ts","sourceRoot":"","sources":["../../src/config/devServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,GAAG;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEvB,MAAM,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,OAAO,GAAG,YAAY,CAAC;KAC/B,CAAC;IACF,aAAa,CAAC,EAAE,EAAE,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,eAAe,CAAC,EAAE,OAAO,GAAG,sBAAsB,CAAC;CACnD"}
1
+ {"version":3,"file":"devServer.d.ts","sourceRoot":"","sources":["../../src/config/devServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,GAAG;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEvB,MAAM,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,OAAO,GAAG,YAAY,CAAC;KAC/B,CAAC;IACF,aAAa,CAAC,EAAE,EAAE,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,eAAe,CAAC,EAAE,OAAO,GAAG,sBAAsB,CAAC;CACnD"}
@@ -1,5 +1,20 @@
1
- export declare type Entry = string | string[] | Record<string, string | string[]>;
2
- export declare type ResolvedEntry = Record<string, string[]>;
1
+ export declare type EntryRuntime = false | string;
2
+ export interface EntryDescription {
3
+ import: EntryItem;
4
+ runtime?: EntryRuntime;
5
+ }
6
+ export interface ResolvedEntryItem {
7
+ import: string[];
8
+ runtime?: string;
9
+ }
10
+ export declare type EntryItem = string[] | string;
11
+ export declare type EntryUnnamed = EntryItem;
12
+ export declare type Entry = EntryStatic;
13
+ export interface EntryObject {
14
+ [k: string]: EntryItem | EntryDescription;
15
+ }
16
+ export declare type EntryStatic = EntryObject | EntryUnnamed;
17
+ export declare type ResolvedEntry = Record<string, ResolvedEntryItem>;
3
18
  interface ResolveEntryContext {
4
19
  context: string;
5
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../../src/config/entry.ts"],"names":[],"mappings":"AAEA,oBAAY,KAAK,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;AAC1E,oBAAY,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AAErD,UAAU,mBAAmB;IAC5B,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,mBAAmB,CAClC,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,mBAAmB,GAC1B,aAAa,CA0Bf"}
1
+ {"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../../src/config/entry.ts"],"names":[],"mappings":"AAEA,oBAAY,YAAY,GAAG,KAAK,GAAG,MAAM,CAAC;AAC1C,MAAM,WAAW,gBAAgB;IAChC,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,EAAE,YAAY,CAAC;CACvB;AACD,MAAM,WAAW,iBAAiB;IACjC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AACD,oBAAY,SAAS,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC;AAC1C,oBAAY,YAAY,GAAG,SAAS,CAAC;AACrC,oBAAY,KAAK,GAAG,WAAW,CAAC;AAEhC,MAAM,WAAW,WAAW;IAC3B,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,CAAC;CAC1C;AACD,oBAAY,WAAW,GAAG,WAAW,GAAG,YAAY,CAAC;AAErD,oBAAY,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAE9D,UAAU,mBAAmB;IAC5B,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,mBAAmB,CAClC,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,mBAAmB,GAC1B,aAAa,CA4Cf"}
@@ -8,26 +8,45 @@ const path_1 = __importDefault(require("path"));
8
8
  function resolveEntryOptions(options, context) {
9
9
  if (typeof options === "undefined" || options === null) {
10
10
  return {
11
- main: [path_1.default.resolve(context.context, "src", "index.js")]
11
+ main: normalizeEntryItem("main", {
12
+ import: [path_1.default.resolve(context.context, "src", "index.js")]
13
+ })
12
14
  };
13
15
  }
14
16
  else if (typeof options === "string") {
15
17
  return {
16
- main: [options]
18
+ main: normalizeEntryItem("main", {
19
+ import: [options]
20
+ })
17
21
  };
18
22
  }
19
23
  else if (Array.isArray(options)) {
20
24
  return {
21
- main: [...options]
25
+ main: normalizeEntryItem("main", {
26
+ import: [...options]
27
+ })
22
28
  };
23
29
  }
24
30
  else if (typeof options === "object") {
25
31
  return Object.fromEntries(Object.entries({ ...options }).map(([key, value]) => {
26
32
  if (Array.isArray(value)) {
27
- return [key, [...value]];
33
+ return [
34
+ key,
35
+ normalizeEntryItem(key, {
36
+ import: [...value]
37
+ })
38
+ ];
39
+ }
40
+ else if (typeof value === "object") {
41
+ return [key, normalizeEntryItem(key, value)];
28
42
  }
29
43
  else {
30
- return [key, [value]];
44
+ return [
45
+ key,
46
+ normalizeEntryItem(key, {
47
+ import: [value]
48
+ })
49
+ ];
31
50
  }
32
51
  }));
33
52
  }
@@ -36,4 +55,12 @@ function resolveEntryOptions(options, context) {
36
55
  }
37
56
  }
38
57
  exports.resolveEntryOptions = resolveEntryOptions;
58
+ function normalizeEntryItem(entryName, entryItem) {
59
+ return {
60
+ import: Array.isArray(entryItem.import)
61
+ ? entryItem.import
62
+ : [entryItem.import],
63
+ runtime: entryItem.runtime === false ? undefined : entryItem.runtime
64
+ };
65
+ }
39
66
  //# sourceMappingURL=entry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"entry.js","sourceRoot":"","sources":["../../src/config/entry.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AASxB,SAAgB,mBAAmB,CAClC,OAAc,EACd,OAA4B;IAE5B,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,IAAI,EAAE;QACvD,OAAO;YACN,IAAI,EAAE,CAAC,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;SACxD,CAAC;KACF;SAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QACvC,OAAO;YACN,IAAI,EAAE,CAAC,OAAO,CAAC;SACf,CAAC;KACF;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAClC,OAAO;YACN,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC;SAClB,CAAC;KACF;SAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QACvC,OAAO,MAAM,CAAC,WAAW,CACxB,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACnD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACzB,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;aACzB;iBAAM;gBACN,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;aACtB;QACF,CAAC,CAAC,CACF,CAAC;KACF;SAAM;QACN,OAAO,EAAE,CAAC;KACV;AACF,CAAC;AA7BD,kDA6BC"}
1
+ {"version":3,"file":"entry.js","sourceRoot":"","sources":["../../src/config/entry.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AA0BxB,SAAgB,mBAAmB,CAClC,OAAc,EACd,OAA4B;IAE5B,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,IAAI,EAAE;QACvD,OAAO;YACN,IAAI,EAAE,kBAAkB,CAAC,MAAM,EAAE;gBAChC,MAAM,EAAE,CAAC,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;aAC1D,CAAC;SACF,CAAC;KACF;SAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QACvC,OAAO;YACN,IAAI,EAAE,kBAAkB,CAAC,MAAM,EAAE;gBAChC,MAAM,EAAE,CAAC,OAAO,CAAC;aACjB,CAAC;SACF,CAAC;KACF;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAClC,OAAO;YACN,IAAI,EAAE,kBAAkB,CAAC,MAAM,EAAE;gBAChC,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC;aACpB,CAAC;SACF,CAAC;KACF;SAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QACvC,OAAO,MAAM,CAAC,WAAW,CACxB,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACnD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACzB,OAAO;oBACN,GAAG;oBACH,kBAAkB,CAAC,GAAG,EAAE;wBACvB,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC;qBAClB,CAAC;iBACF,CAAC;aACF;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBACrC,OAAO,CAAC,GAAG,EAAE,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;aAC7C;iBAAM;gBACN,OAAO;oBACN,GAAG;oBACH,kBAAkB,CAAC,GAAG,EAAE;wBACvB,MAAM,EAAE,CAAC,KAAK,CAAC;qBACf,CAAC;iBACF,CAAC;aACF;QACF,CAAC,CAAC,CACF,CAAC;KACF;SAAM;QACN,OAAO,EAAE,CAAC;KACV;AACF,CAAC;AA/CD,kDA+CC;AAED,SAAS,kBAAkB,CAC1B,SAAiB,EACjB,SAA2B;IAE3B,OAAO;QACN,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;YACtC,CAAC,CAAC,SAAS,CAAC,MAAM;YAClB,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;QACrB,OAAO,EAAE,SAAS,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO;KACpE,CAAC;AACH,CAAC"}
@@ -3,7 +3,7 @@ import type { Dev } from "./devServer";
3
3
  import type { Entry, ResolvedEntry } from "./entry";
4
4
  import type { External, ExternalType, ResolvedExternal, ResolvedExternalType } from "./external";
5
5
  import type { Mode, ResolvedMode } from "./mode";
6
- import type { Module, ResolvedModule, LoaderContext } from "./module";
6
+ import type { Module, ResolvedModule, LoaderContext, Loader, SourceMap } from "./module";
7
7
  import type { Plugin } from "./plugin";
8
8
  import type { ResolvedTarget, Target } from "./target";
9
9
  import type { Output, ResolvedOutput } from "./output";
@@ -50,7 +50,7 @@ export interface RspackOptionsNormalized {
50
50
  stats: ResolvedStatsOptions;
51
51
  }
52
52
  export declare function getNormalizedRspackOptions(config: RspackOptions): RspackOptionsNormalized;
53
- export type { Plugin, LoaderContext };
53
+ export type { Plugin, LoaderContext, Loader, SourceMap };
54
54
  export type { WebSocketServerOptions, Dev } from "./devServer";
55
55
  export { resolveWatchOption } from "./watch";
56
56
  export type { StatsOptions } from "./stats";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ function getNormalizedRspackOptions(config) {
22
22
  const externalsType = (_d = config.externalsType) !== null && _d !== void 0 ? _d : "";
23
23
  const plugins = (_e = config.plugins) !== null && _e !== void 0 ? _e : [];
24
24
  const builtins = (0, builtins_1.resolveBuiltinsOptions)(config.builtins || {}, context);
25
- const resolve = (0, resolve_1.resolveResolveOptions)(config.resolve);
25
+ const resolve = (0, resolve_1.resolveResolveOptions)(config.resolve, { target });
26
26
  const devtool = (0, devtool_1.resolveDevtoolOptions)(config.devtool);
27
27
  const module = (0, module_1.resolveModuleOptions)(config.module, { devtool, context });
28
28
  const stats = (0, stats_1.resolveStatsOptions)(config.stats);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";;;AAGA,mCAA8C;AAc9C,uCAA4E;AAC5E,qCAAgD;AAChD,qCAAgD;AAChD,qCAAgD;AAChD,yCAAoD;AACpD,uCAAkD;AAElD,mCAIiB;AAwCjB,SAAgB,0BAA0B,CACzC,MAAqB;;IAErB,MAAM,OAAO,GAAG,MAAA,MAAM,CAAC,OAAO,mCAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAChD,MAAM,IAAI,GAAG,MAAA,MAAM,CAAC,IAAI,mCAAI,YAAY,CAAC;IACzC,MAAM,KAAK,GAAG,IAAA,2BAAmB,EAAC,MAAM,CAAC,KAAK,EAAE;QAC/C,OAAO;KACP,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAA,6BAAoB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,IAAA,6BAAoB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,MAAA,MAAM,CAAC,SAAS,mCAAI,EAAE,CAAC;IACzC,MAAM,aAAa,GAAG,MAAA,MAAM,CAAC,aAAa,mCAAI,EAAE,CAAC;IACjD,MAAM,OAAO,GAAG,MAAA,MAAM,CAAC,OAAO,mCAAI,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,IAAA,iCAAsB,EAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,IAAA,+BAAqB,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,IAAA,+BAAqB,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,IAAA,6BAAoB,EAAC,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACzE,MAAM,KAAK,GAAG,IAAA,2BAAmB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IAEnC,OAAO;QACN,GAAG,MAAM;QACT,OAAO;QACP,IAAI;QACJ,SAAS;QACT,KAAK;QACL,MAAM;QACN,MAAM;QACN,SAAS;QACT,aAAa;QACb,OAAO;QACP,QAAQ;QACR,MAAM;QACN,OAAO;QACP,OAAO;QACP,qBAAqB,EAAE,WAAW,CAAC,MAAM,CAAC,qBAAqB,CAAC;QAChE,KAAK;KACL,CAAC;AACH,CAAC;AAtCD,gEAsCC;AAED,SAAS,WAAW,CAAC,KAAsC;IAC1D,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;AACrB,CAAC;AAGD,iCAA6C;AAApC,2GAAA,kBAAkB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";;;AAGA,mCAA8C;AAoB9C,uCAA4E;AAC5E,qCAAgD;AAChD,qCAAgD;AAChD,qCAAgD;AAChD,yCAAoD;AACpD,uCAAkD;AAElD,mCAIiB;AAwCjB,SAAgB,0BAA0B,CACzC,MAAqB;;IAErB,MAAM,OAAO,GAAG,MAAA,MAAM,CAAC,OAAO,mCAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAChD,MAAM,IAAI,GAAG,MAAA,MAAM,CAAC,IAAI,mCAAI,YAAY,CAAC;IACzC,MAAM,KAAK,GAAG,IAAA,2BAAmB,EAAC,MAAM,CAAC,KAAK,EAAE;QAC/C,OAAO;KACP,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAA,6BAAoB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,IAAA,6BAAoB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,MAAA,MAAM,CAAC,SAAS,mCAAI,EAAE,CAAC;IACzC,MAAM,aAAa,GAAG,MAAA,MAAM,CAAC,aAAa,mCAAI,EAAE,CAAC;IACjD,MAAM,OAAO,GAAG,MAAA,MAAM,CAAC,OAAO,mCAAI,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,IAAA,iCAAsB,EAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,IAAA,+BAAqB,EAAC,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,IAAA,+BAAqB,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,IAAA,6BAAoB,EAAC,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACzE,MAAM,KAAK,GAAG,IAAA,2BAAmB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IAEnC,OAAO;QACN,GAAG,MAAM;QACT,OAAO;QACP,IAAI;QACJ,SAAS;QACT,KAAK;QACL,MAAM;QACN,MAAM;QACN,SAAS;QACT,aAAa;QACb,OAAO;QACP,QAAQ;QACR,MAAM;QACN,OAAO;QACP,OAAO;QACP,qBAAqB,EAAE,WAAW,CAAC,MAAM,CAAC,qBAAqB,CAAC;QAChE,KAAK;KACL,CAAC;AACH,CAAC;AAtCD,gEAsCC;AAED,SAAS,WAAW,CAAC,KAAsC;IAC1D,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;AACrB,CAAC;AAGD,iCAA6C;AAApC,2GAAA,kBAAkB,OAAA"}
@@ -1,56 +1,43 @@
1
1
  /// <reference types="node" />
2
- import type { RawModuleRuleUse, RawModuleRule } from "@rspack/binding";
2
+ import type { RawModuleRuleUse, RawModuleRule, RawModuleOptions } from "@rspack/binding";
3
3
  import { ResolvedContext } from "./context";
4
4
  import { ResolvedDevtool } from "./devtool";
5
5
  export interface ModuleRule {
6
6
  name?: string;
7
- test?: RawModuleRule["test"];
8
- resource?: RawModuleRule["resource"];
9
- resourceQuery?: RawModuleRule["resourceQuery"];
10
- uses?: ModuleRuleUse[];
7
+ test?: string | RegExp;
8
+ resource?: string | RegExp;
9
+ resourceQuery?: string | RegExp;
10
+ use?: ModuleRuleUse[];
11
11
  type?: RawModuleRule["type"];
12
12
  }
13
13
  export interface Module {
14
14
  rules?: ModuleRule[];
15
- parser?: {
16
- dataUrlCondition?: {
17
- maxSize?: number;
18
- };
19
- };
15
+ parser?: RawModuleOptions["parser"];
20
16
  }
21
17
  interface ResolvedModuleRule {
22
18
  test?: RawModuleRule["test"];
23
19
  resource?: RawModuleRule["resource"];
24
20
  resourceQuery?: RawModuleRule["resourceQuery"];
25
- uses?: RawModuleRuleUse[];
21
+ use?: RawModuleRuleUse[];
26
22
  type?: RawModuleRule["type"];
27
23
  }
28
24
  export interface ResolvedModule {
29
25
  rules: ResolvedModuleRule[];
30
- parser?: {
31
- dataUrlCondition: {
32
- maxSize: number;
33
- };
34
- };
26
+ parser?: RawModuleOptions["parser"];
35
27
  }
36
28
  interface LoaderContextInternal {
37
29
  source: number[];
38
- sourceMap: string | null;
30
+ sourceMap: string | undefined | null;
31
+ additionalData: AdditionalData | undefined | null;
39
32
  resource: string;
40
33
  resourcePath: string;
41
34
  resourceQuery: string | null;
42
35
  resourceFragment: string | null;
43
36
  }
44
- interface LoaderResult {
45
- content: Buffer | string;
46
- meta: Buffer | string;
47
- }
48
- export interface LoaderContext extends Pick<LoaderContextInternal, "resource" | "resourcePath" | "resourceQuery" | "resourceFragment" | "sourceMap"> {
49
- source: {
50
- getCode(): string;
51
- getBuffer(): Buffer;
52
- };
53
- useSourceMap: boolean;
37
+ export interface LoaderContext extends Pick<LoaderContextInternal, "resource" | "resourcePath" | "resourceQuery" | "resourceFragment"> {
38
+ async(): (err: Error | null, content: string | Buffer, sourceMap?: string | SourceMap, additionalData?: AdditionalData) => void;
39
+ callback(err: Error | null, content: string | Buffer, sourceMap?: string | SourceMap, additionalData?: AdditionalData): void;
40
+ sourceMap: boolean;
54
41
  rootContext: string;
55
42
  context: string;
56
43
  getOptions: () => unknown;
@@ -59,9 +46,27 @@ export interface ComposeJsUseOptions {
59
46
  devtool: ResolvedDevtool;
60
47
  context: ResolvedContext;
61
48
  }
62
- interface JsLoader {
63
- (this: LoaderContext, loaderContext: LoaderContext): Promise<LoaderResult | void> | LoaderResult | void;
49
+ export interface SourceMap {
50
+ version: number;
51
+ sources: string[];
52
+ mappings: string;
53
+ file?: string;
54
+ sourceRoot?: string;
55
+ sourcesContent?: string[];
56
+ names?: string[];
57
+ }
58
+ export interface AdditionalData {
59
+ [index: string]: any;
60
+ }
61
+ export interface LoaderResult {
62
+ content: string | Buffer;
63
+ sourceMap?: string | SourceMap;
64
+ additionalData?: AdditionalData;
65
+ }
66
+ export interface Loader {
67
+ (this: LoaderContext, content: string | Buffer, sourceMap?: string | SourceMap, additionalData?: AdditionalData): void;
64
68
  displayName?: string;
69
+ raw?: boolean;
65
70
  }
66
71
  declare type BuiltinLoader = string;
67
72
  declare type ModuleRuleUse = {
@@ -69,7 +74,7 @@ declare type ModuleRuleUse = {
69
74
  options?: unknown;
70
75
  name?: string;
71
76
  } | {
72
- loader: JsLoader;
77
+ loader: Loader;
73
78
  options?: unknown;
74
79
  name?: string;
75
80
  };
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/config/module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/config/module.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.resolveModuleOptions = exports.createRawModuleRuleUses = void 0;
7
- const node_assert_1 = __importDefault(require("node:assert"));
8
- const node_path_1 = __importDefault(require("node:path"));
7
+ const assert_1 = __importDefault(require("assert"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const utils_1 = require("../utils");
9
10
  const devtool_1 = require("./devtool");
10
11
  const toBuffer = (bufLike) => {
11
12
  if (Buffer.isBuffer(bufLike)) {
@@ -22,61 +23,156 @@ function composeJsUse(uses, options) {
22
23
  }
23
24
  async function loader(data) {
24
25
  const payload = JSON.parse(data.toString("utf-8"));
25
- const loaderContextInternal = {
26
- source: payload.source,
27
- sourceMap: payload.sourceMap,
28
- resourcePath: payload.resourcePath,
29
- resourceQuery: payload.resourceQuery,
30
- resource: payload.resource,
31
- resourceFragment: payload.resourceFragment
32
- };
33
- let sourceBuffer = Buffer.from(loaderContextInternal.source);
34
- let meta = Buffer.from("");
26
+ let content = Buffer.from(payload.source);
27
+ let sourceMap = payload.sourceMap;
28
+ let additionalData;
35
29
  // Loader is executed from right to left
36
30
  for (const use of uses) {
37
- (0, node_assert_1.default)("loader" in use);
38
- /**
39
- * support loader as string
40
- */
41
- if (typeof use.loader === "string") {
42
- let loaderPath = require.resolve(use.loader, {
43
- paths: [options.context]
44
- });
45
- use.loader = require(loaderPath);
46
- }
47
- const loaderContext = {
48
- ...loaderContextInternal,
49
- source: {
50
- getCode() {
51
- return sourceBuffer.toString("utf-8");
31
+ (0, assert_1.default)("loader" in use);
32
+ let loaderResult;
33
+ const p = new Promise((resolve, reject) => {
34
+ let isDone = false;
35
+ // Whether a `callback` or `async` is called
36
+ let isSync = true;
37
+ let isError = false; // internal error
38
+ let reportedError = false;
39
+ function callback(err, content, sourceMap, additionalData) {
40
+ if (isDone) {
41
+ if (reportedError)
42
+ return; // ignore
43
+ err = new Error("callback(): The callback was already called.");
44
+ }
45
+ isSync = false;
46
+ isDone = true;
47
+ if (err) {
48
+ isError = true;
49
+ reject(err);
50
+ return;
51
+ }
52
+ resolve({
53
+ content,
54
+ sourceMap,
55
+ additionalData
56
+ });
57
+ }
58
+ const loaderContext = {
59
+ sourceMap: (0, devtool_1.isUseSourceMap)(options.devtool),
60
+ resourcePath: payload.resourcePath,
61
+ resource: payload.resource,
62
+ // Return an empty string if there is no query or fragment
63
+ resourceQuery: payload.resourceQuery || "",
64
+ resourceFragment: payload.resourceFragment || "",
65
+ getOptions() {
66
+ return use.options;
52
67
  },
53
- getBuffer() {
54
- return sourceBuffer;
68
+ async() {
69
+ if (isDone) {
70
+ if (reportedError)
71
+ return; // ignore
72
+ reject(new Error("async(): The callback was already called."));
73
+ }
74
+ isSync = false;
75
+ return callback;
76
+ },
77
+ callback,
78
+ rootContext: options.context,
79
+ context: path_1.default.dirname(payload.resourcePath)
80
+ };
81
+ /**
82
+ * support loader as string
83
+ */
84
+ if (typeof use.loader === "string") {
85
+ try {
86
+ let loaderPath = require.resolve(use.loader, {
87
+ paths: [options.context]
88
+ });
89
+ use.loader = require(loaderPath);
55
90
  }
56
- },
57
- getOptions() {
58
- return use.options;
59
- },
60
- useSourceMap: (0, devtool_1.isUseSourceMap)(options.devtool),
61
- rootContext: options.context,
62
- context: node_path_1.default.dirname(loaderContextInternal.resourcePath)
63
- };
64
- let loaderResult;
65
- if ((loaderResult = await Promise.resolve().then(() => use.loader.apply(loaderContext, [loaderContext])))) {
66
- const content = loaderResult.content;
67
- meta = meta.length > 0 ? meta : toBuffer(loaderResult.meta);
68
- sourceBuffer = toBuffer(content);
91
+ catch (err) {
92
+ reject(err);
93
+ return;
94
+ }
95
+ }
96
+ let result = undefined;
97
+ try {
98
+ result = use.loader.apply(loaderContext, [
99
+ use.loader.raw ? Buffer.from(content) : content.toString("utf-8"),
100
+ sourceMap,
101
+ additionalData
102
+ ]);
103
+ if (isSync) {
104
+ isDone = true;
105
+ if (result === undefined) {
106
+ resolve({
107
+ content,
108
+ sourceMap,
109
+ additionalData
110
+ });
111
+ return;
112
+ }
113
+ if ((0, utils_1.isPromiseLike)(result)) {
114
+ return result.then(function (result) {
115
+ resolve({
116
+ content: result,
117
+ sourceMap,
118
+ additionalData
119
+ });
120
+ }, reject);
121
+ }
122
+ return resolve({
123
+ content: result,
124
+ sourceMap,
125
+ additionalData
126
+ });
127
+ }
128
+ }
129
+ catch (err) {
130
+ if (isError) {
131
+ reject(err);
132
+ return;
133
+ }
134
+ if (isDone) {
135
+ // loader is already "done", so we cannot use the callback function
136
+ // for better debugging we print the error on the console
137
+ if (typeof err === "object" && err.stack)
138
+ console.error(err.stack);
139
+ else
140
+ console.error(err);
141
+ reject(err);
142
+ return;
143
+ }
144
+ isDone = true;
145
+ reportedError = true;
146
+ reject(err);
147
+ }
148
+ });
149
+ if ((loaderResult = await p)) {
150
+ additionalData =
151
+ (typeof loaderResult.additionalData === "string"
152
+ ? JSON.parse(loaderResult.additionalData)
153
+ : loaderResult.additionalData) || additionalData;
154
+ content = loaderResult.content || content;
155
+ sourceMap = loaderResult.sourceMap || sourceMap;
69
156
  }
70
157
  }
71
158
  const loaderResultPayload = {
72
- content: [...sourceBuffer],
73
- meta: [...meta]
159
+ content: [...toBuffer(content)],
160
+ sourceMap: !(0, utils_1.isNil)(sourceMap)
161
+ ? [
162
+ ...toBuffer(typeof sourceMap === "string"
163
+ ? sourceMap
164
+ : JSON.stringify(sourceMap))
165
+ ]
166
+ : sourceMap,
167
+ additionalData: !(0, utils_1.isNil)(additionalData)
168
+ ? [...toBuffer(JSON.stringify(additionalData))]
169
+ : additionalData
74
170
  };
75
171
  return Buffer.from(JSON.stringify(loaderResultPayload), "utf-8");
76
172
  }
77
173
  loader.displayName = `NodeLoaderAdapter(${uses
78
174
  .map(item => {
79
- (0, node_assert_1.default)("loader" in item);
175
+ (0, assert_1.default)("loader" in item);
80
176
  return item.loader.displayName || item.loader.name || "unknown-loader";
81
177
  })
82
178
  .join(" -> ")})`;
@@ -106,7 +202,7 @@ function createRawModuleRuleUsesImpl(uses, options) {
106
202
  }
107
203
  function createNativeUse(use) {
108
204
  var _a;
109
- (0, node_assert_1.default)("builtinLoader" in use);
205
+ (0, assert_1.default)("builtinLoader" in use);
110
206
  if (use.builtinLoader === "sass-loader") {
111
207
  ((_a = use.options) !== null && _a !== void 0 ? _a : (use.options = {})).__exePath = require.resolve(`@tmp-sass-embedded/${process.platform}-${process.arch}/dart-sass-embedded/dart-sass-embedded${process.platform === "win32" ? ".bat" : ""}`);
112
208
  }
@@ -115,13 +211,45 @@ function createNativeUse(use) {
115
211
  options: JSON.stringify(use.options)
116
212
  };
117
213
  }
214
+ function resolveModuleRuleCondition(condition) {
215
+ if (typeof condition === "string") {
216
+ return {
217
+ type: "string",
218
+ matcher: condition
219
+ };
220
+ }
221
+ if (condition instanceof RegExp) {
222
+ return {
223
+ type: "regexp",
224
+ matcher: condition.source
225
+ };
226
+ }
227
+ throw new Error(`Unsupported condition type ${typeof condition}, value: ${condition}`);
228
+ }
118
229
  function resolveModuleOptions(module = {}, options) {
119
230
  var _a;
120
- const rules = ((_a = module.rules) !== null && _a !== void 0 ? _a : []).map(rule => ({
121
- ...rule,
122
- uses: createRawModuleRuleUses(rule.uses || [], options)
123
- }));
231
+ const rules = ((_a = module.rules) !== null && _a !== void 0 ? _a : []).map(rule => {
232
+ // FIXME: use error handler instead of throwing
233
+ if (rule === null || rule === void 0 ? void 0 : rule.loader) {
234
+ throw new Error("`Rule.loader` is not supported, use `Rule.use` instead");
235
+ }
236
+ if (rule === null || rule === void 0 ? void 0 : rule.uses) {
237
+ throw new Error("`Rule.uses` is deprecated for aligning with webpack, use `Rule.use` instead");
238
+ }
239
+ return {
240
+ ...rule,
241
+ test: (0, utils_1.isNil)(rule.test) ? null : resolveModuleRuleCondition(rule.test),
242
+ resource: (0, utils_1.isNil)(rule.resource)
243
+ ? null
244
+ : resolveModuleRuleCondition(rule.resource),
245
+ resourceQuery: (0, utils_1.isNil)(rule.resourceQuery)
246
+ ? null
247
+ : resolveModuleRuleCondition(rule.resourceQuery),
248
+ use: createRawModuleRuleUses(rule.use || [], options)
249
+ };
250
+ });
124
251
  return {
252
+ parser: module.parser,
125
253
  rules
126
254
  };
127
255
  }