@web/rollup-plugin-html 3.0.0 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/RollupPluginHTMLOptions.d.ts +7 -3
- package/dist/RollupPluginHTMLOptions.d.ts.map +1 -1
- package/dist/output/emitAssets.d.ts.map +1 -1
- package/dist/output/emitAssets.js +9 -8
- package/dist/output/emitAssets.js.map +1 -1
- package/package.json +1 -1
- package/src/RollupPluginHTMLOptions.ts +7 -3
- package/src/output/emitAssets.ts +9 -8
|
@@ -15,9 +15,9 @@ export interface RollupPluginHTMLOptions {
|
|
|
15
15
|
input?: string | InputHTMLOptions | (string | InputHTMLOptions)[];
|
|
16
16
|
/** HTML file glob pattern or patterns to ignore */
|
|
17
17
|
exclude?: string | string[];
|
|
18
|
-
/** Whether to minify the output HTML. */
|
|
18
|
+
/** Whether to minify the output HTML. Defaults to false. */
|
|
19
19
|
minify?: boolean;
|
|
20
|
-
/** Whether to preserve or flatten the directory structure of the HTML file. */
|
|
20
|
+
/** Whether to preserve or flatten the directory structure of the HTML file. Defaults to true. */
|
|
21
21
|
flattenOutput?: boolean;
|
|
22
22
|
/** Directory to resolve absolute paths relative to, and to use as base for non-flatted filename output. */
|
|
23
23
|
rootDir?: string;
|
|
@@ -29,11 +29,15 @@ export interface RollupPluginHTMLOptions {
|
|
|
29
29
|
transformHtml?: TransformHtmlFunction | TransformHtmlFunction[];
|
|
30
30
|
/** Whether to extract and bundle assets referenced in HTML and CSS. Defaults to true. */
|
|
31
31
|
extractAssets?: boolean | 'legacy-html' | 'legacy-html-and-css';
|
|
32
|
+
/** Whether to bundle extracted CSS assets. Bundling is done via Lightning CSS. Defaults to true. */
|
|
33
|
+
bundleCss?: boolean;
|
|
34
|
+
/** Whether to minify extracted CSS assets. Minificaiton is done via Lightning CSS. Defaults to false. */
|
|
35
|
+
minifyCss?: boolean;
|
|
32
36
|
/** Whether to ignore assets referenced in HTML and CSS with glob patterns. */
|
|
33
37
|
externalAssets?: string | string[];
|
|
34
38
|
/** Define a full absolute url to your site (e.g. https://domain.com) */
|
|
35
39
|
absoluteBaseUrl?: string;
|
|
36
|
-
/** Whether to set full absolute urls for ['meta[property=og:image]', 'link[rel=canonical]', 'meta[property=og:url]'] or not. Requires a absoluteBaseUrl to be set.
|
|
40
|
+
/** Whether to set full absolute urls for ['meta[property=og:image]', 'link[rel=canonical]', 'meta[property=og:url]'] or not. Requires a absoluteBaseUrl to be set. Defaults to true. */
|
|
37
41
|
absoluteSocialMediaUrls?: boolean;
|
|
38
42
|
/** Should a service worker registration script be injected. Defaults to false. */
|
|
39
43
|
injectServiceWorker?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RollupPluginHTMLOptions.d.ts","sourceRoot":"","sources":["../src/RollupPluginHTMLOptions.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,MAAM,WAAW,gBAAgB;IAC/B,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,uBAAuB;IACtC,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,GAAG,gBAAgB,GAAG,CAAC,MAAM,GAAG,gBAAgB,CAAC,EAAE,CAAC;IAClE,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,
|
|
1
|
+
{"version":3,"file":"RollupPluginHTMLOptions.d.ts","sourceRoot":"","sources":["../src/RollupPluginHTMLOptions.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,MAAM,WAAW,gBAAgB;IAC/B,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,uBAAuB;IACtC,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,GAAG,gBAAgB,GAAG,CAAC,MAAM,GAAG,gBAAgB,CAAC,EAAE,CAAC;IAClE,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,4DAA4D;IAC5D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iGAAiG;IACjG,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,2GAA2G;IAC3G,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,cAAc,CAAC,EAAE,sBAAsB,GAAG,sBAAsB,EAAE,CAAC;IACnE,yCAAyC;IACzC,aAAa,CAAC,EAAE,qBAAqB,GAAG,qBAAqB,EAAE,CAAC;IAChE,yFAAyF;IACzF,aAAa,CAAC,EAAE,OAAO,GAAG,aAAa,GAAG,qBAAqB,CAAC;IAChE,oGAAoG;IACpG,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yGAAyG;IACzG,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8EAA8E;IAC9E,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACnC,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wLAAwL;IACxL,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,kFAAkF;IAClF,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,4DAA4D;IAC5D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,6IAA6I;IAC7I,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kIAAkI;IAClI,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACvD,WAAW,EAAE;QAGX,UAAU,EAAE,MAAM,CAAC;QAGnB,KAAK,EAAE,WAAW,CAAC;QACnB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;KAC1B,EAAE,CAAC;CACL;AAED,MAAM,WAAW,iBAAiB;IAOhC,MAAM,EAAE,gBAAgB,CAAC;IAGzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC1C,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,qBAAqB,GAAG,CAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,iBAAiB,KACpB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAE9B,MAAM,MAAM,sBAAsB,GAAG,CACnC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,KACb,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitAssets.d.ts","sourceRoot":"","sources":["../../src/output/emitAssets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAKvC,OAAO,EAAc,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG3D,OAAO,EAAE,uBAAuB,EAA0B,MAAM,4BAA4B,CAAC;AAE7F,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B;AAwBD,wBAAsB,UAAU,CAC9B,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,SAAS,EAAE,EACnB,OAAO,EAAE,uBAAuB;;;
|
|
1
|
+
{"version":3,"file":"emitAssets.d.ts","sourceRoot":"","sources":["../../src/output/emitAssets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAKvC,OAAO,EAAc,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG3D,OAAO,EAAE,uBAAuB,EAA0B,MAAM,4BAA4B,CAAC;AAE7F,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B;AAwBD,wBAAsB,UAAU,CAC9B,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,SAAS,EAAE,EACnB,OAAO,EAAE,uBAAuB;;;GA8IjC"}
|
|
@@ -28,8 +28,10 @@ function shouldHandleAsset(url) {
|
|
|
28
28
|
!url.startsWith('/'));
|
|
29
29
|
}
|
|
30
30
|
async function emitAssets(inputs, options) {
|
|
31
|
-
var _a;
|
|
31
|
+
var _a, _b, _c;
|
|
32
32
|
const extractAssets = (_a = options.extractAssets) !== null && _a !== void 0 ? _a : true;
|
|
33
|
+
const bundleCss = (_b = options.bundleCss) !== null && _b !== void 0 ? _b : true;
|
|
34
|
+
const minifyCss = (_c = options.minifyCss) !== null && _c !== void 0 ? _c : false;
|
|
33
35
|
const extractAssetsLegacyCss = options.extractAssets === 'legacy-html-and-css';
|
|
34
36
|
const emittedStaticAssets = new Map();
|
|
35
37
|
const emittedHashedAssets = new Map();
|
|
@@ -74,11 +76,10 @@ async function emitAssets(inputs, options) {
|
|
|
74
76
|
const emittedExternalAssets = new Map();
|
|
75
77
|
if (asset.hashed) {
|
|
76
78
|
if (basename.endsWith('.css') && extractAssets) {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
filename: basename,
|
|
79
|
+
const { code } = await (bundleCss ? lightningcss_1.bundleAsync : lightningcss_1.transform)({
|
|
80
|
+
filename: asset.filePath,
|
|
80
81
|
code: asset.content,
|
|
81
|
-
minify:
|
|
82
|
+
minify: minifyCss,
|
|
82
83
|
visitor: {
|
|
83
84
|
Url: url => {
|
|
84
85
|
// Support foo.svg#bar
|
|
@@ -134,13 +135,13 @@ async function emitAssets(inputs, options) {
|
|
|
134
135
|
}
|
|
135
136
|
}
|
|
136
137
|
}
|
|
137
|
-
updatedCssSource = true;
|
|
138
138
|
return url;
|
|
139
139
|
},
|
|
140
140
|
},
|
|
141
141
|
});
|
|
142
|
-
|
|
143
|
-
|
|
142
|
+
const codeBuffer = Buffer.from(code);
|
|
143
|
+
if (!asset.content.equals(codeBuffer)) {
|
|
144
|
+
source = codeBuffer;
|
|
144
145
|
}
|
|
145
146
|
}
|
|
146
147
|
ref = this.emitFile({ type: 'asset', name: basename, source });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitAssets.js","sourceRoot":"","sources":["../../src/output/emitAssets.ts"],"names":[],"mappings":";;;;;;AACA,gDAAwB;AACxB,+
|
|
1
|
+
{"version":3,"file":"emitAssets.js","sourceRoot":"","sources":["../../src/output/emitAssets.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -15,9 +15,9 @@ export interface RollupPluginHTMLOptions {
|
|
|
15
15
|
input?: string | InputHTMLOptions | (string | InputHTMLOptions)[];
|
|
16
16
|
/** HTML file glob pattern or patterns to ignore */
|
|
17
17
|
exclude?: string | string[];
|
|
18
|
-
/** Whether to minify the output HTML. */
|
|
18
|
+
/** Whether to minify the output HTML. Defaults to false. */
|
|
19
19
|
minify?: boolean;
|
|
20
|
-
/** Whether to preserve or flatten the directory structure of the HTML file. */
|
|
20
|
+
/** Whether to preserve or flatten the directory structure of the HTML file. Defaults to true. */
|
|
21
21
|
flattenOutput?: boolean;
|
|
22
22
|
/** Directory to resolve absolute paths relative to, and to use as base for non-flatted filename output. */
|
|
23
23
|
rootDir?: string;
|
|
@@ -29,11 +29,15 @@ export interface RollupPluginHTMLOptions {
|
|
|
29
29
|
transformHtml?: TransformHtmlFunction | TransformHtmlFunction[];
|
|
30
30
|
/** Whether to extract and bundle assets referenced in HTML and CSS. Defaults to true. */
|
|
31
31
|
extractAssets?: boolean | 'legacy-html' | 'legacy-html-and-css';
|
|
32
|
+
/** Whether to bundle extracted CSS assets. Bundling is done via Lightning CSS. Defaults to true. */
|
|
33
|
+
bundleCss?: boolean;
|
|
34
|
+
/** Whether to minify extracted CSS assets. Minificaiton is done via Lightning CSS. Defaults to false. */
|
|
35
|
+
minifyCss?: boolean;
|
|
32
36
|
/** Whether to ignore assets referenced in HTML and CSS with glob patterns. */
|
|
33
37
|
externalAssets?: string | string[];
|
|
34
38
|
/** Define a full absolute url to your site (e.g. https://domain.com) */
|
|
35
39
|
absoluteBaseUrl?: string;
|
|
36
|
-
/** Whether to set full absolute urls for ['meta[property=og:image]', 'link[rel=canonical]', 'meta[property=og:url]'] or not. Requires a absoluteBaseUrl to be set.
|
|
40
|
+
/** Whether to set full absolute urls for ['meta[property=og:image]', 'link[rel=canonical]', 'meta[property=og:url]'] or not. Requires a absoluteBaseUrl to be set. Defaults to true. */
|
|
37
41
|
absoluteSocialMediaUrls?: boolean;
|
|
38
42
|
/** Should a service worker registration script be injected. Defaults to false. */
|
|
39
43
|
injectServiceWorker?: boolean;
|
package/src/output/emitAssets.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PluginContext } from 'rollup';
|
|
2
2
|
import path from 'path';
|
|
3
|
-
import { transform } from 'lightningcss';
|
|
3
|
+
import { bundleAsync, transform } from 'lightningcss';
|
|
4
4
|
import fs from 'fs';
|
|
5
5
|
|
|
6
6
|
import { InputAsset, InputData } from '../input/InputData';
|
|
@@ -41,6 +41,8 @@ export async function emitAssets(
|
|
|
41
41
|
options: RollupPluginHTMLOptions,
|
|
42
42
|
) {
|
|
43
43
|
const extractAssets = options.extractAssets ?? true;
|
|
44
|
+
const bundleCss = options.bundleCss ?? true;
|
|
45
|
+
const minifyCss = options.minifyCss ?? false;
|
|
44
46
|
const extractAssetsLegacyCss = options.extractAssets === 'legacy-html-and-css';
|
|
45
47
|
const emittedStaticAssets = new Map<string, string>();
|
|
46
48
|
const emittedHashedAssets = new Map<string, string>();
|
|
@@ -89,11 +91,10 @@ export async function emitAssets(
|
|
|
89
91
|
const emittedExternalAssets = new Map();
|
|
90
92
|
if (asset.hashed) {
|
|
91
93
|
if (basename.endsWith('.css') && extractAssets) {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
filename: basename,
|
|
94
|
+
const { code } = await (bundleCss ? bundleAsync : transform)({
|
|
95
|
+
filename: asset.filePath,
|
|
95
96
|
code: asset.content,
|
|
96
|
-
minify:
|
|
97
|
+
minify: minifyCss,
|
|
97
98
|
visitor: {
|
|
98
99
|
Url: url => {
|
|
99
100
|
// Support foo.svg#bar
|
|
@@ -150,13 +151,13 @@ export async function emitAssets(
|
|
|
150
151
|
}
|
|
151
152
|
}
|
|
152
153
|
}
|
|
153
|
-
updatedCssSource = true;
|
|
154
154
|
return url;
|
|
155
155
|
},
|
|
156
156
|
},
|
|
157
157
|
});
|
|
158
|
-
|
|
159
|
-
|
|
158
|
+
const codeBuffer = Buffer.from(code);
|
|
159
|
+
if (!asset.content.equals(codeBuffer)) {
|
|
160
|
+
source = codeBuffer;
|
|
160
161
|
}
|
|
161
162
|
}
|
|
162
163
|
|