@staticbolt/core 1.0.0-beta.3 → 1.0.0-beta.31
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.
- package/README.md +2 -1
- package/lib/cli/index.d.mts +1 -1
- package/lib/cli/index.mjs +78 -44
- package/lib/cli/index.mjs.map +1 -1
- package/lib/{logger-BuxMGhij.mjs → common-D1QTZ8ra.mjs} +92 -33
- package/lib/common-D1QTZ8ra.mjs.map +1 -0
- package/lib/deferred-DTj91vEg.mjs +218 -0
- package/lib/deferred-DTj91vEg.mjs.map +1 -0
- package/lib/deferred.d.mts +79 -0
- package/lib/deferred.d.mts.map +1 -0
- package/lib/deferred.mjs +3 -0
- package/lib/index.d.mts +713 -340
- package/lib/index.d.mts.map +1 -1
- package/lib/index.mjs +9 -3
- package/lib/index.mjs.map +1 -1
- package/lib/load-config-CsbiJ01A.mjs +57 -0
- package/lib/load-config-CsbiJ01A.mjs.map +1 -0
- package/lib/plugins/index.d.mts +652 -39
- package/lib/plugins/index.d.mts.map +1 -1
- package/lib/plugins/index.mjs +3621 -1344
- package/lib/plugins/index.mjs.map +1 -1
- package/lib/plugins/write-files/deferred-worker.d.mts +15 -0
- package/lib/plugins/write-files/deferred-worker.d.mts.map +1 -0
- package/lib/plugins/write-files/deferred-worker.mjs +35 -0
- package/lib/plugins/write-files/deferred-worker.mjs.map +1 -0
- package/lib/rolldown-runtime-DXywRVcq.mjs +20 -0
- package/lib/{dependency-tracker-BuZfopIj.mjs → utilities-jK4uUZBV.mjs} +444 -125
- package/lib/utilities-jK4uUZBV.mjs.map +1 -0
- package/package.json +74 -65
- package/lib/dependency-tracker-BuZfopIj.mjs.map +0 -1
- package/lib/logger-BuxMGhij.mjs.map +0 -1
package/lib/plugins/index.d.mts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import postcss from "postcss";
|
|
2
|
-
import { Config } from "svgo";
|
|
3
2
|
import * as babel from "@babel/core";
|
|
4
3
|
import { Pluggable } from "unified";
|
|
5
4
|
import { Plugin } from "@staticbolt/core";
|
|
6
|
-
|
|
5
|
+
import { Config } from "svgo";
|
|
7
6
|
//#region src/plugins/analyze-output/analyze-output-plugin.d.ts
|
|
8
7
|
interface AnalyzeOutputOptions {
|
|
9
8
|
/**
|
|
@@ -31,18 +30,28 @@ interface AnalyzeOutputOptions {
|
|
|
31
30
|
*/
|
|
32
31
|
maxFileSize?: Record<string, number> | false;
|
|
33
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Analyzes the production build output and reports three things:
|
|
35
|
+
*
|
|
36
|
+
* - Missing: files the HTML pages reference but that are not in the output directory (errors).
|
|
37
|
+
* - Unused: files in the output directory no page reaches (warnings, deleted when "deleteUnused" is set).
|
|
38
|
+
* - Oversized: files above the per-extension limit in "maxFileSize" (warnings, largest first).
|
|
39
|
+
*
|
|
40
|
+
* Notes:
|
|
41
|
+
*
|
|
42
|
+
* - Runs after the build and only in production.
|
|
43
|
+
* - Reachability is walked from HTML pages only, so anything reachable through another entry point counts as unused.
|
|
44
|
+
* - HTML files are never listed as unused or deleted.
|
|
45
|
+
* - Empty directories under the output are removed on every run, not just when deleting unused files.
|
|
46
|
+
* - "exclude" is matched against paths relative to the output directory and applies to every report, so a file a later plugin
|
|
47
|
+
* writes (a service worker, say) can be referenced without being reported missing.
|
|
48
|
+
*/
|
|
34
49
|
declare function analyzeOutputPlugin(options?: AnalyzeOutputOptions): Plugin;
|
|
35
50
|
//#endregion
|
|
36
51
|
//#region src/plugins/bundle-packages/bundle-packages-plugin.d.ts
|
|
37
52
|
interface BundlePackagesOptions {
|
|
38
53
|
/** Output directory for bundled `node_modules` packages, relative to the build output directory. */
|
|
39
54
|
packagesDir?: string;
|
|
40
|
-
/**
|
|
41
|
-
* Whether to use Terser for minification to reduce the final bundle size.
|
|
42
|
-
*
|
|
43
|
-
* @default false
|
|
44
|
-
*/
|
|
45
|
-
minifyUsingTerser?: boolean;
|
|
46
55
|
/**
|
|
47
56
|
* Bundles specific packages into a single chunk for optimized loading.
|
|
48
57
|
*
|
|
@@ -80,8 +89,22 @@ interface BundlePackagesOptions {
|
|
|
80
89
|
}>>;
|
|
81
90
|
}
|
|
82
91
|
/**
|
|
83
|
-
* Bundles
|
|
84
|
-
* imports
|
|
92
|
+
* Bundles every "node_modules" package imported anywhere in the project into its own file under "packagesDir" and rewrites the
|
|
93
|
+
* imports to point at it. Specifiers are collected across the whole codebase first, so esbuild can tree-shake each package down
|
|
94
|
+
* to what is actually used.
|
|
95
|
+
*
|
|
96
|
+
* Notes:
|
|
97
|
+
*
|
|
98
|
+
* - Runs in both modes; minification and tree-shaking are production-only.
|
|
99
|
+
* - Bare imports in scripts and "<script src>" tags resolving into "node_modules" are both redirected; a script tag is counted as a
|
|
100
|
+
* side-effect import.
|
|
101
|
+
* - A "<link rel=stylesheet>" shipped by a package is moved next to the package output, keeping its path inside the package. Other
|
|
102
|
+
* file types stay where they resolve, under "node_modules".
|
|
103
|
+
* - Dots in the output path become underscores ("highlight.js" becomes "highlight_js"), so a package cannot collide with the file
|
|
104
|
+
* bundled from it.
|
|
105
|
+
* - "chunks" merges packages into one file and renames their default imports to "default_<package>" so they share a module scope,
|
|
106
|
+
* which is what CommonJS packages need to work in the browser.
|
|
107
|
+
* - A package first discovered while bundling another one is bundled right away, then re-bundled once its specifiers are known.
|
|
85
108
|
*/
|
|
86
109
|
declare function bundlePackagesPlugin(options?: BundlePackagesOptions): Plugin;
|
|
87
110
|
//#endregion
|
|
@@ -120,6 +143,22 @@ interface ConvertImageOptions {
|
|
|
120
143
|
*/
|
|
121
144
|
exclude?: string[];
|
|
122
145
|
}
|
|
146
|
+
/**
|
|
147
|
+
* Converts the images matched by "include" to a single target format with sharp, and rewrites every reference to them.
|
|
148
|
+
*
|
|
149
|
+
* References are updated wherever the sources pipeline sees them (HTML attributes, styles, scripts, web manifest); an "image/*"
|
|
150
|
+
* type on the tag or manifest entry is rewritten too. In scripts, "_img.<ext>" expressions are replaced with the format string,
|
|
151
|
+
* so the same code resolves to the original extension in development and to the converted one in production.
|
|
152
|
+
*
|
|
153
|
+
* Quality and preset can be overridden per file through the filename: "hero-q:75-p:picture.jpg".
|
|
154
|
+
*
|
|
155
|
+
* Notes:
|
|
156
|
+
*
|
|
157
|
+
* - Conversion happens after the build and only in production; development keeps serving the originals untouched.
|
|
158
|
+
* - The output mirrors the source path relative to the project root, with only the extension replaced.
|
|
159
|
+
* - Converted sources are published on "pluginData.convertedImages" so copy-assets does not copy the originals over them.
|
|
160
|
+
* - "preset" is a WebP-only option and is ignored by the other formats.
|
|
161
|
+
*/
|
|
123
162
|
declare function convertImagePlugin(options?: ConvertImageOptions): Plugin;
|
|
124
163
|
//#endregion
|
|
125
164
|
//#region src/plugins/copy-assets/copy-assets-plugin.d.ts
|
|
@@ -143,6 +182,19 @@ interface CopyAssetsOptions {
|
|
|
143
182
|
*/
|
|
144
183
|
publicDirectory?: string;
|
|
145
184
|
}
|
|
185
|
+
/**
|
|
186
|
+
* Copies asset files into the output directory at the end of a production build.
|
|
187
|
+
*
|
|
188
|
+
* Two passes: files matching "include" keep their path relative to the project root, while everything under "publicDirectory" is
|
|
189
|
+
* copied to the output root with that prefix dropped (e.g. "public/favicon.ico" becomes "<outdir>/favicon.ico").
|
|
190
|
+
*
|
|
191
|
+
* Notes:
|
|
192
|
+
*
|
|
193
|
+
* - Runs after the build and only in production.
|
|
194
|
+
* - Existing output files are never overwritten, and assets other plugins already emitted (converted images, optimized SVGs) are
|
|
195
|
+
* skipped so the originals cannot replace them.
|
|
196
|
+
* - "exclude" applies to both passes; the public pass also copies dotfiles.
|
|
197
|
+
*/
|
|
146
198
|
declare function copyAssetsPlugin(options?: CopyAssetsOptions): Plugin;
|
|
147
199
|
//#endregion
|
|
148
200
|
//#region src/plugins/custom-ease/easing-functions/types.d.ts
|
|
@@ -264,6 +316,22 @@ interface CustomEasePluginOptions {
|
|
|
264
316
|
*/
|
|
265
317
|
samples?: number;
|
|
266
318
|
}
|
|
319
|
+
/**
|
|
320
|
+
* Replaces named easing calls with plain CSS values at build time, so there is nothing to resolve at runtime. Simple curves
|
|
321
|
+
* become a "cubic-bezier()" string, computed ones (springs, bounces, elastics) are sampled into a "linear()" function.
|
|
322
|
+
*
|
|
323
|
+
* Three places, each with its own switch: CSS declarations (on by default, "--ease-*()" calls), JavaScript
|
|
324
|
+
* ("cssLinear.outCubic()", opt-in) and inline HTML "style" attributes (opt-in).
|
|
325
|
+
*
|
|
326
|
+
* Notes:
|
|
327
|
+
*
|
|
328
|
+
* - Runs in development and production alike.
|
|
329
|
+
* - JS call names are camelCase and matched kebab-cased, so "cssLinear.outCubic()" resolves the "out-cubic" definition.
|
|
330
|
+
* - Anything that does not resolve is left exactly as written: unknown names, unbalanced parentheses, or arguments that are not
|
|
331
|
+
* plain numbers (in JS they must be numeric literals).
|
|
332
|
+
* - "customEase" entries are merged over the predefined set, so reusing a name overrides it.
|
|
333
|
+
* - "samples" trades output size for accuracy; it only affects easings that end up as "linear()".
|
|
334
|
+
*/
|
|
267
335
|
declare function customEasePlugin(options?: CustomEasePluginOptions): Plugin;
|
|
268
336
|
//#endregion
|
|
269
337
|
//#region src/plugins/i18n/i18n-plugin.d.ts
|
|
@@ -305,6 +373,18 @@ interface I18nPluginOptions {
|
|
|
305
373
|
*/
|
|
306
374
|
placeholderPrefix?: string;
|
|
307
375
|
}
|
|
376
|
+
/**
|
|
377
|
+
* Adds internationalization: every page is emitted once per locale with its translation markers resolved, and scripts get a set
|
|
378
|
+
* of compile-time helpers. Returns the three plugins that do the work (HTML, scripts, CLI) sharing the same resolved options.
|
|
379
|
+
*
|
|
380
|
+
* Translations live in one JSON file per locale inside "localesDirectory" ("en.json", "ar.json", ...). Nested objects turn into
|
|
381
|
+
* dot-notated keys, and values can carry "{{ name=fallback }}" placeholders.
|
|
382
|
+
*
|
|
383
|
+
* Notes:
|
|
384
|
+
*
|
|
385
|
+
* - The default locale is emitted at the original paths; the others go under a directory named after the locale.
|
|
386
|
+
* - Locale files are read once and cached for the whole process, so a running dev server does not pick up edits to them.
|
|
387
|
+
*/
|
|
308
388
|
declare function i18nPlugin(options?: I18nPluginOptions): Plugin[];
|
|
309
389
|
//#endregion
|
|
310
390
|
//#region src/plugins/import-as-string/types.d.ts
|
|
@@ -334,6 +414,23 @@ interface ImportAsStringOptions {
|
|
|
334
414
|
type import_as_string = (filePath: string, options?: ImportAsStringOptions) => string;
|
|
335
415
|
//#endregion
|
|
336
416
|
//#region src/plugins/import-as-string/import-as-string-plugin.d.ts
|
|
417
|
+
/**
|
|
418
|
+
* Replaces "import_as_string(path, options?)" calls in scripts with the contents of that file, inlined as a string literal at
|
|
419
|
+
* build time.
|
|
420
|
+
*
|
|
421
|
+
* By default the file is taken from the build, so what lands in the string is the processed version, and "minify" and "format"
|
|
422
|
+
* control how it is printed. With "process: false" the file is read straight from disk instead, untouched, and with
|
|
423
|
+
* "templateLiteral: true" the value is inlined as a template literal rather than a quoted string.
|
|
424
|
+
*
|
|
425
|
+
* Notes:
|
|
426
|
+
*
|
|
427
|
+
* - The path and the options object have to be statically resolvable; anything dynamic is reported and the call is left in the
|
|
428
|
+
* code, where it will fail at runtime.
|
|
429
|
+
* - The path is resolved relative to the file doing the importing.
|
|
430
|
+
* - "minify" and "format" only apply in production; in development the file is inlined as it is.
|
|
431
|
+
* - An inlined file is dropped from the output unless it is an entry point in its own right.
|
|
432
|
+
* - Editing an inlined file recompiles the scripts that inline it.
|
|
433
|
+
*/
|
|
337
434
|
declare function importAsStringPlugin(): Plugin;
|
|
338
435
|
//#endregion
|
|
339
436
|
//#region src/plugins/load-sources/load-sources-plugin.d.ts
|
|
@@ -341,6 +438,16 @@ interface LoadSourcesPluginOptions {
|
|
|
341
438
|
include: string[];
|
|
342
439
|
exclude?: string[];
|
|
343
440
|
}
|
|
441
|
+
/**
|
|
442
|
+
* Registers the files matched by "include" as entry points: the roots the build starts from, with everything they reference
|
|
443
|
+
* discovered, transformed and emitted along with them.
|
|
444
|
+
*
|
|
445
|
+
* Notes:
|
|
446
|
+
*
|
|
447
|
+
* - Patterns are matched from the project root at startup, and matching nothing is reported as an error.
|
|
448
|
+
* - Matched files are watched, so creating or deleting one updates the entry point set without a restart.
|
|
449
|
+
* - Any file type staticbolt can load works as an entry point, HTML, markdown, scripts and styles alike.
|
|
450
|
+
*/
|
|
344
451
|
declare function loadSourcesPlugin(options: LoadSourcesPluginOptions): Plugin;
|
|
345
452
|
//#endregion
|
|
346
453
|
//#region src/plugins/robots-text/robots-text-plugin.d.ts
|
|
@@ -364,6 +471,16 @@ interface RobotsTextOptions {
|
|
|
364
471
|
/** The path to the sitemap file. */
|
|
365
472
|
sitemapUrl?: string;
|
|
366
473
|
}
|
|
474
|
+
/**
|
|
475
|
+
* Writes a "robots.txt" into the output directory from the rules given in the options.
|
|
476
|
+
*
|
|
477
|
+
* Notes:
|
|
478
|
+
*
|
|
479
|
+
* - Production only, and only when at least one rule is configured; with an empty "rules" list nothing is written.
|
|
480
|
+
* - Every rule becomes a "User-agent" block followed by its "Allow" and "Disallow" lines, in the order they are listed.
|
|
481
|
+
* - "sitemapUrl" appends a "Sitemap:" line as given, so pass the full URL.
|
|
482
|
+
* - The file is written straight to disk after the build and is not part of the build graph.
|
|
483
|
+
*/
|
|
367
484
|
declare function robotsTextPlugin(options?: RobotsTextOptions): Plugin;
|
|
368
485
|
//#endregion
|
|
369
486
|
//#region src/plugins/service-worker/service-worker-plugin.d.ts
|
|
@@ -371,13 +488,13 @@ interface ServiceWorkerOptions {
|
|
|
371
488
|
/**
|
|
372
489
|
* Glob patterns for matching files.
|
|
373
490
|
*
|
|
374
|
-
* @default ["
|
|
491
|
+
* @default ["**\/*.{js,wasm,css,html}"]
|
|
375
492
|
*/
|
|
376
493
|
globPatterns?: string[];
|
|
377
494
|
/**
|
|
378
495
|
* Glob patterns for files to ignore.
|
|
379
496
|
*
|
|
380
|
-
* @default ["**\/node_modules
|
|
497
|
+
* @default ["**\/node_modules\/**\/*"]
|
|
381
498
|
*/
|
|
382
499
|
globIgnores?: string[];
|
|
383
500
|
/**
|
|
@@ -407,13 +524,13 @@ interface ServiceWorkerOptions {
|
|
|
407
524
|
/**
|
|
408
525
|
* Whether to skip waiting and immediately activate the service worker.
|
|
409
526
|
*
|
|
410
|
-
* @default
|
|
527
|
+
* @default false
|
|
411
528
|
*/
|
|
412
529
|
skipWaiting?: boolean;
|
|
413
530
|
/**
|
|
414
531
|
* Whether the service worker should claim all available clients.
|
|
415
532
|
*
|
|
416
|
-
* @default
|
|
533
|
+
* @default false
|
|
417
534
|
*/
|
|
418
535
|
clientsClaim?: boolean;
|
|
419
536
|
/**
|
|
@@ -425,7 +542,7 @@ interface ServiceWorkerOptions {
|
|
|
425
542
|
/**
|
|
426
543
|
* Cleans up outdated caches during service worker activation.
|
|
427
544
|
*
|
|
428
|
-
* @default
|
|
545
|
+
* @default false
|
|
429
546
|
*/
|
|
430
547
|
cleanupOutdatedCaches?: boolean;
|
|
431
548
|
/**
|
|
@@ -448,7 +565,12 @@ interface ServiceWorkerOptions {
|
|
|
448
565
|
modifyURLPrefix?: Record<string, string>;
|
|
449
566
|
}
|
|
450
567
|
/**
|
|
451
|
-
*
|
|
568
|
+
* Generates a Workbox service worker from the finished output directory, precaching every file that matches "globPatterns".
|
|
569
|
+
*
|
|
570
|
+
* The options are handed to workbox-build's "generateSW", with "swDest" resolved inside the output directory and the project's
|
|
571
|
+
* browserslist used as the Babel target.
|
|
572
|
+
*
|
|
573
|
+
* Registering it is up to the page:
|
|
452
574
|
*
|
|
453
575
|
* ```ts
|
|
454
576
|
* import { Workbox } from "workbox-window";
|
|
@@ -458,6 +580,13 @@ interface ServiceWorkerOptions {
|
|
|
458
580
|
* wb.register();
|
|
459
581
|
* }
|
|
460
582
|
* ```
|
|
583
|
+
*
|
|
584
|
+
* Notes:
|
|
585
|
+
*
|
|
586
|
+
* - Production only, and it runs after the build, so it sees the final files, copied assets included.
|
|
587
|
+
* - The precache manifest is built from the output directory; files larger than "maximumFileSizeToCacheInBytes" (2 MB by default)
|
|
588
|
+
* are left out.
|
|
589
|
+
* - The worker is written straight to disk and is not part of the build graph.
|
|
461
590
|
*/
|
|
462
591
|
declare function serviceWorkerPlugin(options?: ServiceWorkerOptions): Plugin;
|
|
463
592
|
//#endregion
|
|
@@ -488,6 +617,18 @@ interface SitemapOptions {
|
|
|
488
617
|
*/
|
|
489
618
|
exclude?: string[];
|
|
490
619
|
}
|
|
620
|
+
/**
|
|
621
|
+
* Writes a "sitemap.xml" listing the HTML pages that ended up in the output directory.
|
|
622
|
+
*
|
|
623
|
+
* Notes:
|
|
624
|
+
*
|
|
625
|
+
* - Production only, and only when "sitemapUrl" is set; without it nothing is generated.
|
|
626
|
+
* - The pages are globbed from the output directory after the build, so the list reflects what was really emitted, and "include"
|
|
627
|
+
* and "exclude" are matched there as well.
|
|
628
|
+
* - Each entry is the URL of the file's directory with a trailing slash: "blog/post/index.html" becomes ".../blog/post/", and a
|
|
629
|
+
* page that is not an "index.html" collapses onto the URL of its parent directory.
|
|
630
|
+
* - Only "<loc>" is emitted, no "lastmod", "changefreq" or "priority".
|
|
631
|
+
*/
|
|
491
632
|
declare function sitemapPlugin(options?: SitemapOptions): Plugin;
|
|
492
633
|
//#endregion
|
|
493
634
|
//#region src/plugins/svgo/svgo-plugin.d.ts
|
|
@@ -514,11 +655,17 @@ interface svgoOptions {
|
|
|
514
655
|
svgoConfig?: Config;
|
|
515
656
|
}
|
|
516
657
|
/**
|
|
517
|
-
*
|
|
658
|
+
* Optimizes SVGs with svgo, both the inline "<svg>" tags of a page and the files matched by "include", which are optimized and
|
|
659
|
+
* written to the output directory.
|
|
518
660
|
*
|
|
519
|
-
*
|
|
661
|
+
* Notes:
|
|
520
662
|
*
|
|
521
|
-
*
|
|
663
|
+
* - Production only.
|
|
664
|
+
* - Results are cached per SVG string, so an icon repeated across many pages goes through svgo once per build.
|
|
665
|
+
* - Files it wrote are published on "pluginData.optimizedSvgList" so copy-assets does not put the originals over them.
|
|
666
|
+
* - The default config is svgo's "preset-default" with id cleanup, hidden-element removal and unknown-attribute removal turned off,
|
|
667
|
+
* so ids and hooks the rest of the page relies on survive. Passing "svgoConfig" replaces that default entirely.
|
|
668
|
+
* - SVGs inlined in CSS are out of reach; use a PostCSS plugin such as cssnano for those.
|
|
522
669
|
*/
|
|
523
670
|
declare function svgoPlugin(options?: svgoOptions): Plugin;
|
|
524
671
|
//#endregion
|
|
@@ -533,6 +680,16 @@ interface TransformCssOptions {
|
|
|
533
680
|
*/
|
|
534
681
|
loadConfig?: boolean;
|
|
535
682
|
}
|
|
683
|
+
/**
|
|
684
|
+
* Runs PostCSS plugins over every stylesheet in the build, the "<style>" tags of a page included.
|
|
685
|
+
*
|
|
686
|
+
* Notes:
|
|
687
|
+
*
|
|
688
|
+
* - The plugins given in the options run first, followed by the ones from the PostCSS config file when "loadConfig" is on.
|
|
689
|
+
* - That config is read once at startup, with the build mode and the project's browserslist as its context.
|
|
690
|
+
* - With no plugins at all the pass is skipped.
|
|
691
|
+
* - A plugin error is reported for the stylesheet it happened in and the build carries on.
|
|
692
|
+
*/
|
|
536
693
|
declare function transformCssPlugin(options?: TransformCssOptions): Plugin;
|
|
537
694
|
//#endregion
|
|
538
695
|
//#region src/plugins/transform-js/transform-js-plugin.d.ts
|
|
@@ -540,6 +697,18 @@ interface TransformJsPluginOptions {
|
|
|
540
697
|
presets?: babel.PluginItem[];
|
|
541
698
|
plugins?: babel.PluginItem[];
|
|
542
699
|
}
|
|
700
|
+
/**
|
|
701
|
+
* Runs Babel over every script in the build, TypeScript and JSX included.
|
|
702
|
+
*
|
|
703
|
+
* Presets are applied in order: TypeScript (all extensions, JSX enabled), preset-env against the project's browserslist, then the
|
|
704
|
+
* project's own Babel config, then whatever the options add.
|
|
705
|
+
*
|
|
706
|
+
* Notes:
|
|
707
|
+
*
|
|
708
|
+
* - "_production" is substituted with the build mode, so a check like "if (_production)" is resolved at build time.
|
|
709
|
+
* - Module syntax is preserved; ".ts", ".jsx" and ".tsx" files only change their output path to ".js".
|
|
710
|
+
* - The result is resolved and loaded again, so imports a Babel plugin introduces still become part of the build.
|
|
711
|
+
*/
|
|
543
712
|
declare function transformJsPlugin(options?: TransformJsPluginOptions): Plugin;
|
|
544
713
|
//#endregion
|
|
545
714
|
//#region src/plugins/web-manifest/web-manifest-plugin.d.ts
|
|
@@ -557,6 +726,15 @@ interface WebManifestOptions {
|
|
|
557
726
|
*/
|
|
558
727
|
outfile?: string;
|
|
559
728
|
}
|
|
729
|
+
/**
|
|
730
|
+
* Emits the web app manifest at "outfile" and repoints the links to it.
|
|
731
|
+
*
|
|
732
|
+
* Notes:
|
|
733
|
+
*
|
|
734
|
+
* - Only the file at "manifestPath" counts as the manifest; links to any other JSON are left alone.
|
|
735
|
+
* - It is rebased once the transforms are done, so the paths inside it (icons, screenshots) keep resolving from the new location.
|
|
736
|
+
* - The links are rewritten in production only; while serving, the manifest stays at its source path.
|
|
737
|
+
*/
|
|
560
738
|
declare function webManifestPlugin(options?: WebManifestOptions): Plugin;
|
|
561
739
|
//#endregion
|
|
562
740
|
//#region src/plugins/write-files/write-files-plugin.d.ts
|
|
@@ -575,6 +753,12 @@ interface WriteFilesOptions {
|
|
|
575
753
|
* @default [ ]
|
|
576
754
|
*/
|
|
577
755
|
exclude?: string[];
|
|
756
|
+
/**
|
|
757
|
+
* How many worker threads may minify or format output files at once.
|
|
758
|
+
*
|
|
759
|
+
* @default One per core, up to eight
|
|
760
|
+
*/
|
|
761
|
+
concurrency?: number;
|
|
578
762
|
minify?: {
|
|
579
763
|
/**
|
|
580
764
|
* Whether to minify output.
|
|
@@ -616,6 +800,22 @@ interface WriteFilesOptions {
|
|
|
616
800
|
exclude?: string[];
|
|
617
801
|
};
|
|
618
802
|
}
|
|
803
|
+
/**
|
|
804
|
+
* Emits the build: everything that survived the pipeline is stringified and written under the output directory, with binary
|
|
805
|
+
* assets copied over as they are.
|
|
806
|
+
*
|
|
807
|
+
* Notes:
|
|
808
|
+
*
|
|
809
|
+
* - Production only. The dev server serves from memory and writes nothing.
|
|
810
|
+
* - "clean" removes the output directory before the build starts.
|
|
811
|
+
* - "include" and "exclude" are matched against the source path, and anything a plugin excluded from emitting is skipped.
|
|
812
|
+
* - "minify" and "format" carry their own patterns; turning both on for the same file logs a warning.
|
|
813
|
+
* - A file whose path would land outside the output directory is reported and skipped.
|
|
814
|
+
* - Formatting and minifying are the slow part of printing a file, so any plugin willing to hand its final pass over gets taken up
|
|
815
|
+
* on it: the file is written as it came out and its pass goes to a pool of worker threads chewing through them while the files
|
|
816
|
+
* behind it are still being written. The pool is drained before this hook returns, so the output directory is settled by the
|
|
817
|
+
* time anything else runs.
|
|
818
|
+
*/
|
|
619
819
|
declare function writeFilesPlugin(options: WriteFilesOptions): Plugin;
|
|
620
820
|
//#endregion
|
|
621
821
|
//#region src/plugins/html-build-time-script/html-build-time-script.d.ts
|
|
@@ -633,8 +833,33 @@ interface HtmlBuildTimeScriptOptions {
|
|
|
633
833
|
* @default "full-dom"
|
|
634
834
|
*/
|
|
635
835
|
fullDomAttribute?: string;
|
|
836
|
+
/**
|
|
837
|
+
* The name of the attribute on the script tag that holds a JSON object, whose entries are exposed as globals to the script
|
|
838
|
+
* during execution.
|
|
839
|
+
*
|
|
840
|
+
* @default "context"
|
|
841
|
+
*/
|
|
636
842
|
contextAttribute?: string;
|
|
637
843
|
}
|
|
844
|
+
/**
|
|
845
|
+
* Executes script tags marked with "build-time" during the build and keeps whatever they did to the page. The tag itself never
|
|
846
|
+
* reaches the output.
|
|
847
|
+
*
|
|
848
|
+
* Attributes (names configurable via HtmlBuildTimeScriptOptions):
|
|
849
|
+
*
|
|
850
|
+
* - "build-time": execute this tag, inline or through "src".
|
|
851
|
+
* - "full-dom": run against a jsdom document instead of the lighter node-html-parser AST.
|
|
852
|
+
* - "context": a JSON object whose entries become globals for that script.
|
|
853
|
+
*
|
|
854
|
+
* Scripts run in "node:vm" with "document", "window", "StaticBolt" (the app), "__filepath" and "__id" in scope. "context" entries
|
|
855
|
+
* are applied last, so they can shadow those names; if the JSON fails to parse the script still runs without them.
|
|
856
|
+
*
|
|
857
|
+
* Notes:
|
|
858
|
+
*
|
|
859
|
+
* - "full-dom" needs a fully constructed page (a head and a body), so place this plugin last when using it.
|
|
860
|
+
* - Failures are per tag: the error is logged and the rest of the page carries on.
|
|
861
|
+
* - In development the files each page executed are tracked, so editing one of them recompiles the pages that used it.
|
|
862
|
+
*/
|
|
638
863
|
declare function htmlBuildTimeScript(options?: HtmlBuildTimeScriptOptions): Plugin;
|
|
639
864
|
//#endregion
|
|
640
865
|
//#region src/plugins/html-bundle-script/html-bundle-script-plugin.d.ts
|
|
@@ -664,6 +889,8 @@ interface HtmlBundleScriptOptions {
|
|
|
664
889
|
/**
|
|
665
890
|
* The HTML attribute name that specifies the output file path for the bundled script.
|
|
666
891
|
*
|
|
892
|
+
* The attribute value is always resolved relative to the output directory, regardless of where the HTML file lives.
|
|
893
|
+
*
|
|
667
894
|
* @default "bundle-out"
|
|
668
895
|
*/
|
|
669
896
|
bundleOutAttribute?: string;
|
|
@@ -683,24 +910,33 @@ interface HtmlBundleScriptOptions {
|
|
|
683
910
|
* @default "bundle-externals-exclude"
|
|
684
911
|
*/
|
|
685
912
|
externalsExcludeAttribute?: string;
|
|
913
|
+
/**
|
|
914
|
+
* The HTML attribute name that switches the bundle output format from ESM to IIFE.
|
|
915
|
+
*
|
|
916
|
+
* The attribute is a boolean flag; its value is ignored.
|
|
917
|
+
*
|
|
918
|
+
* @default "iife"
|
|
919
|
+
*/
|
|
920
|
+
iifeAttribute?: string;
|
|
686
921
|
}
|
|
687
922
|
/**
|
|
688
|
-
*
|
|
923
|
+
* Bundles script tags in HTML files with esbuild. Opt-in per tag.
|
|
689
924
|
*
|
|
690
|
-
*
|
|
925
|
+
* Attributes (names configurable via HtmlBundleScriptOptions):
|
|
691
926
|
*
|
|
692
|
-
*
|
|
927
|
+
* - "bundle": bundle this tag.
|
|
928
|
+
* - "bundle-out": output path, resolved from the output directory, not from the HTML file.
|
|
929
|
+
* - "bundle-externals" / "bundle-externals-exclude": semicolon-separated globs, override the plugin defaults for this tag.
|
|
930
|
+
* - "iife": emit an IIFE instead of ESM.
|
|
693
931
|
*
|
|
694
|
-
* -
|
|
695
|
-
*
|
|
696
|
-
* - `src` script, no `bundle-out` attribute —> bundle is written to `{filename}.bundle.js` and `src` is updated to point to it.
|
|
697
|
-
* - `src` script, `bundle-out` attribute set —> bundle is written to the specified path and `src` is updated to point to it.
|
|
932
|
+
* Without "bundle-out", an inline script is bundled in place and a "src" script is written to "{filename}.bundle.js" next to the
|
|
933
|
+
* original. With it, "src" is pointed at the output path and inline content is cleared.
|
|
698
934
|
*
|
|
699
|
-
*
|
|
935
|
+
* Notes:
|
|
700
936
|
*
|
|
701
|
-
*
|
|
702
|
-
*
|
|
703
|
-
*
|
|
937
|
+
* - Bundling only runs in production; in dev the attributes are just stripped. They never reach the output either way.
|
|
938
|
+
* - If the target output path is already bundled, the work is skipped and "src" is simply pointed at it.
|
|
939
|
+
* - "iife" only changes the esbuild format; the tag's "type" is untouched, so remove "type=module" yourself if needed.
|
|
704
940
|
*/
|
|
705
941
|
declare function htmlBundleScriptPlugin(options?: HtmlBundleScriptOptions): Plugin;
|
|
706
942
|
//#endregion
|
|
@@ -713,8 +949,62 @@ interface HtmlBundleStyleOptions {
|
|
|
713
949
|
*/
|
|
714
950
|
bundleAttribute?: string;
|
|
715
951
|
}
|
|
952
|
+
/**
|
|
953
|
+
* Inlines the "@import" tree of a stylesheet, so the tag ends up self-contained. Opt-in per tag through the "bundle" attribute
|
|
954
|
+
* (configurable via HtmlBundleStyleOptions) on a "<link rel=stylesheet>" or a "<style>" tag.
|
|
955
|
+
*
|
|
956
|
+
* Bundling happens in place: a "<style>" tag gets the resolved CSS as its content, and a linked file is rewritten with its
|
|
957
|
+
* imports inlined while "href" stays as it is.
|
|
958
|
+
*
|
|
959
|
+
* Notes:
|
|
960
|
+
*
|
|
961
|
+
* - Production only. In development nothing runs and the "bundle" attribute is left on the tag.
|
|
962
|
+
* - "<link rel=preload as=style>" is always bundled, with or without the attribute, since a preloaded stylesheet has to carry
|
|
963
|
+
* everything it needs.
|
|
964
|
+
* - A linked stylesheet is bundled once even when several pages link to it; they share the same file.
|
|
965
|
+
* - Imports resolve the way every other source does: relative paths, path aliases and packages, through the build's resolver.
|
|
966
|
+
* - Imported files are pulled from the build (so transforms other plugins made are included) and only read from disk when they are
|
|
967
|
+
* not part of it. They stay in the output as separate files, now unreferenced. Their "url()" references are rebased onto the
|
|
968
|
+
* bundle's location.
|
|
969
|
+
* - Conditions ("layer", "supports()", media) wrap the imported rules, a file imported twice under the same conditions is kept
|
|
970
|
+
* where it was imported last, as in a browser, and imports from other origins are hoisted to the top.
|
|
971
|
+
*/
|
|
716
972
|
declare function htmlBundleStylePlugin(options?: HtmlBundleStyleOptions): Plugin;
|
|
717
973
|
//#endregion
|
|
974
|
+
//#region src/plugins/html-env-only/html-environment-only-plugin.d.ts
|
|
975
|
+
interface HtmlEnvOnlyOptions {
|
|
976
|
+
/**
|
|
977
|
+
* The HTML attribute name that marks a tag as development-only.
|
|
978
|
+
*
|
|
979
|
+
* Tags with this attribute are removed at build time and kept (with the attribute stripped) during dev serve.
|
|
980
|
+
*
|
|
981
|
+
* @default "dev-only"
|
|
982
|
+
*/
|
|
983
|
+
devOnlyAttribute?: string;
|
|
984
|
+
/**
|
|
985
|
+
* The HTML attribute name that marks a tag as production-only.
|
|
986
|
+
*
|
|
987
|
+
* Tags with this attribute are removed during dev serve and kept (with the attribute stripped) at build time.
|
|
988
|
+
*
|
|
989
|
+
* @default "production-only"
|
|
990
|
+
*/
|
|
991
|
+
productionOnlyAttribute?: string;
|
|
992
|
+
}
|
|
993
|
+
/**
|
|
994
|
+
* Removes the HTML tags that do not belong in the current environment.
|
|
995
|
+
*
|
|
996
|
+
* Attributes (names configurable via HtmlEnvOnlyOptions):
|
|
997
|
+
*
|
|
998
|
+
* - "dev-only": kept while serving, removed from the production build.
|
|
999
|
+
* - "production-only": kept in the production build, removed while serving.
|
|
1000
|
+
*
|
|
1001
|
+
* Notes:
|
|
1002
|
+
*
|
|
1003
|
+
* - Works on any element, and removal takes the element's whole subtree with it.
|
|
1004
|
+
* - Where the tag survives, the marker attribute is stripped from the output.
|
|
1005
|
+
*/
|
|
1006
|
+
declare function htmlEnvOnlyPlugin(options?: HtmlEnvOnlyOptions): Plugin;
|
|
1007
|
+
//#endregion
|
|
718
1008
|
//#region src/plugins/html-fragment/html-fragment-plugin.d.ts
|
|
719
1009
|
interface HtmlFragmentOptions {
|
|
720
1010
|
/**
|
|
@@ -724,6 +1014,16 @@ interface HtmlFragmentOptions {
|
|
|
724
1014
|
*/
|
|
725
1015
|
tagName?: string;
|
|
726
1016
|
}
|
|
1017
|
+
/**
|
|
1018
|
+
* Replaces every "<fragment>" element (tag name configurable via HtmlFragmentOptions) with its own content, so the wrapper leaves
|
|
1019
|
+
* no trace in the output. Handy for grouping markup a layout or an insert has to treat as one node.
|
|
1020
|
+
*
|
|
1021
|
+
* Notes:
|
|
1022
|
+
*
|
|
1023
|
+
* - Runs in development and production alike.
|
|
1024
|
+
* - The content is re-parsed from the element's inner HTML and trimmed, so surrounding whitespace is dropped.
|
|
1025
|
+
* - Fragments nest: the page is rescanned after each replacement, so a fragment inside another one is unwrapped as well.
|
|
1026
|
+
*/
|
|
727
1027
|
declare function htmlFragmentPlugin(options?: HtmlFragmentOptions): Plugin;
|
|
728
1028
|
//#endregion
|
|
729
1029
|
//#region src/plugins/html-iife-script/html-iife-script-plugin.d.ts
|
|
@@ -735,6 +1035,16 @@ interface HtmlIifeScriptOptions {
|
|
|
735
1035
|
*/
|
|
736
1036
|
iifeAttribute?: string;
|
|
737
1037
|
}
|
|
1038
|
+
/**
|
|
1039
|
+
* Wraps the body of a script tag marked with "iife" (attribute configurable via HtmlIifeScriptOptions) in an immediately invoked
|
|
1040
|
+
* function expression, so its declarations stay out of the global scope.
|
|
1041
|
+
*
|
|
1042
|
+
* Notes:
|
|
1043
|
+
*
|
|
1044
|
+
* - The attribute is stripped in both modes, but the wrapping only happens in production.
|
|
1045
|
+
* - Inline scripts only: a tag with a "src" attribute is reported as an error and left alone.
|
|
1046
|
+
* - Meant for classic scripts. A module already has its own scope, so wrapping one buys nothing.
|
|
1047
|
+
*/
|
|
738
1048
|
declare function htmlIifeScriptPlugin(options?: HtmlIifeScriptOptions): Plugin;
|
|
739
1049
|
//#endregion
|
|
740
1050
|
//#region src/plugins/html-inline-script/html-inline-script-plugin.d.ts
|
|
@@ -746,6 +1056,22 @@ interface HtmlInlineScriptOptions {
|
|
|
746
1056
|
*/
|
|
747
1057
|
inlineAttribute?: string;
|
|
748
1058
|
}
|
|
1059
|
+
/**
|
|
1060
|
+
* Replaces a script tag marked with "inline" (attribute configurable via HtmlInlineScriptOptions) with the code it points at, so
|
|
1061
|
+
* the page ships one request fewer. The "src" attribute is dropped and the code becomes the tag's content.
|
|
1062
|
+
*
|
|
1063
|
+
* The source can be a local file or a remote URL; a URL is downloaded at build time, cached per page directory and URL, and kept
|
|
1064
|
+
* out of the output.
|
|
1065
|
+
*
|
|
1066
|
+
* Notes:
|
|
1067
|
+
*
|
|
1068
|
+
* - The attribute is stripped in both modes, but the inlining only happens in production.
|
|
1069
|
+
* - The tag must have a "src" and no content of its own; anything else is reported as an error and left alone.
|
|
1070
|
+
* - A local file has to be part of the build already, otherwise its metadata is not found and nothing is inlined.
|
|
1071
|
+
* - The inlined copy is rebased onto the HTML file, so its relative imports keep resolving, and the original file stays in the
|
|
1072
|
+
* output unless something removes it.
|
|
1073
|
+
* - The tag's "type" decides whether the inlined code is treated as a module, not the original file.
|
|
1074
|
+
*/
|
|
749
1075
|
declare function htmlInlineScriptPlugin(options?: HtmlInlineScriptOptions): Plugin;
|
|
750
1076
|
//#endregion
|
|
751
1077
|
//#region src/plugins/html-inline-style/html-inline-style-plugin.d.ts
|
|
@@ -757,6 +1083,21 @@ interface HtmlInlineStyleOptions {
|
|
|
757
1083
|
*/
|
|
758
1084
|
inlineAttribute?: string;
|
|
759
1085
|
}
|
|
1086
|
+
/**
|
|
1087
|
+
* Turns a "<link rel=stylesheet>" marked with "inline" (attribute configurable via HtmlInlineStyleOptions) into a "<style>" tag
|
|
1088
|
+
* holding the stylesheet itself, so the page ships one request fewer.
|
|
1089
|
+
*
|
|
1090
|
+
* The "href" can point at a local file or a remote URL; a URL is downloaded at build time, cached per page directory and URL, and
|
|
1091
|
+
* kept out of the output.
|
|
1092
|
+
*
|
|
1093
|
+
* Notes:
|
|
1094
|
+
*
|
|
1095
|
+
* - The attribute is stripped in both modes, but the inlining only happens in production.
|
|
1096
|
+
* - The link's remaining attributes are copied onto the "<style>" tag; "href" and "rel" are dropped.
|
|
1097
|
+
* - A local file has to be part of the build already, otherwise its metadata is not found and nothing is inlined.
|
|
1098
|
+
* - The inlined copy is rebased onto the HTML file, so relative "url()" and "@import" paths keep resolving, and the original file
|
|
1099
|
+
* stays in the output unless something removes it.
|
|
1100
|
+
*/
|
|
760
1101
|
declare function htmlInlineStylePlugin(options?: HtmlInlineStyleOptions): Plugin;
|
|
761
1102
|
//#endregion
|
|
762
1103
|
//#region src/plugins/html-inline-svg/html-inline-svg-plugin.d.ts
|
|
@@ -768,6 +1109,21 @@ interface HtmlInlineSvgOptions {
|
|
|
768
1109
|
*/
|
|
769
1110
|
inlineAttribute?: string;
|
|
770
1111
|
}
|
|
1112
|
+
/**
|
|
1113
|
+
* Replaces an "<svg inline src=...>" placeholder (attribute configurable via HtmlInlineSvgOptions) with the actual SVG element
|
|
1114
|
+
* from the file, so it can be styled and scripted like any other markup.
|
|
1115
|
+
*
|
|
1116
|
+
* The "src" can point at a local file or a remote URL; a URL is downloaded at build time, cached per page directory and URL, and
|
|
1117
|
+
* kept out of the output.
|
|
1118
|
+
*
|
|
1119
|
+
* Notes:
|
|
1120
|
+
*
|
|
1121
|
+
* - Runs in development and production alike.
|
|
1122
|
+
* - Every attribute left on the placeholder is copied onto the inlined element and overrides what the file declares, "viewBox" and
|
|
1123
|
+
* "fill" included.
|
|
1124
|
+
* - A local file has to be part of the build already, otherwise its metadata is not found and the placeholder is left as it is.
|
|
1125
|
+
* - Only the "<svg>" element of the file is taken; anything around it in the file is dropped.
|
|
1126
|
+
*/
|
|
771
1127
|
declare function HtmlInlineSvgPlugin(options?: HtmlInlineSvgOptions): Plugin;
|
|
772
1128
|
//#endregion
|
|
773
1129
|
//#region src/plugins/html-inline-text/html-inline-text-plugin.d.ts
|
|
@@ -791,6 +1147,18 @@ interface HtmlInlineTextOptions {
|
|
|
791
1147
|
*/
|
|
792
1148
|
noEscapeAttribute?: string;
|
|
793
1149
|
}
|
|
1150
|
+
/**
|
|
1151
|
+
* Replaces an "<inline-text src=...>" tag with the contents of the file it points at (tag and attribute names configurable via
|
|
1152
|
+
* HtmlInlineTextOptions). The text is HTML-escaped unless the tag carries "no-escape", which inserts it as markup.
|
|
1153
|
+
*
|
|
1154
|
+
* Notes:
|
|
1155
|
+
*
|
|
1156
|
+
* - Runs in development and production alike.
|
|
1157
|
+
* - The file is read straight from disk, so it is not a build source and no other plugin transforms it.
|
|
1158
|
+
* - Contents are cached per path for the whole build, escaping included: when two tags point at the same file, the first one
|
|
1159
|
+
* decides whether both end up escaped.
|
|
1160
|
+
* - The cache is dropped when the file changes, and pages that inlined it are recompiled, so the dev server stays in sync.
|
|
1161
|
+
*/
|
|
794
1162
|
declare function htmlInlineTextPlugin(options?: HtmlInlineTextOptions): Plugin;
|
|
795
1163
|
//#endregion
|
|
796
1164
|
//#region src/plugins/html-insert/html-insert-plugin.d.ts
|
|
@@ -820,9 +1188,26 @@ interface HtmlInsertOptions {
|
|
|
820
1188
|
*/
|
|
821
1189
|
whereAttribute?: string;
|
|
822
1190
|
}
|
|
1191
|
+
/**
|
|
1192
|
+
* Moves the content of an "<insert>" tag into any element on the same page, addressed by a CSS selector, then removes the tag
|
|
1193
|
+
* itself (names configurable via HtmlInsertOptions).
|
|
1194
|
+
*
|
|
1195
|
+
* Attributes:
|
|
1196
|
+
*
|
|
1197
|
+
* - "selector": the CSS selector of the target element.
|
|
1198
|
+
* - "where": where the content lands, one of "beforebegin", "afterbegin", "beforeend" (the default) or "afterend".
|
|
1199
|
+
* - "replace": swap the target element for the content instead of inserting into it.
|
|
1200
|
+
*
|
|
1201
|
+
* Notes:
|
|
1202
|
+
*
|
|
1203
|
+
* - Runs in development and production alike, and only searches the page the tag lives on.
|
|
1204
|
+
* - A tag whose target is not on the page yet is left untouched, since layouts and pages are assembled in several passes. Any tag
|
|
1205
|
+
* still unresolved at the end of the build is reported and stays in the output.
|
|
1206
|
+
* - An "<insert>" with no content or no selector is reported and left alone.
|
|
1207
|
+
*/
|
|
823
1208
|
declare function htmlInsertPlugin(options?: HtmlInsertOptions): Plugin;
|
|
824
1209
|
//#endregion
|
|
825
|
-
//#region src/plugins/html-layout/
|
|
1210
|
+
//#region src/plugins/html-layout/options.d.ts
|
|
826
1211
|
interface HtmlLayoutOptions {
|
|
827
1212
|
/**
|
|
828
1213
|
* Tag names registered as valid HTML elements. Each name is also the required file suffix — e.g. `"layout"` means files must
|
|
@@ -849,7 +1234,7 @@ interface HtmlLayoutOptions {
|
|
|
849
1234
|
* attributes and any keys loaded via `dataSource`. Inline attributes take priority over `dataJson` keys; `dataJson` keys take
|
|
850
1235
|
* priority over `dataSource` keys.
|
|
851
1236
|
*
|
|
852
|
-
* @default "
|
|
1237
|
+
* @default "dataJson"
|
|
853
1238
|
*/
|
|
854
1239
|
dataJsonAttribute?: string;
|
|
855
1240
|
/**
|
|
@@ -886,6 +1271,33 @@ interface HtmlLayoutOptions {
|
|
|
886
1271
|
*/
|
|
887
1272
|
removeAttributeAttribute?: string;
|
|
888
1273
|
}
|
|
1274
|
+
//#endregion
|
|
1275
|
+
//#region src/plugins/html-layout/html-layout-plugin.d.ts
|
|
1276
|
+
/**
|
|
1277
|
+
* Composes pages out of reusable "<layout>" and "<part>" files (tag names configurable via HtmlLayoutOptions). The tag is
|
|
1278
|
+
* replaced by the file it points at, the tag's children are distributed into the file's "<slot>" elements, and the scripts and
|
|
1279
|
+
* styles the file declares are merged into the page.
|
|
1280
|
+
*
|
|
1281
|
+
* Attributes on the tag:
|
|
1282
|
+
*
|
|
1283
|
+
* - "src": the file to inline. Its name must end with ".<tag>.html", so "<part>" loads "*.part.html".
|
|
1284
|
+
* - "dataSource" and "dataJson": data for the file's placeholders, as a path to a JSON file and as an inline JSON string.
|
|
1285
|
+
* - Anything else on the tag is data as well.
|
|
1286
|
+
*
|
|
1287
|
+
* Inside the file, "{{ expression }}" is evaluated as JavaScript with the data exposed as "$data" (a leading backslash escapes a
|
|
1288
|
+
* placeholder, and an expression returning undefined or an object is an error), while "add-attr-<name>" and "remove-attr-<name>"
|
|
1289
|
+
* toggle a boolean attribute when their value is non-empty and not "false".
|
|
1290
|
+
*
|
|
1291
|
+
* Notes:
|
|
1292
|
+
*
|
|
1293
|
+
* - Data precedence, lowest first: the "dataSource" file, then "dataJson", then the tag's own attributes.
|
|
1294
|
+
* - Layouts nest, and a page is rescanned after each expansion, so a layout can pull in further layouts and parts.
|
|
1295
|
+
* - Markdown pages take their layout from front matter: a "layout" or "part" key names the file, the other keys are data.
|
|
1296
|
+
* - Using the same layout twice on one page emits its scripts, styles and stylesheet links once; "always-include" opts a tag out of
|
|
1297
|
+
* that and gives it one copy per instance.
|
|
1298
|
+
* - Layout files never reach the output on their own, and editing one recompiles every page and layout that pulls it in.
|
|
1299
|
+
* - In production an instance is rendered once per file and attribute set, then cloned for the identical ones.
|
|
1300
|
+
*/
|
|
889
1301
|
declare function htmlLayoutPlugin(options?: HtmlLayoutOptions): Plugin;
|
|
890
1302
|
//#endregion
|
|
891
1303
|
//#region src/plugins/html-markdown/html-markdown-plugin.d.ts
|
|
@@ -909,9 +1321,32 @@ interface HtmlMarkdownOptions {
|
|
|
909
1321
|
*/
|
|
910
1322
|
sourceAttribute?: string;
|
|
911
1323
|
}
|
|
1324
|
+
/**
|
|
1325
|
+
* Renders markdown inside HTML pages, from a file or from the element's own text (names configurable via HtmlMarkdownOptions).
|
|
1326
|
+
*
|
|
1327
|
+
* - An element carrying the "markdown" attribute has its text rendered and replaced by the resulting HTML, and loses the attribute.
|
|
1328
|
+
* - A "<markdown src=...>" tag is replaced by the rendered contents of the file it points at.
|
|
1329
|
+
*
|
|
1330
|
+
* Notes:
|
|
1331
|
+
*
|
|
1332
|
+
* - Runs in development and production alike.
|
|
1333
|
+
* - The rendered HTML goes through the normal pipeline (resolve, load, transform), so its own tags are processed like the rest of
|
|
1334
|
+
* the page and a referenced file's links are rebased onto the page that renders it.
|
|
1335
|
+
* - Editing a referenced markdown file recompiles the pages that render it.
|
|
1336
|
+
*/
|
|
912
1337
|
declare function htmlMarkdownPlugin(options?: HtmlMarkdownOptions): Plugin;
|
|
913
1338
|
//#endregion
|
|
914
1339
|
//#region src/plugins/html-merge-styles/html-merge-styles-plugin.d.ts
|
|
1340
|
+
/**
|
|
1341
|
+
* Merges consecutive "<style>" tags in the "<head>" into a single tag, cutting the number of style blocks a page ships.
|
|
1342
|
+
*
|
|
1343
|
+
* Notes:
|
|
1344
|
+
*
|
|
1345
|
+
* - Production only, and only inside "<head>"; styles anywhere else are left alone.
|
|
1346
|
+
* - A run is only merged when the tags carry identical attributes, and a "<link rel=stylesheet>" between them breaks the run, so
|
|
1347
|
+
* the cascade order never changes.
|
|
1348
|
+
* - The merged rules are appended to the first tag of the run and the others are removed.
|
|
1349
|
+
*/
|
|
915
1350
|
declare function htmlMergeStylesPlugin(): Plugin;
|
|
916
1351
|
//#endregion
|
|
917
1352
|
//#region src/plugins/html-pages/html-pages-plugin.d.ts
|
|
@@ -929,6 +1364,23 @@ interface HtmlPagesOptions {
|
|
|
929
1364
|
*/
|
|
930
1365
|
outputDir?: string;
|
|
931
1366
|
}
|
|
1367
|
+
/**
|
|
1368
|
+
* Turns the files under the pages directory into routes: every ".html" and ".md" file in "pagesDir" is emitted at its clean URL
|
|
1369
|
+
* path, and the links pointing into the directory are rewritten to match.
|
|
1370
|
+
*
|
|
1371
|
+
* - "pages/home.html" becomes "home/index.html", so it is served at "/home/", while a file already named "index" keeps its place.
|
|
1372
|
+
* - Markdown pages are rendered to HTML first, and the markdown itself is kept out of the output.
|
|
1373
|
+
* - Square brackets mark a dynamic route: "pages/users/[id].html" is expanded into one page per entry returned by the
|
|
1374
|
+
* "getStaticPaths" export of its "<script params>" tag, with "{{ $params.x }}" and "{{ $props.x }}" filled in.
|
|
1375
|
+
*
|
|
1376
|
+
* Notes:
|
|
1377
|
+
*
|
|
1378
|
+
* - Rebasing goes both ways: a page's own links survive the move out of "pagesDir", and links from anywhere else pointing into it
|
|
1379
|
+
* are rewritten to the final URL.
|
|
1380
|
+
* - "outputDir" puts the whole route tree under a subdirectory of the output.
|
|
1381
|
+
* - The dev server resolves a request through the same computed paths, with or without the trailing "index.html", dynamic routes
|
|
1382
|
+
* included.
|
|
1383
|
+
*/
|
|
932
1384
|
declare function htmlPagesPlugin(options?: HtmlPagesOptions): Plugin;
|
|
933
1385
|
//#endregion
|
|
934
1386
|
//#region src/plugins/html-preload/html-preload-plugin.d.ts
|
|
@@ -942,16 +1394,34 @@ interface HtmlPreloadOptions {
|
|
|
942
1394
|
/**
|
|
943
1395
|
* Attribute name for including files.
|
|
944
1396
|
*
|
|
945
|
-
* @default "include"
|
|
1397
|
+
* @default "preload-include"
|
|
946
1398
|
*/
|
|
947
1399
|
includeAttribute?: string;
|
|
948
1400
|
/**
|
|
949
1401
|
* Attribute name for excluding files.
|
|
950
1402
|
*
|
|
951
|
-
* @default "exclude"
|
|
1403
|
+
* @default "preload-exclude"
|
|
952
1404
|
*/
|
|
953
1405
|
excludeAttribute?: string;
|
|
954
1406
|
}
|
|
1407
|
+
/**
|
|
1408
|
+
* Adds "<link rel=preload>" tags to the "<head>" for the dependencies of the scripts and stylesheets marked with "preload"
|
|
1409
|
+
* (attribute names configurable via HtmlPreloadOptions), so the browser starts fetching them before parsing gets that far.
|
|
1410
|
+
*
|
|
1411
|
+
* Attributes:
|
|
1412
|
+
*
|
|
1413
|
+
* - "preload": marks the tag. Its value narrows what to emit to a space-separated list of "script", "style", "fetch", "font",
|
|
1414
|
+
* "audio", "video" and "image"; an empty value means all of them.
|
|
1415
|
+
* - "preload-include" and "preload-exclude": semicolon-separated glob patterns, matched against paths relative to the project root.
|
|
1416
|
+
*
|
|
1417
|
+
* Notes:
|
|
1418
|
+
*
|
|
1419
|
+
* - Production only; in development the three attributes are just stripped.
|
|
1420
|
+
* - Handles "<script>", "<style>" and "<link rel=stylesheet>" tags. The attribute on any other tag emits nothing.
|
|
1421
|
+
* - The dependency walk covers the whole graph behind the tag (imports, "@import", "url()") plus the file it points at, and files
|
|
1422
|
+
* whose extension has no known "as" type are skipped.
|
|
1423
|
+
* - The links are appended at the end of "<head>", so they come after whatever the page already has there.
|
|
1424
|
+
*/
|
|
955
1425
|
declare function htmlPreloadPlugin(options?: HtmlPreloadOptions): Plugin;
|
|
956
1426
|
//#endregion
|
|
957
1427
|
//#region src/plugins/core-plugins/html-metadata/html-metadata-plugin.d.ts
|
|
@@ -963,6 +1433,19 @@ interface CoreHtmlPluginOptions {
|
|
|
963
1433
|
*/
|
|
964
1434
|
minifyAttribute?: string;
|
|
965
1435
|
}
|
|
1436
|
+
/**
|
|
1437
|
+
* The HTML half of the core pipeline: parses a page into a document, splits its "<script>" and "<style>" tags into metadata of
|
|
1438
|
+
* their own, and prints the whole thing back out.
|
|
1439
|
+
*
|
|
1440
|
+
* Notes:
|
|
1441
|
+
*
|
|
1442
|
+
* - Each inline script or style is tied to its tag by an internal id attribute, which is stripped from the printed output.
|
|
1443
|
+
* - Sources come from the page's links plus the sources of every extracted script and style, so an import inside an inline script
|
|
1444
|
+
* counts as a dependency of the page.
|
|
1445
|
+
* - A "minify" attribute on a single tag minifies just that tag regardless of the build settings, and when the rest of the page is
|
|
1446
|
+
* formatted such a tag is preceded by a "prettier-ignore" comment so it stays that way.
|
|
1447
|
+
* - Rebasing a page carries its inline scripts and styles along with it.
|
|
1448
|
+
*/
|
|
966
1449
|
declare function coreHtmlPlugin(options?: CoreHtmlPluginOptions): Plugin;
|
|
967
1450
|
//#endregion
|
|
968
1451
|
//#region src/plugins/core-plugins/markdown-metadata/markdown-metadata-plugin.d.ts
|
|
@@ -996,28 +1479,85 @@ interface CoreMarkdownPluginOptions {
|
|
|
996
1479
|
*/
|
|
997
1480
|
allowDangerousHtml?: boolean;
|
|
998
1481
|
}
|
|
1482
|
+
/**
|
|
1483
|
+
* The markdown half of the core pipeline: parses ".md" files with remark, exposes their YAML front matter, and renders them to
|
|
1484
|
+
* HTML on demand through "ast.render()".
|
|
1485
|
+
*
|
|
1486
|
+
* The remark chain is front matter, GFM and smartypants, then "remarkPlugins"; rendering runs remark-rehype, heading slugs and
|
|
1487
|
+
* external links (opened in a new tab, with "noopener noreferrer"), then "rehypePlugins".
|
|
1488
|
+
*
|
|
1489
|
+
* Notes:
|
|
1490
|
+
*
|
|
1491
|
+
* - Raw HTML inside the markdown is dropped unless "allowDangerousHtml" is on.
|
|
1492
|
+
* - Front matter is only read from the very first node, and only when it is a YAML block.
|
|
1493
|
+
* - Links and images are reported as sources, so they get resolved and rebased; anything inside raw HTML is not.
|
|
1494
|
+
* - Printing this metadata gives markdown back, not HTML.
|
|
1495
|
+
*/
|
|
999
1496
|
declare function coreMarkdownPlugin(options?: CoreMarkdownPluginOptions): Plugin;
|
|
1000
1497
|
//#endregion
|
|
1001
1498
|
//#region src/plugins/core-plugins/script-metadata/script-metadata-plugin.d.ts
|
|
1499
|
+
/**
|
|
1500
|
+
* The script half of the core pipeline: loads JavaScript and TypeScript files (".js", ".mjs", ".cjs", ".jsx", ".ts", ".mts",
|
|
1501
|
+
* ".cts", ".tsx") into a Babel AST, prints them back out, and reports their imports as sources.
|
|
1502
|
+
*
|
|
1503
|
+
* Notes:
|
|
1504
|
+
*
|
|
1505
|
+
* - Loading only parses. Stripping types and JSX is transformJsPlugin's job.
|
|
1506
|
+
* - Printing goes through Babel; "format" hands the result to prettier and "minify" to SWC, which is told whether the file is a
|
|
1507
|
+
* module or a classic script.
|
|
1508
|
+
*/
|
|
1002
1509
|
declare function coreScriptPlugin(): Plugin;
|
|
1003
1510
|
//#endregion
|
|
1004
1511
|
//#region src/plugins/core-plugins/style-metadata/style-metadata-plugin.d.ts
|
|
1512
|
+
/**
|
|
1513
|
+
* The style half of the core pipeline: loads ".css" files into a PostCSS AST, prints them back out, and reports their "@import"
|
|
1514
|
+
* and "url()" references as sources.
|
|
1515
|
+
*
|
|
1516
|
+
* Notes:
|
|
1517
|
+
*
|
|
1518
|
+
* - "format" hands the result to prettier; "minify" runs Lightning CSS against the project's browserslist, resolved once and reused
|
|
1519
|
+
* for the rest of the build.
|
|
1520
|
+
*/
|
|
1005
1521
|
declare function coreStylePlugin(): Plugin;
|
|
1006
1522
|
//#endregion
|
|
1007
1523
|
//#region src/plugins/core-plugins/svg-metadata/svg-metadata-plugin.d.ts
|
|
1524
|
+
/**
|
|
1525
|
+
* The SVG half of the core pipeline: parses ".svg" files as documents, splits their "<style>" tags into metadata of their own,
|
|
1526
|
+
* and prints them back out.
|
|
1527
|
+
*
|
|
1528
|
+
* Notes:
|
|
1529
|
+
*
|
|
1530
|
+
* - Sources come from the document's own links plus the sources of the extracted styles.
|
|
1531
|
+
* - "format" runs prettier as HTML, and "minify" goes through the HTML minifier.
|
|
1532
|
+
*/
|
|
1008
1533
|
declare function coreSvgPlugin(): Plugin;
|
|
1009
1534
|
//#endregion
|
|
1010
1535
|
//#region src/plugins/core-plugins/web-manifest-metadata/web-manifest-metadata-plugin.d.ts
|
|
1536
|
+
/**
|
|
1537
|
+
* The web app manifest half of the core pipeline: loads a "manifest.json" as JSON data and reports the assets it points at.
|
|
1538
|
+
*
|
|
1539
|
+
* Notes:
|
|
1540
|
+
*
|
|
1541
|
+
* - Detection is by file name, so a manifest under a different name is only picked up when the type is passed explicitly.
|
|
1542
|
+
* - Icons, screenshots and shortcut icons are reported as sources, so their paths are resolved and rebased with everything else.
|
|
1543
|
+
* - Printing gives compact JSON, or indented when formatting.
|
|
1544
|
+
*/
|
|
1011
1545
|
declare function coreWebManifestPlugin(): Plugin;
|
|
1012
1546
|
//#endregion
|
|
1013
1547
|
//#region src/plugins/core-plugins/development-server/development-server-plugin.d.ts
|
|
1548
|
+
/** What the serve command hands over through `app.pluginData`, taking precedence over the plugin options for that run. */
|
|
1549
|
+
interface DevelopmentServerOverrides {
|
|
1550
|
+
host?: boolean | string;
|
|
1551
|
+
}
|
|
1552
|
+
declare const DEVELOPMENT_SERVER_OVERRIDES = "development-server";
|
|
1014
1553
|
interface DevelopmentServerOptions {
|
|
1015
1554
|
/**
|
|
1016
|
-
*
|
|
1555
|
+
* Where the dev server listens. `true` listens on every address, so the site is reachable from other devices on the network; a
|
|
1556
|
+
* string is a specific address to listen on. The `--host` flag of the serve command turns this on for one run.
|
|
1017
1557
|
*
|
|
1018
|
-
* @default
|
|
1558
|
+
* @default false
|
|
1019
1559
|
*/
|
|
1020
|
-
host?: string;
|
|
1560
|
+
host?: boolean | string;
|
|
1021
1561
|
/**
|
|
1022
1562
|
* The dev server port.
|
|
1023
1563
|
*
|
|
@@ -1030,7 +1570,30 @@ interface DevelopmentServerOptions {
|
|
|
1030
1570
|
* @default /
|
|
1031
1571
|
*/
|
|
1032
1572
|
entry?: string;
|
|
1573
|
+
/**
|
|
1574
|
+
* Files in the public directory are served from the root as a fallback.
|
|
1575
|
+
*
|
|
1576
|
+
* @default "public"
|
|
1577
|
+
*/
|
|
1578
|
+
publicDirectory?: string;
|
|
1033
1579
|
}
|
|
1580
|
+
/**
|
|
1581
|
+
* The dev server: serves the build from memory over Fastify, compiles pages on demand, and pushes updates to the browser over a
|
|
1582
|
+
* web socket.
|
|
1583
|
+
*
|
|
1584
|
+
* Notes:
|
|
1585
|
+
*
|
|
1586
|
+
* - Development only.
|
|
1587
|
+
* - A request is answered from what is already compiled; otherwise the path is resolved to an entry point and compiled on the spot,
|
|
1588
|
+
* with a directory path getting "index.html" appended. Anything that is not an entry point falls through to the static handler,
|
|
1589
|
+
* which serves the project root and the public directory.
|
|
1590
|
+
* - The reload script is injected into HTML entry points as they are served, so it never exists in the built output.
|
|
1591
|
+
* - On a change, the affected pages are recompiled in dependency order and metadata nothing references any more is dropped. If only
|
|
1592
|
+
* CSS changed the stylesheets are swapped in place, otherwise the page reloads.
|
|
1593
|
+
* - Compiled pages are trimmed to the number of connected clients, dropping the least recently served ones.
|
|
1594
|
+
* - Closing the app drops the connected clients and stops the server, which frees the port for the next one; the browser reloads
|
|
1595
|
+
* itself as soon as it reconnects.
|
|
1596
|
+
*/
|
|
1034
1597
|
declare function developmentServerPlugin(options?: DevelopmentServerOptions): Plugin;
|
|
1035
1598
|
//#endregion
|
|
1036
1599
|
//#region src/plugins/cli-plugins/build/build-cli-plugin.d.ts
|
|
@@ -1048,6 +1611,14 @@ interface BuildCliPluginOptions {
|
|
|
1048
1611
|
*/
|
|
1049
1612
|
aliases?: string[];
|
|
1050
1613
|
}
|
|
1614
|
+
/**
|
|
1615
|
+
* Adds the "build" command (aliased "b"): runs the pipeline once in production mode and reports how long it took.
|
|
1616
|
+
*
|
|
1617
|
+
* Notes:
|
|
1618
|
+
*
|
|
1619
|
+
* - The command owns the run. It forces production mode onto the config and creates its own App.
|
|
1620
|
+
* - "--measure" turns on per-plugin hook timing and prints the report when the build finishes.
|
|
1621
|
+
*/
|
|
1051
1622
|
declare function buildCliPlugin(options?: BuildCliPluginOptions): Plugin;
|
|
1052
1623
|
//#endregion
|
|
1053
1624
|
//#region src/plugins/cli-plugins/convert-fonts/convert-fonts-cli-plugin.d.ts
|
|
@@ -1083,6 +1654,15 @@ interface ConvertFontsCliPluginOptions {
|
|
|
1083
1654
|
*/
|
|
1084
1655
|
outDir?: string;
|
|
1085
1656
|
}
|
|
1657
|
+
/**
|
|
1658
|
+
* Adds the "convert-fonts" command (aliased "woff2"): converts the TTF files matched by "--fonts" to WOFF2.
|
|
1659
|
+
*
|
|
1660
|
+
* Notes:
|
|
1661
|
+
*
|
|
1662
|
+
* - The options given here become the defaults of the matching flags; a flag left without one has to be passed on the command line.
|
|
1663
|
+
* - Every font lands directly in "--out-dir" under its own name, so the source directory structure is flattened and fonts that
|
|
1664
|
+
* share a name overwrite each other.
|
|
1665
|
+
*/
|
|
1086
1666
|
declare function convertFontsCliPlugin(options?: ConvertFontsCliPluginOptions): Plugin;
|
|
1087
1667
|
//#endregion
|
|
1088
1668
|
//#region src/plugins/cli-plugins/generate-font-face/generate-font-face-cli-plugin.d.ts
|
|
@@ -1120,10 +1700,20 @@ interface GenerateFontFacesCliPluginOptions {
|
|
|
1120
1700
|
/**
|
|
1121
1701
|
* The default value of the `fontDisplay` option.
|
|
1122
1702
|
*
|
|
1123
|
-
* @default "
|
|
1703
|
+
* @default "swap"
|
|
1124
1704
|
*/
|
|
1125
1705
|
fontDisplay?: "auto" | "block" | "swap" | "fallback" | "optional";
|
|
1126
1706
|
}
|
|
1707
|
+
/**
|
|
1708
|
+
* Adds the "fontface" command (aliased "font"): writes one stylesheet of "@font-face" rules for the fonts matched by "--fonts".
|
|
1709
|
+
*
|
|
1710
|
+
* Notes:
|
|
1711
|
+
*
|
|
1712
|
+
* - Family, weight and style are read from the font's own tables, not from its file name, and the format comes from the extension.
|
|
1713
|
+
* - The "src" path of each rule is written relative to "--css-out", and the file is overwritten as a whole on every run.
|
|
1714
|
+
* - The options given here become the defaults of the matching flags; "--font-display" falls back to "swap".
|
|
1715
|
+
* - Matching no font at all is reported and nothing is written.
|
|
1716
|
+
*/
|
|
1127
1717
|
declare function generateFontFacesCliPlugin(options?: GenerateFontFacesCliPluginOptions): Plugin;
|
|
1128
1718
|
//#endregion
|
|
1129
1719
|
//#region src/plugins/cli-plugins/material-you/material-you/types.d.ts
|
|
@@ -1164,6 +1754,17 @@ interface MaterialYouCliPluginOptions {
|
|
|
1164
1754
|
*/
|
|
1165
1755
|
raw?: boolean;
|
|
1166
1756
|
}
|
|
1757
|
+
/**
|
|
1758
|
+
* Adds the "palette" command (aliased "material-you"): generates a Material You palette from a seed color and prints it.
|
|
1759
|
+
*
|
|
1760
|
+
* Notes:
|
|
1761
|
+
*
|
|
1762
|
+
* - "--color" takes a full "#RRGGBB" hex; anything else is rejected.
|
|
1763
|
+
* - "--format css" prints formatted custom properties ("--clr-*", with the seed and style recorded), "--format json" prints the raw
|
|
1764
|
+
* tone arrays. The pure black and white ends are left out of the CSS.
|
|
1765
|
+
* - The output is syntax highlighted unless "--raw" is passed, which is what you want when redirecting into a file.
|
|
1766
|
+
* - Nothing is written to disk; the palette goes to stdout.
|
|
1767
|
+
*/
|
|
1167
1768
|
declare function materialYouCliPlugin(options?: MaterialYouCliPluginOptions): Plugin;
|
|
1168
1769
|
//#endregion
|
|
1169
1770
|
//#region src/plugins/cli-plugins/serve/serve-cli-plugin.d.ts
|
|
@@ -1181,7 +1782,19 @@ interface ServeCliPluginOptions {
|
|
|
1181
1782
|
*/
|
|
1182
1783
|
aliases?: string[];
|
|
1183
1784
|
}
|
|
1785
|
+
/**
|
|
1786
|
+
* Adds the "serve" command (aliased "dev"): runs the pipeline in development mode, which is what starts the dev server.
|
|
1787
|
+
*
|
|
1788
|
+
* Notes:
|
|
1789
|
+
*
|
|
1790
|
+
* - The command owns the run. It forces development mode onto the config and creates its own App.
|
|
1791
|
+
* - Serving itself belongs to developmentServerPlugin; this only starts the app in the right mode.
|
|
1792
|
+
* - The config file is watched. When it changes it is loaded again, the running app is closed and a new one starts from the new
|
|
1793
|
+
* config. A config that fails to load leaves the running app alone; a new app that fails to start is closed, so nothing is
|
|
1794
|
+
* served until the next save. Plugins have to be created inside the config file: only that file is evaluated again, so plugin
|
|
1795
|
+
* objects imported from elsewhere would be the same ones the closed app used, and those are refused.
|
|
1796
|
+
*/
|
|
1184
1797
|
declare function serveCliPlugin(options?: ServeCliPluginOptions): Plugin;
|
|
1185
1798
|
//#endregion
|
|
1186
|
-
export { AnalyzeOutputOptions, BuildCliPluginOptions, BundlePackagesOptions, ConvertFontsCliPluginOptions, ConvertImageOptions, CopyAssetsOptions, CoreHtmlPluginOptions, CoreMarkdownPluginOptions, type CssLinear, CustomEasePluginOptions, DevelopmentServerOptions, GenerateFontFacesCliPluginOptions, HtmlBuildTimeScriptOptions, HtmlBundleScriptOptions, HtmlBundleStyleOptions, HtmlFragmentOptions, HtmlIifeScriptOptions, HtmlInlineScriptOptions, HtmlInlineStyleOptions, HtmlInlineSvgOptions, HtmlInlineSvgPlugin, HtmlInlineTextOptions, HtmlInsertOptions, HtmlLayoutOptions, HtmlMarkdownOptions, HtmlPagesOptions, HtmlPreloadOptions, I18nPluginOptions, ImageFormat, ImagePreset, type ImportAsStringOptions, LoadSourcesPluginOptions, MaterialYouCliPluginOptions, RobotsTextOptions, ServeCliPluginOptions, ServiceWorkerOptions, SitemapOptions, TransformCssOptions, TransformJsPluginOptions, WebManifestOptions, WriteFilesOptions, analyzeOutputPlugin, buildCliPlugin, bundlePackagesPlugin, convertFontsCliPlugin, convertImagePlugin, copyAssetsPlugin, coreHtmlPlugin, coreMarkdownPlugin, coreScriptPlugin, coreStylePlugin, coreSvgPlugin, coreWebManifestPlugin, customEasePlugin, developmentServerPlugin, generateFontFacesCliPlugin, htmlBuildTimeScript, htmlBundleScriptPlugin, htmlBundleStylePlugin, htmlFragmentPlugin, htmlIifeScriptPlugin, htmlInlineScriptPlugin, htmlInlineStylePlugin, htmlInlineTextPlugin, htmlInsertPlugin, htmlLayoutPlugin, htmlMarkdownPlugin, htmlMergeStylesPlugin, htmlPagesPlugin, htmlPreloadPlugin, svgoPlugin as htmlSvgoPlugin, svgoPlugin, i18nPlugin, importAsStringPlugin, type import_as_string, loadSourcesPlugin, materialYouCliPlugin, robotsTextPlugin, serveCliPlugin, serviceWorkerPlugin, sitemapPlugin, svgoOptions, transformCssPlugin, transformJsPlugin, webManifestPlugin, writeFilesPlugin };
|
|
1799
|
+
export { type AnalyzeOutputOptions, type BuildCliPluginOptions, type BundlePackagesOptions, type ConvertFontsCliPluginOptions, type ConvertImageOptions, type CopyAssetsOptions, type CoreHtmlPluginOptions, type CoreMarkdownPluginOptions, type CssLinear, type CustomEasePluginOptions, type DEVELOPMENT_SERVER_OVERRIDES, type DevelopmentServerOptions, type DevelopmentServerOverrides, type GenerateFontFacesCliPluginOptions, type HtmlBuildTimeScriptOptions, type HtmlBundleScriptOptions, type HtmlBundleStyleOptions, type HtmlEnvOnlyOptions, type HtmlFragmentOptions, type HtmlIifeScriptOptions, type HtmlInlineScriptOptions, type HtmlInlineStyleOptions, type HtmlInlineSvgOptions, HtmlInlineSvgPlugin, type HtmlInlineTextOptions, type HtmlInsertOptions, type HtmlLayoutOptions, type HtmlMarkdownOptions, type HtmlPagesOptions, type HtmlPreloadOptions, type I18nPluginOptions, type ImageFormat, type ImagePreset, type ImportAsStringOptions, type LoadSourcesPluginOptions, type MaterialYouCliPluginOptions, type RobotsTextOptions, type ServeCliPluginOptions, type ServiceWorkerOptions, type SitemapOptions, type TransformCssOptions, type TransformJsPluginOptions, type WebManifestOptions, type WriteFilesOptions, analyzeOutputPlugin, buildCliPlugin, bundlePackagesPlugin, convertFontsCliPlugin, convertImagePlugin, copyAssetsPlugin, coreHtmlPlugin, coreMarkdownPlugin, coreScriptPlugin, coreStylePlugin, coreSvgPlugin, coreWebManifestPlugin, customEasePlugin, developmentServerPlugin, generateFontFacesCliPlugin, htmlBuildTimeScript, htmlBundleScriptPlugin, htmlBundleStylePlugin, htmlEnvOnlyPlugin, htmlFragmentPlugin, htmlIifeScriptPlugin, htmlInlineScriptPlugin, htmlInlineStylePlugin, htmlInlineTextPlugin, htmlInsertPlugin, htmlLayoutPlugin, htmlMarkdownPlugin, htmlMergeStylesPlugin, htmlPagesPlugin, htmlPreloadPlugin, svgoPlugin as htmlSvgoPlugin, type svgoPlugin, i18nPlugin, importAsStringPlugin, type import_as_string, loadSourcesPlugin, materialYouCliPlugin, robotsTextPlugin, serveCliPlugin, serviceWorkerPlugin, sitemapPlugin, type svgoOptions, transformCssPlugin, transformJsPlugin, webManifestPlugin, writeFilesPlugin };
|
|
1187
1800
|
//# sourceMappingURL=index.d.mts.map
|