@serwist/vite 9.0.0-preview.12 → 9.0.0-preview.14

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/chunks/schema.js +56 -0
  2. package/dist/index.d.ts +8 -7
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +65 -174
  5. package/dist/index.schema.d.ts +3 -0
  6. package/dist/index.schema.d.ts.map +1 -0
  7. package/dist/index.schema.js +3 -0
  8. package/dist/lib/api.d.ts.map +1 -0
  9. package/dist/lib/constants.d.ts.map +1 -0
  10. package/dist/{context.d.ts → lib/context.d.ts} +2 -2
  11. package/dist/lib/context.d.ts.map +1 -0
  12. package/dist/lib/log.d.ts.map +1 -0
  13. package/dist/{modules.d.ts → lib/modules.d.ts} +1 -1
  14. package/dist/lib/modules.d.ts.map +1 -0
  15. package/dist/lib/options.d.ts +4 -0
  16. package/dist/lib/options.d.ts.map +1 -0
  17. package/dist/lib/schema.d.ts +359 -0
  18. package/dist/lib/schema.d.ts.map +1 -0
  19. package/dist/lib/types.d.ts +127 -0
  20. package/dist/lib/types.d.ts.map +1 -0
  21. package/dist/lib/utils.d.ts.map +1 -0
  22. package/dist/lib/validator.d.ts +3 -0
  23. package/dist/lib/validator.d.ts.map +1 -0
  24. package/dist/plugins/build.d.ts +2 -2
  25. package/dist/plugins/build.d.ts.map +1 -1
  26. package/dist/plugins/dev.d.ts +2 -2
  27. package/dist/plugins/dev.d.ts.map +1 -1
  28. package/dist/plugins/main.d.ts +2 -2
  29. package/dist/plugins/main.d.ts.map +1 -1
  30. package/package.json +23 -53
  31. package/src/index.schema.ts +3 -0
  32. package/src/index.ts +8 -7
  33. package/src/{context.ts → lib/context.ts} +2 -2
  34. package/src/{log.ts → lib/log.ts} +1 -1
  35. package/src/{modules.ts → lib/modules.ts} +4 -5
  36. package/src/lib/options.ts +76 -0
  37. package/src/lib/schema.ts +35 -0
  38. package/src/lib/types.ts +163 -0
  39. package/src/lib/validator.ts +10 -0
  40. package/src/plugins/build.ts +2 -2
  41. package/src/plugins/dev.ts +3 -3
  42. package/src/plugins/main.ts +5 -5
  43. package/src/rollup.js +3 -2
  44. package/dist/api.d.ts.map +0 -1
  45. package/dist/assets.d.ts +0 -4
  46. package/dist/assets.d.ts.map +0 -1
  47. package/dist/constants.d.ts.map +0 -1
  48. package/dist/context.d.ts.map +0 -1
  49. package/dist/log.d.ts.map +0 -1
  50. package/dist/modules.d.ts.map +0 -1
  51. package/dist/options.d.ts +0 -4
  52. package/dist/options.d.ts.map +0 -1
  53. package/dist/types.d.ts +0 -191
  54. package/dist/types.d.ts.map +0 -1
  55. package/dist/utils-types.d.ts +0 -2
  56. package/dist/utils-types.d.ts.map +0 -1
  57. package/dist/utils.d.ts.map +0 -1
  58. package/src/assets.ts +0 -76
  59. package/src/options.ts +0 -90
  60. package/src/types.ts +0 -207
  61. package/src/utils-types.ts +0 -1
  62. /package/dist/{api.d.ts → lib/api.d.ts} +0 -0
  63. /package/dist/{constants.d.ts → lib/constants.d.ts} +0 -0
  64. /package/dist/{log.d.ts → lib/log.d.ts} +0 -0
  65. /package/dist/{utils.d.ts → lib/utils.d.ts} +0 -0
  66. /package/src/{api.ts → lib/api.ts} +0 -0
  67. /package/src/{constants.ts → lib/constants.ts} +0 -0
  68. /package/src/{utils.ts → lib/utils.ts} +0 -0
