@serwist/webpack-plugin 9.1.1 → 10.0.0-preview.10

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.
@@ -1,15 +1,5 @@
1
1
  import path from 'node:path';
2
-
3
- const toUnix = (p)=>{
4
- return p.replace(/\\/g, "/").replace(/(?<!^)\/+/g, "/");
5
- };
6
-
7
- const relativeToOutputPath = (compilation, originalPath)=>{
8
- if (path.resolve(originalPath) === path.normalize(originalPath)) {
9
- return toUnix(path.relative(compilation.options.output.path, originalPath));
10
- }
11
- return originalPath;
12
- };
2
+ import { toUnix } from '@serwist/utils';
13
3
 
14
4
  const performChildCompilation = async (compiler, compilation, name, src, dest, plugins)=>{
15
5
  const childCompiler = compilation.createChildCompiler(name, {
@@ -34,4 +24,11 @@ const performChildCompilation = async (compiler, compilation, name, src, dest, p
34
24
  });
35
25
  };
36
26
 
37
- export { performChildCompilation as p, relativeToOutputPath as r, toUnix as t };
27
+ const relativeToOutputPath = (compilation, originalPath)=>{
28
+ if (path.resolve(originalPath) === path.normalize(originalPath)) {
29
+ return toUnix(path.relative(compilation.options.output.path, originalPath));
30
+ }
31
+ return originalPath;
32
+ };
33
+
34
+ export { performChildCompilation as p, relativeToOutputPath as r };
@@ -1,5 +1,6 @@
1
- import { p as performChildCompilation, r as relativeToOutputPath } from './chunks/perform-child-compilation.js';
1
+ import { p as performChildCompilation, r as relativeToOutputPath } from './chunks/relative-to-output-path.js';
2
2
  import 'node:path';
3
+ import '@serwist/utils';
3
4
 
4
5
  class ChildCompilationPlugin {
5
6
  src;
package/dist/index.js CHANGED
@@ -1,22 +1,10 @@
1
1
  import path from 'node:path';
2
2
  import { transformManifest, getSourceMapURL, escapeRegExp, replaceAndUpdateSourceMap } from '@serwist/build';
3
- import { r as relativeToOutputPath, p as performChildCompilation, t as toUnix } from './chunks/perform-child-compilation.js';
3
+ import { toUnix } from '@serwist/utils';
4
4
  import prettyBytes from 'pretty-bytes';
5
- import { validationErrorMap, SerwistConfigError } from '@serwist/build/schema';
6
5
  import crypto from 'node:crypto';
7
-
8
- const validateInjectManifestOptions = async (input)=>{
9
- const result = await (await import('./chunks/schema.js')).injectManifestOptions.spa(input, {
10
- error: validationErrorMap
11
- });
12
- if (!result.success) {
13
- throw new SerwistConfigError({
14
- moduleName: "@serwist/webpack-plugin",
15
- message: JSON.stringify(result.error.format(), null, 2)
16
- });
17
- }
18
- return result.data;
19
- };
6
+ import { r as relativeToOutputPath, p as performChildCompilation } from './chunks/relative-to-output-path.js';
7
+ import { validationErrorMap, SerwistConfigError } from '@serwist/build/schema';
20
8
 
21
9
  const getAssetHash = (asset)=>{
22
10
  if (asset.info?.immutable) {
@@ -162,6 +150,19 @@ const getSourcemapAssetName = (compilation, swContents, swDest)=>{
162
150
  return undefined;
163
151
  };
164
152
 
153
+ const validateInjectManifestOptions = async (input)=>{
154
+ const result = await (await import('./chunks/schema.js')).injectManifestOptions.spa(input, {
155
+ error: validationErrorMap
156
+ });
157
+ if (!result.success) {
158
+ throw new SerwistConfigError({
159
+ moduleName: "@serwist/webpack-plugin",
160
+ message: JSON.stringify(result.error.format(), null, 2)
161
+ });
162
+ }
163
+ return result.data;
164
+ };
165
+
165
166
  const _generatedAssetNames = new Set();
166
167
  class InjectManifest {
167
168
  config;
@@ -1 +1 @@
1
- {"version":3,"file":"inject-manifest.d.ts","sourceRoot":"","sources":["../src/inject-manifest.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAe,QAAQ,EAAoC,MAAM,SAAS,CAAC;AACvF,OAAO,KAAK,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAW3F;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,cAAc;IACzB,SAAS,CAAC,MAAM,EAAE,6BAA6B,CAAC;IAChD,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,OAAO,CAAiB;IAEhC;;OAEG;gBACS,MAAM,EAAE,qBAAqB;IAQzC;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAa9B;;;;OAIG;YACW,kBAAkB;IAuChC;;;;OAIG;IACH,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IA6B/B;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAKtB;;;;;OAKG;YACW,UAAU;IAwBxB;;;;OAIG;YACW,SAAS;CAiDxB"}
1
+ {"version":3,"file":"inject-manifest.d.ts","sourceRoot":"","sources":["../src/inject-manifest.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAe,QAAQ,EAAoC,MAAM,SAAS,CAAC;AAKvF,OAAO,KAAK,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAO3F;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,cAAc;IACzB,SAAS,CAAC,MAAM,EAAE,6BAA6B,CAAC;IAChD,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,OAAO,CAAiB;IAEhC;;OAEG;gBACS,MAAM,EAAE,qBAAqB;IAQzC;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAa9B;;;;OAIG;YACW,kBAAkB;IAuChC;;;;OAIG;IACH,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IA6B/B;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAKtB;;;;;OAKG;YACW,UAAU;IAwBxB;;;;OAIG;YACW,SAAS;CAiDxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-manifest-entries-from-compilation.d.ts","sourceRoot":"","sources":["../../src/lib/get-manifest-entries-from-compilation.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEjE,OAAO,KAAK,EAAgB,WAAW,EAAgB,MAAM,SAAS,CAAC;AAIvE,OAAO,KAAK,EAAyB,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAiKvF,eAAO,MAAM,iCAAiC,GAC5C,aAAa,WAAW,EACxB,QAAQ,6BAA6B,KACpC,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,aAAa,EAAE,GAAG,SAAS,CAAA;CAAE,CAiCtE,CAAC"}
1
+ {"version":3,"file":"get-manifest-entries-from-compilation.d.ts","sourceRoot":"","sources":["../../src/lib/get-manifest-entries-from-compilation.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGpD,OAAO,KAAK,EAAgB,WAAW,EAAgB,MAAM,SAAS,CAAC;AAIvE,OAAO,KAAK,EAAyB,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAiKvF,eAAO,MAAM,iCAAiC,GAC5C,aAAa,WAAW,EACxB,QAAQ,6BAA6B,KACpC,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,aAAa,EAAE,GAAG,SAAS,CAAA;CAAE,CAiCtE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"relative-to-output-path.d.ts","sourceRoot":"","sources":["../../src/lib/relative-to-output-path.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,GAAI,aAAa,WAAW,EAAE,cAAc,MAAM,KAAG,MAQrF,CAAC"}
1
+ {"version":3,"file":"relative-to-output-path.d.ts","sourceRoot":"","sources":["../../src/lib/relative-to-output-path.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,GAAI,aAAa,WAAW,EAAE,cAAc,MAAM,KAAG,MAQrF,CAAC"}
@@ -14,7 +14,7 @@ export declare const injectManifestOptions: z.ZodObject<{
14
14
  compileSrc: z.ZodDefault<z.ZodBoolean>;
15
15
  swDest: z.ZodOptional<z.ZodString>;
16
16
  webpackCompilationPlugins: z.ZodOptional<z.ZodArray<z.ZodAny>>;
17
- injectionPoint: z.ZodDefault<z.ZodString>;
17
+ injectionPoint: z.ZodPrefault<z.ZodString>;
18
18
  swSrc: z.ZodString;
19
19
  chunks: z.ZodOptional<z.ZodArray<z.ZodString>>;
20
20
  exclude: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<RegExp, RegExp>, z.ZodPipe<z.ZodCustom<z.core.$InferInnerFunctionType<z.ZodTuple<[z.ZodAny], null>, z.ZodBoolean>, z.core.$InferInnerFunctionType<z.ZodTuple<[z.ZodAny], null>, z.ZodBoolean>>, z.ZodTransform<(args_0: any) => boolean, z.core.$InferInnerFunctionType<z.ZodTuple<[z.ZodAny], null>, z.ZodBoolean>>>]>>>;
@@ -1,6 +1,6 @@
1
- import type { BasePartial, BaseResolved, InjectPartial as BaseInjectPartial, InjectResolved as BaseInjectResolved, OptionalSwDestPartial, OptionalSwDestResolved } from "@serwist/build";
2
- import type { Require } from "@serwist/utils";
3
- import type { WebpackPluginFunction, WebpackPluginInstance, Asset, Compilation } from "webpack";
1
+ import type { InjectPartial as BaseInjectPartial, InjectResolved as BaseInjectResolved, BasePartial, BaseResolved, OptionalSwDestPartial, OptionalSwDestResolved } from "@serwist/build";
2
+ import type { Prettify, Require } from "@serwist/utils";
3
+ import type { Asset, Compilation, WebpackPluginFunction, WebpackPluginInstance } from "webpack";
4
4
  export interface ConditionCallbackOptions {
5
5
  asset: Asset;
6
6
  compilation: Compilation;
@@ -36,7 +36,7 @@ export interface WebpackPartial {
36
36
  */
37
37
  include?: (string | RegExp | ConditionCallback)[];
38
38
  }
39
- export type WebpackResolved = Require<WebpackPartial, "exclude">;
39
+ export type WebpackResolved = Prettify<Require<WebpackPartial, "exclude">>;
40
40
  export interface InjectPartial {
41
41
  /**
42
42
  * When `true` (the default), the `swSrc` file will be compiled by webpack.
@@ -52,10 +52,8 @@ export interface InjectPartial {
52
52
  */
53
53
  webpackCompilationPlugins?: WebpackPlugin[];
54
54
  }
55
- export type InjectResolved = Require<InjectPartial, "compileSrc">;
56
- export interface InjectManifestOptions extends BasePartial, WebpackPartial, BaseInjectPartial, OptionalSwDestPartial, InjectPartial {
57
- }
58
- export interface InjectManifestOptionsComplete extends BaseResolved, WebpackResolved, BaseInjectResolved, OptionalSwDestResolved, InjectResolved {
59
- }
55
+ export type InjectResolved = Prettify<Require<InjectPartial, "compileSrc">>;
56
+ export type InjectManifestOptions = Prettify<BasePartial & WebpackPartial & BaseInjectPartial & OptionalSwDestPartial & InjectPartial>;
57
+ export type InjectManifestOptionsComplete = Prettify<BaseResolved & WebpackResolved & BaseInjectResolved & OptionalSwDestResolved & InjectResolved>;
60
58
  export type WebpackPlugin = WebpackPluginFunction | WebpackPluginInstance;
61
59
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,aAAa,IAAI,iBAAiB,EAClC,cAAc,IAAI,kBAAkB,EACpC,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEhG,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,wBAAwB,KAAK,OAAO,CAAC;AAE/E,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,iBAAiB,CAAC,EAAE,CAAC;IAClD;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,iBAAiB,CAAC,EAAE,CAAC;CACnD;AAED,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AAEjE,MAAM,WAAW,aAAa;IAC5B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAIrB;;;OAGG;IACH,yBAAyB,CAAC,EAAE,aAAa,EAAE,CAAC;CAC7C;AAED,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;AAElE,MAAM,WAAW,qBAAsB,SAAQ,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,aAAa;CAAG;AAEtI,MAAM,WAAW,6BAA8B,SAAQ,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,cAAc;CAAG;AAEnJ,MAAM,MAAM,aAAa,GAAG,qBAAqB,GAAG,qBAAqB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,IAAI,iBAAiB,EAClC,cAAc,IAAI,kBAAkB,EACpC,WAAW,EACX,YAAY,EACZ,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEhG,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,wBAAwB,KAAK,OAAO,CAAC;AAE/E,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,iBAAiB,CAAC,EAAE,CAAC;IAClD;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,iBAAiB,CAAC,EAAE,CAAC;CACnD;AAED,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;AAE3E,MAAM,WAAW,aAAa;IAC5B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAIrB;;;OAGG;IACH,yBAAyB,CAAC,EAAE,aAAa,EAAE,CAAC;CAC7C;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;AAE5E,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC,WAAW,GAAG,cAAc,GAAG,iBAAiB,GAAG,qBAAqB,GAAG,aAAa,CAAC,CAAC;AAEvI,MAAM,MAAM,6BAA6B,GAAG,QAAQ,CAAC,YAAY,GAAG,eAAe,GAAG,kBAAkB,GAAG,sBAAsB,GAAG,cAAc,CAAC,CAAC;AAEpJ,MAAM,MAAM,aAAa,GAAG,qBAAqB,GAAG,qBAAqB,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "@serwist/webpack-plugin",
3
- "version": "9.1.1",
3
+ "version": "10.0.0-preview.10",
4
4
  "type": "module",
5
+ "sideEffects": false,
5
6
  "description": "A plugin for your webpack build process, helping you generate a manifest of local files that should be precached.",
6
7
  "files": [
7
8
  "src",
@@ -20,7 +21,7 @@
20
21
  "file manifest"
21
22
  ],
22
23
  "engines": {
23
- "node": ">=18.0.0"
24
+ "node": ">=20.0.0"
24
25
  },
25
26
  "author": "Google's Web DevRel Team",
26
27
  "contributors": [
@@ -58,9 +59,10 @@
58
59
  "./package.json": "./package.json"
59
60
  },
60
61
  "dependencies": {
61
- "pretty-bytes": "6.1.1",
62
+ "pretty-bytes": "7.0.0",
62
63
  "zod": "4.0.5",
63
- "@serwist/build": "9.1.1"
64
+ "@serwist/build": "10.0.0-preview.10",
65
+ "@serwist/utils": "10.0.0-preview.10"
64
66
  },
65
67
  "devDependencies": {
66
68
  "@types/node": "24.0.14",
@@ -68,8 +70,7 @@
68
70
  "rollup": "4.45.1",
69
71
  "typescript": "5.8.3",
70
72
  "webpack": "5.100.2",
71
- "@serwist/configs": "9.1.1",
72
- "@serwist/utils": "9.1.1"
73
+ "@serwist/configs": "10.0.0-preview.10"
73
74
  },
74
75
  "peerDependencies": {
75
76
  "typescript": ">=5.0.0",
@@ -87,6 +88,7 @@
87
88
  "build": "rimraf dist && NODE_ENV=production rollup --config rollup.config.js",
88
89
  "dev": "rollup --config rollup.config.js --watch",
89
90
  "lint": "biome lint ./src",
91
+ "qcheck": "biome check ./src",
90
92
  "typecheck": "tsc"
91
93
  }
92
94
  }
@@ -2,13 +2,13 @@ import path from "node:path";
2
2
  import { escapeRegExp, replaceAndUpdateSourceMap } from "@serwist/build";
3
3
  import { toUnix } from "@serwist/utils";
4
4
  import prettyBytes from "pretty-bytes";
5
- import type { Compilation, Compiler, WebpackError, default as Webpack } from "webpack";
6
- import type { InjectManifestOptions, InjectManifestOptionsComplete } from "./lib/types.js";
7
- import { validateInjectManifestOptions } from "./lib/validator.js";
5
+ import type { Compilation, Compiler, default as Webpack, WebpackError } from "webpack";
8
6
  import { getManifestEntriesFromCompilation } from "./lib/get-manifest-entries-from-compilation.js";
9
7
  import { getSourcemapAssetName } from "./lib/get-sourcemap-asset-name.js";
10
- import { relativeToOutputPath } from "./lib/relative-to-output-path.js";
11
8
  import { performChildCompilation } from "./lib/perform-child-compilation.js";
9
+ import { relativeToOutputPath } from "./lib/relative-to-output-path.js";
10
+ import type { InjectManifestOptions, InjectManifestOptionsComplete } from "./lib/types.js";
11
+ import { validateInjectManifestOptions } from "./lib/validator.js";
12
12
 
13
13
  // Used to keep track of swDest files written by *any* instance of this plugin.
14
14
  // See https://github.com/GoogleChrome/workbox/issues/2181
@@ -1,7 +1,7 @@
1
1
  import type { Compiler, WebpackError, WebpackPluginInstance } from "webpack";
2
2
 
3
- import { relativeToOutputPath } from "./relative-to-output-path.js";
4
3
  import { performChildCompilation } from "./perform-child-compilation.js";
4
+ import { relativeToOutputPath } from "./relative-to-output-path.js";
5
5
 
6
6
  export interface ChildCompilationPluginOptions {
7
7
  src: string;
@@ -6,8 +6,9 @@
6
6
  https://opensource.org/licenses/MIT.
7
7
  */
8
8
 
9
- import type { FileDetails, ManifestEntry } from "@serwist/build";
9
+ import type { ManifestEntry } from "@serwist/build";
10
10
  import { transformManifest } from "@serwist/build";
11
+ import type { FileDetails } from "@serwist/utils";
11
12
  import type { Asset, Chunk, Compilation, WebpackError } from "webpack";
12
13
 
13
14
  import { getAssetHash } from "./get-asset-hash.js";
@@ -5,8 +5,9 @@
5
5
  license that can be found in the LICENSE file or at
6
6
  https://opensource.org/licenses/MIT.
7
7
  */
8
- import { toUnix } from "@serwist/utils";
8
+
9
9
  import path from "node:path";
10
+ import { toUnix } from "@serwist/utils";
10
11
  import type { Compilation } from "webpack";
11
12
 
12
13
  /**
package/src/lib/schema.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { fn, basePartial, injectPartial as baseInjectPartial, optionalSwDestPartial } from "@serwist/build/schema";
1
+ import { injectPartial as baseInjectPartial, basePartial, fn, optionalSwDestPartial } from "@serwist/build/schema";
2
2
  import { z } from "zod";
3
3
 
4
4
  const webpackConditionCallback = fn({
package/src/lib/types.ts CHANGED
@@ -1,13 +1,13 @@
1
1
  import type {
2
- BasePartial,
3
- BaseResolved,
4
2
  InjectPartial as BaseInjectPartial,
5
3
  InjectResolved as BaseInjectResolved,
4
+ BasePartial,
5
+ BaseResolved,
6
6
  OptionalSwDestPartial,
7
7
  OptionalSwDestResolved,
8
8
  } from "@serwist/build";
9
- import type { Require } from "@serwist/utils";
10
- import type { WebpackPluginFunction, WebpackPluginInstance, Asset, Compilation } from "webpack";
9
+ import type { Prettify, Require } from "@serwist/utils";
10
+ import type { Asset, Compilation, WebpackPluginFunction, WebpackPluginInstance } from "webpack";
11
11
 
12
12
  export interface ConditionCallbackOptions {
13
13
  asset: Asset;
@@ -47,7 +47,7 @@ export interface WebpackPartial {
47
47
  include?: (string | RegExp | ConditionCallback)[];
48
48
  }
49
49
 
50
- export type WebpackResolved = Require<WebpackPartial, "exclude">;
50
+ export type WebpackResolved = Prettify<Require<WebpackPartial, "exclude">>;
51
51
 
52
52
  export interface InjectPartial {
53
53
  /**
@@ -68,10 +68,10 @@ export interface InjectPartial {
68
68
  webpackCompilationPlugins?: WebpackPlugin[];
69
69
  }
70
70
 
71
- export type InjectResolved = Require<InjectPartial, "compileSrc">;
71
+ export type InjectResolved = Prettify<Require<InjectPartial, "compileSrc">>;
72
72
 
73
- export interface InjectManifestOptions extends BasePartial, WebpackPartial, BaseInjectPartial, OptionalSwDestPartial, InjectPartial {}
73
+ export type InjectManifestOptions = Prettify<BasePartial & WebpackPartial & BaseInjectPartial & OptionalSwDestPartial & InjectPartial>;
74
74
 
75
- export interface InjectManifestOptionsComplete extends BaseResolved, WebpackResolved, BaseInjectResolved, OptionalSwDestResolved, InjectResolved {}
75
+ export type InjectManifestOptionsComplete = Prettify<BaseResolved & WebpackResolved & BaseInjectResolved & OptionalSwDestResolved & InjectResolved>;
76
76
 
77
77
  export type WebpackPlugin = WebpackPluginFunction | WebpackPluginInstance;