@@ -0,0 +1,359 @@
1
+ import { z } from "zod";
2
+ export declare const hooks: z.ZodObject<{
3
+ beforeBuildServiceWorker: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], null>, z.ZodUnion<[z.ZodPromise<z.ZodVoid>, z.ZodVoid]>>>;
4
+ closeBundleOrder: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"pre">, z.ZodLiteral<"post">, z.ZodNull]>>;
5
+ configureOptions: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny, z.ZodAny], null>, z.ZodUnion<[z.ZodPromise<z.ZodVoid>, z.ZodVoid]>>>;
6
+ }, "strip", z.ZodTypeAny, {
7
+ beforeBuildServiceWorker?: ((args_0: any) => void | Promise<void>) | undefined;
8
+ closeBundleOrder?: "pre" | "post" | null | undefined;
9
+ configureOptions?: ((args_0: any, args_1: any) => void | Promise<void>) | undefined;
10
+ }, {
11
+ beforeBuildServiceWorker?: ((args_0: any) => void | Promise<void>) | undefined;
12
+ closeBundleOrder?: "pre" | "post" | null | undefined;
13
+ configureOptions?: ((args_0: any, args_1: any) => void | Promise<void>) | undefined;
14
+ }>;
15
+ export declare const devOptions: z.ZodObject<{
16
+ bundle: z.ZodDefault<z.ZodBoolean>;
17
+ minify: z.ZodDefault<z.ZodUnion<[z.ZodBoolean, z.ZodLiteral<"terser">, z.ZodLiteral<"esbuild">]>>;
18
+ }, "strip", z.ZodTypeAny, {
19
+ bundle: boolean;
20
+ minify: boolean | "terser" | "esbuild";
21
+ }, {
22
+ bundle?: boolean | undefined;
23
+ minify?: boolean | "terser" | "esbuild" | undefined;
24
+ }>;
25
+ export declare const injectManifestPartial: z.ZodObject<{
26
+ mode: z.ZodUnion<[z.ZodLiteral<"development">, z.ZodLiteral<"production">]>;
27
+ type: z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"classic">, z.ZodLiteral<"module">]>>;
28
+ scope: z.ZodString;
29
+ base: z.ZodString;
30
+ disable: z.ZodDefault<z.ZodBoolean>;
31
+ integration: z.ZodDefault<z.ZodObject<{
32
+ beforeBuildServiceWorker: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], null>, z.ZodUnion<[z.ZodPromise<z.ZodVoid>, z.ZodVoid]>>>;
33
+ closeBundleOrder: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"pre">, z.ZodLiteral<"post">, z.ZodNull]>>;
34
+ configureOptions: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny, z.ZodAny], null>, z.ZodUnion<[z.ZodPromise<z.ZodVoid>, z.ZodVoid]>>>;
35
+ }, "strip", z.ZodTypeAny, {
36
+ beforeBuildServiceWorker?: ((args_0: any) => void | Promise<void>) | undefined;
37
+ closeBundleOrder?: "pre" | "post" | null | undefined;
38
+ configureOptions?: ((args_0: any, args_1: any) => void | Promise<void>) | undefined;
39
+ }, {
40
+ beforeBuildServiceWorker?: ((args_0: any) => void | Promise<void>) | undefined;
41
+ closeBundleOrder?: "pre" | "post" | null | undefined;
42
+ configureOptions?: ((args_0: any, args_1: any) => void | Promise<void>) | undefined;
43
+ }>>;
44
+ swUrl: z.ZodDefault<z.ZodString>;
45
+ plugins: z.ZodDefault<z.ZodArray<z.ZodAny, "many">>;
46
+ rollupFormat: z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"es">, z.ZodLiteral<"iife">]>>;
47
+ rollupOptions: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodAny>>;
48
+ devOptions: z.ZodDefault<z.ZodObject<{
49
+ bundle: z.ZodDefault<z.ZodBoolean>;
50
+ minify: z.ZodDefault<z.ZodUnion<[z.ZodBoolean, z.ZodLiteral<"terser">, z.ZodLiteral<"esbuild">]>>;
51
+ }, "strip", z.ZodTypeAny, {
52
+ bundle: boolean;
53
+ minify: boolean | "terser" | "esbuild";
54
+ }, {
55
+ bundle?: boolean | undefined;
56
+ minify?: boolean | "terser" | "esbuild" | undefined;
57
+ }>>;
58
+ }, "strip", z.ZodTypeAny, {
59
+ scope: string;
60
+ type: "classic" | "module";
61
+ mode: "development" | "production";
62
+ base: string;
63
+ disable: boolean;
64
+ integration: {
65
+ beforeBuildServiceWorker?: ((args_0: any) => void | Promise<void>) | undefined;
66
+ closeBundleOrder?: "pre" | "post" | null | undefined;
67
+ configureOptions?: ((args_0: any, args_1: any) => void | Promise<void>) | undefined;
68
+ };
69
+ swUrl: string;
70
+ plugins: any[];
71
+ rollupFormat: "es" | "iife";
72
+ rollupOptions: Record<string, any>;
73
+ devOptions: {
74
+ bundle: boolean;
75
+ minify: boolean | "terser" | "esbuild";
76
+ };
77
+ }, {
78
+ scope: string;
79
+ mode: "development" | "production";
80
+ base: string;
81
+ type?: "classic" | "module" | undefined;
82
+ disable?: boolean | undefined;
83
+ integration?: {
84
+ beforeBuildServiceWorker?: ((args_0: any) => void | Promise<void>) | undefined;
85
+ closeBundleOrder?: "pre" | "post" | null | undefined;
86
+ configureOptions?: ((args_0: any, args_1: any) => void | Promise<void>) | undefined;
87
+ } | undefined;
88
+ swUrl?: string | undefined;
89
+ plugins?: any[] | undefined;
90
+ rollupFormat?: "es" | "iife" | undefined;
91
+ rollupOptions?: Record<string, any> | undefined;
92
+ devOptions?: {
93
+ bundle?: boolean | undefined;
94
+ minify?: boolean | "terser" | "esbuild" | undefined;
95
+ } | undefined;
96
+ }>;
97
+ export declare const injectManifestOptions: z.ZodObject<{
98
+ additionalPrecacheEntries: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
99
+ integrity: z.ZodOptional<z.ZodString>;
100
+ revision: z.ZodNullable<z.ZodString>;
101
+ url: z.ZodString;
102
+ }, "strict", z.ZodTypeAny, {
103
+ revision: string | null;
104
+ url: string;
105
+ integrity?: string | undefined;
106
+ }, {
107
+ revision: string | null;
108
+ url: string;
109
+ integrity?: string | undefined;
110
+ }>]>, "many">>;
111
+ disablePrecacheManifest: z.ZodDefault<z.ZodBoolean>;
112
+ dontCacheBustURLsMatching: z.ZodOptional<z.ZodType<RegExp, z.ZodTypeDef, RegExp>>;
113
+ manifestTransforms: z.ZodOptional<z.ZodArray<z.ZodFunction<z.ZodTuple<[z.ZodArray<z.ZodObject<{
114
+ integrity: z.ZodOptional<z.ZodString>;
115
+ revision: z.ZodNullable<z.ZodString>;
116
+ url: z.ZodString;
117
+ size: z.ZodNumber;
118
+ }, "strip", z.ZodTypeAny, {
119
+ revision: string | null;
120
+ url: string;
121
+ size: number;
122
+ integrity?: string | undefined;
123
+ }, {
124
+ revision: string | null;
125
+ url: string;
126
+ size: number;
127
+ integrity?: string | undefined;
128
+ }>, "many">, z.ZodOptional<z.ZodUnknown>], null>, z.ZodUnion<[z.ZodPromise<z.ZodObject<{
129
+ manifest: z.ZodArray<z.ZodObject<{
130
+ integrity: z.ZodOptional<z.ZodString>;
131
+ revision: z.ZodNullable<z.ZodString>;
132
+ url: z.ZodString;
133
+ size: z.ZodNumber;
134
+ }, "strip", z.ZodTypeAny, {
135
+ revision: string | null;
136
+ url: string;
137
+ size: number;
138
+ integrity?: string | undefined;
139
+ }, {
140
+ revision: string | null;
141
+ url: string;
142
+ size: number;
143
+ integrity?: string | undefined;
144
+ }>, "many">;
145
+ warnings: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
146
+ }, "strict", z.ZodTypeAny, {
147
+ manifest: {
148
+ revision: string | null;
149
+ url: string;
150
+ size: number;
151
+ integrity?: string | undefined;
152
+ }[];
153
+ warnings?: string[] | undefined;
154
+ }, {
155
+ manifest: {
156
+ revision: string | null;
157
+ url: string;
158
+ size: number;
159
+ integrity?: string | undefined;
160
+ }[];
161
+ warnings?: string[] | undefined;
162
+ }>>, z.ZodObject<{
163
+ manifest: z.ZodArray<z.ZodObject<{
164
+ integrity: z.ZodOptional<z.ZodString>;
165
+ revision: z.ZodNullable<z.ZodString>;
166
+ url: z.ZodString;
167
+ size: z.ZodNumber;
168
+ }, "strip", z.ZodTypeAny, {
169
+ revision: string | null;
170
+ url: string;
171
+ size: number;
172
+ integrity?: string | undefined;
173
+ }, {
174
+ revision: string | null;
175
+ url: string;
176
+ size: number;
177
+ integrity?: string | undefined;
178
+ }>, "many">;
179
+ warnings: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
180
+ }, "strict", z.ZodTypeAny, {
181
+ manifest: {
182
+ revision: string | null;
183
+ url: string;
184
+ size: number;
185
+ integrity?: string | undefined;
186
+ }[];
187
+ warnings?: string[] | undefined;
188
+ }, {
189
+ manifest: {
190
+ revision: string | null;
191
+ url: string;
192
+ size: number;
193
+ integrity?: string | undefined;
194
+ }[];
195
+ warnings?: string[] | undefined;
196
+ }>]>>, "many">>;
197
+ maximumFileSizeToCacheInBytes: z.ZodDefault<z.ZodNumber>;
198
+ modifyURLPrefix: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
199
+ globFollow: z.ZodDefault<z.ZodBoolean>;
200
+ globIgnores: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
201
+ globPatterns: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
202
+ globStrict: z.ZodDefault<z.ZodBoolean>;
203
+ templatedURLs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>>;
204
+ injectionPoint: z.ZodDefault<z.ZodString>;
205
+ swSrc: z.ZodString;
206
+ swDest: z.ZodString;
207
+ globDirectory: z.ZodString;
208
+ mode: z.ZodUnion<[z.ZodLiteral<"development">, z.ZodLiteral<"production">]>;
209
+ type: z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"classic">, z.ZodLiteral<"module">]>>;
210
+ scope: z.ZodString;
211
+ base: z.ZodString;
212
+ disable: z.ZodDefault<z.ZodBoolean>;
213
+ integration: z.ZodDefault<z.ZodObject<{
214
+ beforeBuildServiceWorker: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], null>, z.ZodUnion<[z.ZodPromise<z.ZodVoid>, z.ZodVoid]>>>;
215
+ closeBundleOrder: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"pre">, z.ZodLiteral<"post">, z.ZodNull]>>;
216
+ configureOptions: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny, z.ZodAny], null>, z.ZodUnion<[z.ZodPromise<z.ZodVoid>, z.ZodVoid]>>>;
217
+ }, "strip", z.ZodTypeAny, {
218
+ beforeBuildServiceWorker?: ((args_0: any) => void | Promise<void>) | undefined;
219
+ closeBundleOrder?: "pre" | "post" | null | undefined;
220
+ configureOptions?: ((args_0: any, args_1: any) => void | Promise<void>) | undefined;
221
+ }, {
222
+ beforeBuildServiceWorker?: ((args_0: any) => void | Promise<void>) | undefined;
223
+ closeBundleOrder?: "pre" | "post" | null | undefined;
224
+ configureOptions?: ((args_0: any, args_1: any) => void | Promise<void>) | undefined;
225
+ }>>;
226
+ swUrl: z.ZodDefault<z.ZodString>;
227
+ plugins: z.ZodDefault<z.ZodArray<z.ZodAny, "many">>;
228
+ rollupFormat: z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"es">, z.ZodLiteral<"iife">]>>;
229
+ rollupOptions: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodAny>>;
230
+ devOptions: z.ZodDefault<z.ZodObject<{
231
+ bundle: z.ZodDefault<z.ZodBoolean>;
232
+ minify: z.ZodDefault<z.ZodUnion<[z.ZodBoolean, z.ZodLiteral<"terser">, z.ZodLiteral<"esbuild">]>>;
233
+ }, "strip", z.ZodTypeAny, {
234
+ bundle: boolean;
235
+ minify: boolean | "terser" | "esbuild";
236
+ }, {
237
+ bundle?: boolean | undefined;
238
+ minify?: boolean | "terser" | "esbuild" | undefined;
239
+ }>>;
240
+ }, "strict", z.ZodTypeAny, {
241
+ scope: string;
242
+ type: "classic" | "module";
243
+ mode: "development" | "production";
244
+ base: string;
245
+ disable: boolean;
246
+ integration: {
247
+ beforeBuildServiceWorker?: ((args_0: any) => void | Promise<void>) | undefined;
248
+ closeBundleOrder?: "pre" | "post" | null | undefined;
249
+ configureOptions?: ((args_0: any, args_1: any) => void | Promise<void>) | undefined;
250
+ };
251
+ swUrl: string;
252
+ plugins: any[];
253
+ rollupFormat: "es" | "iife";
254
+ rollupOptions: Record<string, any>;
255
+ devOptions: {
256
+ bundle: boolean;
257
+ minify: boolean | "terser" | "esbuild";
258
+ };
259
+ disablePrecacheManifest: boolean;
260
+ maximumFileSizeToCacheInBytes: number;
261
+ globFollow: boolean;
262
+ globIgnores: string[];
263
+ globPatterns: string[];
264
+ globStrict: boolean;
265
+ injectionPoint: string;
266
+ swSrc: string;
267
+ swDest: string;
268
+ globDirectory: string;
269
+ additionalPrecacheEntries?: (string | {
270
+ revision: string | null;
271
+ url: string;
272
+ integrity?: string | undefined;
273
+ })[] | undefined;
274
+ dontCacheBustURLsMatching?: RegExp | undefined;
275
+ manifestTransforms?: ((args_0: {
276
+ revision: string | null;
277
+ url: string;
278
+ size: number;
279
+ integrity?: string | undefined;
280
+ }[], args_1: unknown) => {
281
+ manifest: {
282
+ revision: string | null;
283
+ url: string;
284
+ size: number;
285
+ integrity?: string | undefined;
286
+ }[];
287
+ warnings?: string[] | undefined;
288
+ } | Promise<{
289
+ manifest: {
290
+ revision: string | null;
291
+ url: string;
292
+ size: number;
293
+ integrity?: string | undefined;
294
+ }[];
295
+ warnings?: string[] | undefined;
296
+ }>)[] | undefined;
297
+ modifyURLPrefix?: Record<string, string> | undefined;
298
+ templatedURLs?: Record<string, string | string[]> | undefined;
299
+ }, {
300
+ scope: string;
301
+ mode: "development" | "production";
302
+ base: string;
303
+ swSrc: string;
304
+ swDest: string;
305
+ globDirectory: string;
306
+ additionalPrecacheEntries?: (string | {
307
+ revision: string | null;
308
+ url: string;
309
+ integrity?: string | undefined;
310
+ })[] | undefined;
311
+ disablePrecacheManifest?: boolean | undefined;
312
+ dontCacheBustURLsMatching?: RegExp | undefined;
313
+ manifestTransforms?: ((args_0: {
314
+ revision: string | null;
315
+ url: string;
316
+ size: number;
317
+ integrity?: string | undefined;
318
+ }[], args_1: unknown) => {
319
+ manifest: {
320
+ revision: string | null;
321
+ url: string;
322
+ size: number;
323
+ integrity?: string | undefined;
324
+ }[];
325
+ warnings?: string[] | undefined;
326
+ } | Promise<{
327
+ manifest: {
328
+ revision: string | null;
329
+ url: string;
330
+ size: number;
331
+ integrity?: string | undefined;
332
+ }[];
333
+ warnings?: string[] | undefined;
334
+ }>)[] | undefined;
335
+ maximumFileSizeToCacheInBytes?: number | undefined;
336
+ modifyURLPrefix?: Record<string, string> | undefined;
337
+ globFollow?: boolean | undefined;
338
+ globIgnores?: string[] | undefined;
339
+ globPatterns?: string[] | undefined;
340
+ globStrict?: boolean | undefined;
341
+ templatedURLs?: Record<string, string | string[]> | undefined;
342
+ injectionPoint?: string | undefined;
343
+ type?: "classic" | "module" | undefined;
344
+ disable?: boolean | undefined;
345
+ integration?: {
346
+ beforeBuildServiceWorker?: ((args_0: any) => void | Promise<void>) | undefined;
347
+ closeBundleOrder?: "pre" | "post" | null | undefined;
348
+ configureOptions?: ((args_0: any, args_1: any) => void | Promise<void>) | undefined;
349
+ } | undefined;
350
+ swUrl?: string | undefined;
351
+ plugins?: any[] | undefined;
352
+ rollupFormat?: "es" | "iife" | undefined;
353
+ rollupOptions?: Record<string, any> | undefined;
354
+ devOptions?: {
355
+ bundle?: boolean | undefined;
356
+ minify?: boolean | "terser" | "esbuild" | undefined;
357
+ } | undefined;
358
+ }>;
359
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/lib/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,KAAK;;;;;;;;;;;;EAIhB,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;EAGrB,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYhC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMmC,CAAC"}
@@ -0,0 +1,127 @@
1
+ import type { BasePartial, BaseResolved, GlobPartial, GlobResolved, InjectPartial as BaseInjectPartial, InjectResolved as BaseInjectResolved, ManifestEntry, RequiredGlobDirectoryPartial, RequiredGlobDirectoryResolved, RequiredSwDestPartial, RequiredSwDestResolved } from "@serwist/build";
2
+ import type { Require } from "@serwist/utils";
3
+ import type { RollupOptions } from "rollup";
4
+ import type { BuildOptions, Plugin, ResolvedConfig } from "vite";
5
+ export interface InjectPartial {
6
+ /**
7
+ * The mode in which Serwist should be built.
8
+ *
9
+ * @default
10
+ * process.env.NODE_ENV // or "production" if undefined
11
+ */
12
+ mode?: "development" | "production";
13
+ /**
14
+ * The service worker type.
15
+ *
16
+ * @default "classic"
17
+ */
18
+ type?: WorkerType;
19
+ /**
20
+ * The scope with which Serwist should register the service worker.
21
+ *
22
+ * @default viteOptions.base
23
+ */
24
+ scope?: string;
25
+ /**
26
+ * The base from which Serwist resolves URLs.
27
+ *
28
+ * @default viteOptions.base
29
+ */
30
+ base?: string;
31
+ /**
32
+ * Whether Serwist should be disabled.
33
+ *
34
+ * @default false
35
+ */
36
+ disable?: boolean;
37
+ /**
38
+ * Hooks of the build lifecycle.
39
+ */
40
+ integration?: Hooks;
41
+ /**
42
+ * The URL to the service worker.
43
+ *
44
+ * @default "/sw.js"
45
+ */
46
+ swUrl?: string;
47
+ /**
48
+ * Plugins used to build your service worker.
49
+ */
50
+ plugins?: Plugin[];
51
+ /**
52
+ * The format used to build the service worker.
53
+ *
54
+ * @default "es"
55
+ */
56
+ rollupFormat?: "es" | "iife";
57
+ /**
58
+ * Custom Rollup options used to build the service worker.
59
+ */
60
+ rollupOptions?: Omit<RollupOptions, "plugins" | "output">;
61
+ /**
62
+ * Development-specific options.
63
+ */
64
+ devOptions?: DevOptions;
65
+ }
66
+ export interface InjectResolved extends Require<InjectPartial, "mode" | "type" | "scope" | "base" | "disable" | "swUrl" | "rollupFormat"> {
67
+ devOptions: Required<DevOptions>;
68
+ }
69
+ export interface InjectManifestOptions extends Omit<BasePartial, "disablePrecacheManifest">, GlobPartial, BaseInjectPartial, RequiredSwDestPartial, RequiredGlobDirectoryPartial, InjectPartial {
70
+ }
71
+ export interface InjectManifestOptionsComplete extends BaseResolved, GlobResolved, BaseInjectResolved, RequiredSwDestResolved, RequiredGlobDirectoryResolved, InjectResolved {
72
+ }
73
+ export interface Hooks {
74
+ beforeBuildServiceWorker?: (options: PluginOptionsComplete) => void | Promise<void>;
75
+ closeBundleOrder?: "pre" | "post" | null;
76
+ configureOptions?: (viteOptions: ResolvedConfig, options: PluginOptions) => void | Promise<void>;
77
+ }
78
+ export interface DevOptions {
79
+ /**
80
+ * Whether the service worker should be bundled in development mode.
81
+ *
82
+ * Many browsers still [do not support ES Modules in service workers](https://caniuse.com/mdn-api_serviceworker_ecmascript_modules). However, in development
83
+ * mode, certain frameworks, such as SvelteKit, do not bundle the service worker. As a result, trying to register that service worker on browsers lacking
84
+ * support, such as Firefox or Safari, will fail, but doing so on browsers not lacking support will not fail. This option is provided to prevent that from
85
+ * happening. What the plugin does is intercepting any request to the service worker (requests for `swUrl`) and returning a bundled one.
86
+ *
87
+ * @default true
88
+ */
89
+ bundle?: boolean;
90
+ /**
91
+ * Whether the service worker should be minified in development mode.
92
+ *
93
+ * @default false
94
+ */
95
+ minify?: BuildOptions["minify"];
96
+ }
97
+ export interface PluginOptions extends InjectManifestOptions {
98
+ }
99
+ export interface PluginOptionsComplete extends InjectResolved {
100
+ injectManifest: Omit<InjectManifestOptionsComplete, keyof InjectResolved>;
101
+ }
102
+ export interface ShareTargetFiles {
103
+ name: string;
104
+ accept: string | string[];
105
+ }
106
+ type Nothing = {};
107
+ /**
108
+ * type StringLiteralUnion<'maskable'> = 'maskable' | string
109
+ * This has auto completion whereas `'maskable' | string` doesn't
110
+ * Adapted from https://github.com/microsoft/TypeScript/issues/29729
111
+ */
112
+ export type StringLiteralUnion<T extends U, U = string> = T | (U & Nothing);
113
+ export interface SerwistViteApi {
114
+ /**
115
+ * Whether the plugin is disabled.
116
+ */
117
+ disabled: boolean;
118
+ /**
119
+ * Extends the precache manifest.
120
+ * @param fn
121
+ */
122
+ extendManifestEntries(fn: ExtendManifestEntriesHook): void;
123
+ generateSW(): Promise<void>;
124
+ }
125
+ export type ExtendManifestEntriesHook = (manifestEntries: (string | ManifestEntry)[]) => (string | ManifestEntry)[] | undefined;
126
+ export {};
127
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,KAAK,QAAS,MAAM,WAEhC,CAAC;AAEF,eAAO,MAAM,eAAe,SAAU,MAAM,WAG3C,CAAC;AAEF,eAAO,MAAM,UAAU,QAAS,MAAM,4BAErC,CAAC;AAEF,eAAO,MAAM,aAAa,SAAU,MAAM,WAEzC,CAAC;AAIF;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,UAAW,MAAM,KAAG,MAAM,GAAG,IAqBrD,CAAC;AAIF;;;;;;;GAOG;AACH,eAAO,MAAM,IAAI,QAAS,MAAM,WAI/B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { InjectManifestOptionsComplete } from "./types.js";
2
+ export declare const validateInjectManifestOptions: (input: unknown) => Promise<InjectManifestOptionsComplete>;
3
+ //# sourceMappingURL=validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/lib/validator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAEhE,eAAO,MAAM,6BAA6B,UAAiB,OAAO,KAAG,QAAQ,6BAA6B,CAMzG,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { Plugin } from "vite";
2
- import type { SerwistViteContext } from "../context.js";
3
- import type { SerwistViteApi } from "../types.js";
2
+ import type { SerwistViteContext } from "../lib/context.js";
3
+ import type { SerwistViteApi } from "../lib/types.js";
4
4
  /**
5
5
  * Internal build plugin used by `@serwist/vite`.
6
6
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/plugins/build.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,QAAS,kBAAkB,OAAO,cAAc,gBAkBvE,CAAC"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/plugins/build.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,QAAS,kBAAkB,OAAO,cAAc,gBAkBvE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { type Plugin } from "vite";
2
- import type { SerwistViteContext } from "../context.js";
3
- import type { SerwistViteApi } from "../types.js";
2
+ import type { SerwistViteContext } from "../lib/context.js";
3
+ import type { SerwistViteApi } from "../lib/types.js";
4
4
  /**
5
5
  * Internal dev plugin used by `@serwist/vite`.
6
6
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/plugins/dev.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,MAAM,CAAC;AAElD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AASlD;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,QAAS,kBAAkB,OAAO,cAAc,KAAG,MAsCxE,CAAC"}
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/plugins/dev.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,MAAM,CAAC;AAElD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAStD;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,QAAS,kBAAkB,OAAO,cAAc,KAAG,MAsCxE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { Plugin } from "vite";
2
- import type { SerwistViteContext } from "../context.js";
3
- import type { SerwistViteApi } from "../types.js";
2
+ import type { SerwistViteContext } from "../lib/context.js";
3
+ import type { SerwistViteApi } from "../lib/types.js";
4
4
  /**
5
5
  * Internal plugin used by `@serwist/vite`.
6
6
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/plugins/main.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,MAAM,CAAC;AAG/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,QAAS,kBAAkB,OAAO,cAAc,gBAgCtE,CAAC"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/plugins/main.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,MAAM,CAAC;AAG/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,QAAS,kBAAkB,OAAO,cAAc,gBAgCtE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serwist/vite",
3
- "version": "9.0.0-preview.12",
3
+ "version": "9.0.0-preview.14",
4
4
  "type": "module",
5
5
  "description": "A module that integrates Serwist into your Vite application.",
6
6
  "files": [
@@ -43,6 +43,9 @@
43
43
  ],
44
44
  "worker": [
45
45
  "./dist/index.worker.d.ts"
46
+ ],
47
+ "schema": [
48
+ "./dist/index.schema.d.ts"
46
49
  ]
47
50
  }
48
51
  },
@@ -59,74 +62,41 @@
59
62
  "types": "./dist/index.worker.d.ts",
60
63
  "default": "./dist/index.worker.js"
61
64
  },
65
+ "./schema": {
66
+ "types": "./dist/index.schema.d.ts",
67
+ "default": "./dist/index.schema.js"
68
+ },
62
69
  "./package.json": "./package.json"
63
70
  },
64
71
  "dependencies": {
65
- "debug": "4.3.4",
66
- "fast-glob": "3.3.2",
67
- "pretty-bytes": "6.1.1",
68
- "@serwist/build": "9.0.0-preview.12",
69
- "@serwist/expiration": "9.0.0-preview.12",
70
- "@serwist/strategies": "9.0.0-preview.12",
71
- "@serwist/window": "9.0.0-preview.12"
72
+ "glob": "10.3.10",
73
+ "kolorist": "1.8.0",
74
+ "zod": "3.22.4",
75
+ "@serwist/build": "9.0.0-preview.14",
76
+ "@serwist/expiration": "9.0.0-preview.14",
77
+ "@serwist/strategies": "9.0.0-preview.14",
78
+ "@serwist/window": "9.0.0-preview.14"
72
79
  },
73
80
  "devDependencies": {
74
- "@playwright/test": "1.41.2",
75
- "@sveltejs/kit": "2.5.0",
76
- "@types/debug": "4.1.12",
77
- "@types/node": "20.11.16",
78
- "@types/prompts": "2.4.9",
79
- "@types/react": "18.2.54",
80
- "bumpp": "9.3.0",
81
- "kolorist": "1.8.0",
82
- "preact": "10.19.3",
83
- "prompts": "2.4.2",
84
- "publint": "0.2.7",
85
- "react": "18.2.0",
86
- "rollup": "4.9.6",
87
- "solid-js": "1.8.14",
88
- "svelte": "5.0.0-next.48",
89
- "typescript": "5.4.0-dev.20240206",
90
- "vite": "5.0.12",
91
- "vue": "3.4.15",
92
- "@serwist/constants": "9.0.0-preview.12",
93
- "@serwist/sw": "9.0.0-preview.12"
81
+ "@types/node": "20.11.26",
82
+ "rollup": "4.13.0",
83
+ "typescript": "5.5.0-dev.20240312",
84
+ "vite": "5.1.6",
85
+ "@serwist/constants": "9.0.0-preview.14",
86
+ "@serwist/sw": "9.0.0-preview.14",
87
+ "@serwist/utils": "9.0.0-preview.14"
94
88
  },
95
89
  "peerDependencies": {
96
- "@sveltejs/kit": "^1.0.0 || ^2.0.0",
97
- "preact": "^10.0.0",
98
- "react": "^18.0.0",
99
- "solid-js": "^1.8.7",
100
- "svelte": "^4.0.0 || ^5.0.0",
101
90
  "typescript": ">=5.0.0",
102
91
  "vite": "^5.0.0",
103
- "vue": "^3.0.0",
104
- "@serwist/sw": "9.0.0-preview.12"
92
+ "@serwist/sw": "9.0.0-preview.14"
105
93
  },
106
94
  "peerDependenciesMeta": {
107
95
  "@serwist/sw": {
108
96
  "optional": true
109
97
  },
110
- "@sveltejs/kit": {
111
- "optional": true
112
- },
113
- "preact": {
114
- "optional": true
115
- },
116
- "react": {
117
- "optional": true
118
- },
119
- "solid-js": {
120
- "optional": true
121
- },
122
- "svelte": {
123
- "optional": true
124
- },
125
98
  "typescript": {
126
99
  "optional": true
127
- },
128
- "vue": {
129
- "optional": true
130
100
  }
131
101
  },
132
102
  "scripts": {