@web/rollup-plugin-html 0.0.0-canary-20230416222938 → 0.0.0-canary-20231122093600
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 +2 -2
- package/dist/RollupPluginHTMLOptions.d.ts.map +1 -1
- package/dist/RollupPluginHTMLOptions.js +1 -2
- package/dist/assets/utils.js +31 -43
- package/dist/assets/utils.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -6
- package/dist/index.js.map +1 -1
- package/dist/input/InputData.js +1 -2
- package/dist/input/addRollupInput.d.ts +1 -1
- package/dist/input/addRollupInput.d.ts.map +1 -1
- package/dist/input/addRollupInput.js +23 -16
- package/dist/input/addRollupInput.js.map +1 -1
- package/dist/input/extract/extractAssets.d.ts +1 -1
- package/dist/input/extract/extractAssets.d.ts.map +1 -1
- package/dist/input/extract/extractAssets.js +13 -20
- package/dist/input/extract/extractAssets.js.map +1 -1
- package/dist/input/extract/extractModules.d.ts +1 -1
- package/dist/input/extract/extractModules.d.ts.map +1 -1
- package/dist/input/extract/extractModules.js +16 -23
- package/dist/input/extract/extractModules.js.map +1 -1
- package/dist/input/extract/extractModulesAndAssets.d.ts +3 -3
- package/dist/input/extract/extractModulesAndAssets.js +10 -17
- package/dist/input/extract/extractModulesAndAssets.js.map +1 -1
- package/dist/input/getInputData.d.ts +2 -2
- package/dist/input/getInputData.d.ts.map +1 -1
- package/dist/input/getInputData.js +19 -27
- package/dist/input/getInputData.js.map +1 -1
- package/dist/input/normalizeInputOptions.d.ts +1 -1
- package/dist/input/normalizeInputOptions.d.ts.map +1 -1
- package/dist/input/normalizeInputOptions.js +5 -9
- package/dist/input/normalizeInputOptions.js.map +1 -1
- package/dist/output/createHTMLOutput.d.ts +3 -3
- package/dist/output/createHTMLOutput.d.ts.map +1 -1
- package/dist/output/createHTMLOutput.js +9 -14
- package/dist/output/createHTMLOutput.js.map +1 -1
- package/dist/output/emitAssets.js +4 -11
- package/dist/output/emitAssets.js.map +1 -1
- package/dist/output/getEntrypointBundles.js +12 -21
- package/dist/output/getEntrypointBundles.js.map +1 -1
- package/dist/output/getOutputHTML.d.ts +1 -1
- package/dist/output/getOutputHTML.d.ts.map +1 -1
- package/dist/output/getOutputHTML.js +20 -35
- package/dist/output/getOutputHTML.js.map +1 -1
- package/dist/output/hashInlineScripts.js +19 -23
- package/dist/output/hashInlineScripts.js.map +1 -1
- package/dist/output/injectAbsoluteBaseUrl.js +10 -14
- package/dist/output/injectAbsoluteBaseUrl.js.map +1 -1
- package/dist/output/injectBundles.d.ts +1 -1
- package/dist/output/injectBundles.d.ts.map +1 -1
- package/dist/output/injectBundles.js +10 -15
- package/dist/output/injectBundles.js.map +1 -1
- package/dist/output/injectServiceWorkerRegistration.js +10 -17
- package/dist/output/injectServiceWorkerRegistration.js.map +1 -1
- package/dist/output/injectedUpdatedAssetPaths.d.ts +2 -2
- package/dist/output/injectedUpdatedAssetPaths.d.ts.map +1 -1
- package/dist/output/injectedUpdatedAssetPaths.js +21 -28
- package/dist/output/injectedUpdatedAssetPaths.js.map +1 -1
- package/dist/output/utils.js +3 -10
- package/dist/output/utils.js.map +1 -1
- package/dist/rollupPluginHTML.d.ts +2 -2
- package/dist/rollupPluginHTML.d.ts.map +1 -1
- package/dist/rollupPluginHTML.js +24 -31
- package/dist/rollupPluginHTML.js.map +1 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +2 -6
- package/dist/utils.js.map +1 -1
- package/index.mjs +1 -4
- package/package.json +10 -8
- package/src/assets/utils.ts +1 -1
- package/src/index.ts +2 -2
- package/src/input/addRollupInput.ts +2 -2
- package/src/input/extract/extractAssets.ts +2 -2
- package/src/input/extract/extractModules.ts +2 -2
- package/src/input/extract/extractModulesAndAssets.ts +2 -2
- package/src/input/getInputData.ts +8 -8
- package/src/input/normalizeInputOptions.ts +2 -2
- package/src/output/createHTMLOutput.ts +6 -6
- package/src/output/getEntrypointBundles.ts +2 -2
- package/src/output/getOutputHTML.ts +6 -6
- package/src/output/injectBundles.ts +2 -2
- package/src/output/injectedUpdatedAssetPaths.ts +5 -5
- package/src/rollupPluginHTML.ts +7 -7
- package/src/utils.ts +1 -1
|
@@ -63,6 +63,6 @@ export interface TransformHtmlArgs {
|
|
|
63
63
|
bundles: Record<string, EntrypointBundle>;
|
|
64
64
|
htmlFileName: string;
|
|
65
65
|
}
|
|
66
|
-
export
|
|
67
|
-
export
|
|
66
|
+
export type TransformHtmlFunction = (html: string, args: TransformHtmlArgs) => string | Promise<string>;
|
|
67
|
+
export type TransformAssetFunction = (content: Buffer, filePath: string) => string | Buffer | Promise<string | Buffer>;
|
|
68
68
|
//# sourceMappingURL=RollupPluginHTMLOptions.d.ts.map
|
|
@@ -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,yCAAyC;IACzC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,+EAA+E;IAC/E,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,iFAAiF;IACjF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uLAAuL;IACvL,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,
|
|
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,yCAAyC;IACzC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,+EAA+E;IAC/E,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,iFAAiF;IACjF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uLAAuL;IACvL,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"}
|
package/dist/assets/utils.js
CHANGED
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.findAssets = exports.getSourcePaths = exports.getSourceAttribute = exports.resolveAssetFilePath = exports.isHashedAsset = void 0;
|
|
7
|
-
const path_1 = __importDefault(require("path"));
|
|
8
|
-
const parse5_utils_1 = require("@web/parse5-utils");
|
|
9
|
-
const utils_1 = require("../utils");
|
|
10
|
-
const v8_1 = require("v8");
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import { findElements, getTagName, getAttribute } from '@web/parse5-utils';
|
|
3
|
+
import { createError } from '../utils.js';
|
|
4
|
+
import { serialize } from 'v8';
|
|
11
5
|
const hashedLinkRels = ['stylesheet'];
|
|
12
6
|
const linkRels = [...hashedLinkRels, 'icon', 'manifest', 'apple-touch-icon', 'mask-icon'];
|
|
13
7
|
function getSrcSetUrls(srcset) {
|
|
@@ -21,7 +15,7 @@ function getSrcSetUrls(srcset) {
|
|
|
21
15
|
return urls;
|
|
22
16
|
}
|
|
23
17
|
function extractFirstUrlOfSrcSet(node) {
|
|
24
|
-
const srcset =
|
|
18
|
+
const srcset = getAttribute(node, 'srcset');
|
|
25
19
|
if (!srcset) {
|
|
26
20
|
return '';
|
|
27
21
|
}
|
|
@@ -29,33 +23,32 @@ function extractFirstUrlOfSrcSet(node) {
|
|
|
29
23
|
return urls[0];
|
|
30
24
|
}
|
|
31
25
|
function isAsset(node) {
|
|
32
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
33
26
|
let path = '';
|
|
34
|
-
switch (
|
|
27
|
+
switch (getTagName(node)) {
|
|
35
28
|
case 'img':
|
|
36
|
-
path =
|
|
29
|
+
path = getAttribute(node, 'src') ?? '';
|
|
37
30
|
break;
|
|
38
31
|
case 'source':
|
|
39
|
-
if (
|
|
40
|
-
path =
|
|
32
|
+
if (getAttribute(node, 'src')) {
|
|
33
|
+
path = getAttribute(node, 'src') ?? '';
|
|
41
34
|
}
|
|
42
35
|
else {
|
|
43
|
-
path =
|
|
36
|
+
path = extractFirstUrlOfSrcSet(node) ?? '';
|
|
44
37
|
}
|
|
45
38
|
break;
|
|
46
39
|
case 'link':
|
|
47
|
-
if (linkRels.includes(
|
|
48
|
-
path =
|
|
40
|
+
if (linkRels.includes(getAttribute(node, 'rel') ?? '')) {
|
|
41
|
+
path = getAttribute(node, 'href') ?? '';
|
|
49
42
|
}
|
|
50
43
|
break;
|
|
51
44
|
case 'meta':
|
|
52
|
-
if (
|
|
53
|
-
path =
|
|
45
|
+
if (getAttribute(node, 'property') === 'og:image' && getAttribute(node, 'content')) {
|
|
46
|
+
path = getAttribute(node, 'content') ?? '';
|
|
54
47
|
}
|
|
55
48
|
break;
|
|
56
49
|
case 'script':
|
|
57
|
-
if (
|
|
58
|
-
path =
|
|
50
|
+
if (getAttribute(node, 'type') !== 'module' && getAttribute(node, 'src')) {
|
|
51
|
+
path = getAttribute(node, 'src') ?? '';
|
|
59
52
|
}
|
|
60
53
|
break;
|
|
61
54
|
default:
|
|
@@ -72,8 +65,8 @@ function isAsset(node) {
|
|
|
72
65
|
return true;
|
|
73
66
|
}
|
|
74
67
|
}
|
|
75
|
-
function isHashedAsset(node) {
|
|
76
|
-
switch (
|
|
68
|
+
export function isHashedAsset(node) {
|
|
69
|
+
switch (getTagName(node)) {
|
|
77
70
|
case 'img':
|
|
78
71
|
return true;
|
|
79
72
|
case 'source':
|
|
@@ -81,28 +74,26 @@ function isHashedAsset(node) {
|
|
|
81
74
|
case 'script':
|
|
82
75
|
return true;
|
|
83
76
|
case 'link':
|
|
84
|
-
return hashedLinkRels.includes(
|
|
77
|
+
return hashedLinkRels.includes(getAttribute(node, 'rel'));
|
|
85
78
|
case 'meta':
|
|
86
79
|
return true;
|
|
87
80
|
default:
|
|
88
81
|
return false;
|
|
89
82
|
}
|
|
90
83
|
}
|
|
91
|
-
|
|
92
|
-
function resolveAssetFilePath(browserPath, htmlDir, projectRootDir, absolutePathPrefix) {
|
|
84
|
+
export function resolveAssetFilePath(browserPath, htmlDir, projectRootDir, absolutePathPrefix) {
|
|
93
85
|
const _browserPath = absolutePathPrefix && browserPath[0] === '/'
|
|
94
|
-
? '/' +
|
|
86
|
+
? '/' + path.posix.relative(absolutePathPrefix, browserPath)
|
|
95
87
|
: browserPath;
|
|
96
|
-
return
|
|
88
|
+
return path.join(_browserPath.startsWith('/') ? projectRootDir : htmlDir, _browserPath.split('/').join(path.sep));
|
|
97
89
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
switch (parse5_utils_1.getTagName(node)) {
|
|
90
|
+
export function getSourceAttribute(node) {
|
|
91
|
+
switch (getTagName(node)) {
|
|
101
92
|
case 'img': {
|
|
102
93
|
return 'src';
|
|
103
94
|
}
|
|
104
95
|
case 'source': {
|
|
105
|
-
return
|
|
96
|
+
return getAttribute(node, 'src') ? 'src' : 'srcset';
|
|
106
97
|
}
|
|
107
98
|
case 'link': {
|
|
108
99
|
return 'href';
|
|
@@ -114,15 +105,14 @@ function getSourceAttribute(node) {
|
|
|
114
105
|
return 'content';
|
|
115
106
|
}
|
|
116
107
|
default:
|
|
117
|
-
throw new Error(`Unknown node with tagname ${
|
|
108
|
+
throw new Error(`Unknown node with tagname ${getTagName(node)}`);
|
|
118
109
|
}
|
|
119
110
|
}
|
|
120
|
-
|
|
121
|
-
function getSourcePaths(node) {
|
|
111
|
+
export function getSourcePaths(node) {
|
|
122
112
|
const key = getSourceAttribute(node);
|
|
123
|
-
const src =
|
|
113
|
+
const src = getAttribute(node, key);
|
|
124
114
|
if (typeof key !== 'string' || src === '') {
|
|
125
|
-
throw
|
|
115
|
+
throw createError(`Missing attribute ${key} in element ${serialize(node)}`);
|
|
126
116
|
}
|
|
127
117
|
let paths = [];
|
|
128
118
|
if (src) {
|
|
@@ -130,9 +120,7 @@ function getSourcePaths(node) {
|
|
|
130
120
|
}
|
|
131
121
|
return paths;
|
|
132
122
|
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
return parse5_utils_1.findElements(document, isAsset);
|
|
123
|
+
export function findAssets(document) {
|
|
124
|
+
return findElements(document, isAsset);
|
|
136
125
|
}
|
|
137
|
-
exports.findAssets = findAssets;
|
|
138
126
|
//# sourceMappingURL=utils.js.map
|
package/dist/assets/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/assets/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/assets/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { rollupPluginHTML, RollupPluginHtml } from './rollupPluginHTML';
|
|
2
|
-
export { InputHTMLOptions, RollupPluginHTMLOptions, GeneratedBundle, EntrypointBundle, TransformHtmlArgs, TransformHtmlFunction, TransformAssetFunction, } from './RollupPluginHTMLOptions';
|
|
1
|
+
import { rollupPluginHTML, RollupPluginHtml } from './rollupPluginHTML.js';
|
|
2
|
+
export { InputHTMLOptions, RollupPluginHTMLOptions, GeneratedBundle, EntrypointBundle, TransformHtmlArgs, TransformHtmlFunction, TransformAssetFunction, } from './RollupPluginHTMLOptions.js';
|
|
3
3
|
export { rollupPluginHTML, RollupPluginHtml };
|
|
4
4
|
export default rollupPluginHTML;
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE3E,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;AAC9C,eAAe,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const rollupPluginHTML_1 = require("./rollupPluginHTML");
|
|
5
|
-
Object.defineProperty(exports, "rollupPluginHTML", { enumerable: true, get: function () { return rollupPluginHTML_1.rollupPluginHTML; } });
|
|
6
|
-
exports.default = rollupPluginHTML_1.rollupPluginHTML;
|
|
1
|
+
import { rollupPluginHTML } from './rollupPluginHTML.js';
|
|
2
|
+
export { rollupPluginHTML };
|
|
3
|
+
export default rollupPluginHTML;
|
|
7
4
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAoB,MAAM,uBAAuB,CAAC;AAY3E,OAAO,EAAE,gBAAgB,EAAoB,CAAC;AAC9C,eAAe,gBAAgB,CAAC"}
|
package/dist/input/InputData.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { InputOptions } from 'rollup';
|
|
2
|
-
import { ScriptModuleTag } from '../RollupPluginHTMLOptions';
|
|
2
|
+
import { ScriptModuleTag } from '../RollupPluginHTMLOptions.js';
|
|
3
3
|
export declare function addRollupInput(inputOptions: InputOptions, inputModuleIds: ScriptModuleTag[]): InputOptions;
|
|
4
4
|
//# sourceMappingURL=addRollupInput.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addRollupInput.d.ts","sourceRoot":"","sources":["../../src/input/addRollupInput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"addRollupInput.d.ts","sourceRoot":"","sources":["../../src/input/addRollupInput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAWhE,wBAAgB,cAAc,CAC5B,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,eAAe,EAAE,GAChC,YAAY,CAuCd"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.addRollupInput = void 0;
|
|
4
|
-
const utils_1 = require("../utils");
|
|
1
|
+
import { createError } from '../utils.js';
|
|
5
2
|
function fromEntries(entries) {
|
|
6
3
|
const obj = {};
|
|
7
4
|
for (const [k, v] of entries) {
|
|
@@ -9,28 +6,38 @@ function fromEntries(entries) {
|
|
|
9
6
|
}
|
|
10
7
|
return obj;
|
|
11
8
|
}
|
|
12
|
-
function addRollupInput(inputOptions, inputModuleIds) {
|
|
13
|
-
var _a;
|
|
9
|
+
export function addRollupInput(inputOptions, inputModuleIds) {
|
|
14
10
|
// Add input module ids to existing input option, whether it's a string, array or object
|
|
15
11
|
// this way you can use multiple html plugins all adding their own inputs
|
|
16
12
|
if (!inputOptions.input) {
|
|
17
|
-
return
|
|
13
|
+
return { ...inputOptions, input: inputModuleIds.map(mod => mod.importPath) };
|
|
18
14
|
}
|
|
19
15
|
if (typeof inputOptions.input === 'string') {
|
|
20
|
-
return
|
|
21
|
-
|
|
16
|
+
return {
|
|
17
|
+
...inputOptions,
|
|
18
|
+
input: [
|
|
19
|
+
...(inputOptions?.input?.endsWith('.html') ? [] : [inputOptions.input]),
|
|
22
20
|
...inputModuleIds.map(mod => mod.importPath),
|
|
23
|
-
]
|
|
21
|
+
],
|
|
22
|
+
};
|
|
24
23
|
}
|
|
25
24
|
if (Array.isArray(inputOptions.input)) {
|
|
26
|
-
return
|
|
25
|
+
return {
|
|
26
|
+
...inputOptions,
|
|
27
|
+
input: [...inputOptions.input, ...inputModuleIds.map(mod => mod.importPath)],
|
|
28
|
+
};
|
|
27
29
|
}
|
|
28
30
|
if (typeof inputOptions.input === 'object') {
|
|
29
|
-
return
|
|
30
|
-
|
|
31
|
-
|
|
31
|
+
return {
|
|
32
|
+
...inputOptions,
|
|
33
|
+
input: {
|
|
34
|
+
...inputOptions.input,
|
|
35
|
+
...fromEntries(inputModuleIds
|
|
36
|
+
.map(mod => mod.importPath)
|
|
37
|
+
.map(i => [i.split('/').slice(-1)[0].split('.')[0], i])),
|
|
38
|
+
},
|
|
39
|
+
};
|
|
32
40
|
}
|
|
33
|
-
throw
|
|
41
|
+
throw createError(`Unknown rollup input type. Supported inputs are string, array and object.`);
|
|
34
42
|
}
|
|
35
|
-
exports.addRollupInput = addRollupInput;
|
|
36
43
|
//# sourceMappingURL=addRollupInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addRollupInput.js","sourceRoot":"","sources":["../../src/input/addRollupInput.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"addRollupInput.js","sourceRoot":"","sources":["../../src/input/addRollupInput.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,SAAS,WAAW,CAAI,OAAsB;IAC5C,MAAM,GAAG,GAAsB,EAAE,CAAC;IAClC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,EAAE;QAC5B,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;KACZ;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,YAA0B,EAC1B,cAAiC;IAEjC,wFAAwF;IACxF,yEAAyE;IACzE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;QACvB,OAAO,EAAE,GAAG,YAAY,EAAE,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;KAC9E;IAED,IAAI,OAAO,YAAY,CAAC,KAAK,KAAK,QAAQ,EAAE;QAC1C,OAAO;YACL,GAAG,YAAY;YACf,KAAK,EAAE;gBACL,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACvE,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC;aAC7C;SACF,CAAC;KACH;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;QACrC,OAAO;YACL,GAAG,YAAY;YACf,KAAK,EAAE,CAAC,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SAC7E,CAAC;KACH;IAED,IAAI,OAAO,YAAY,CAAC,KAAK,KAAK,QAAQ,EAAE;QAC1C,OAAO;YACL,GAAG,YAAY;YACf,KAAK,EAAE;gBACL,GAAG,YAAY,CAAC,KAAK;gBACrB,GAAG,WAAW,CACZ,cAAc;qBACX,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC;qBAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAC1D;aACF;SACF,CAAC;KACH;IAED,MAAM,WAAW,CAAC,2EAA2E,CAAC,CAAC;AACjG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractAssets.d.ts","sourceRoot":"","sources":["../../../src/input/extract/extractAssets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAa,MAAM,QAAQ,CAAC;AAG7C,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"extractAssets.d.ts","sourceRoot":"","sources":["../../../src/input/extract/extractAssets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAa,MAAM,QAAQ,CAAC;AAG7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAQ7C,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,UAAU,EAAE,CAiCvE"}
|
|
@@ -1,37 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const parse5_1 = require("parse5");
|
|
8
|
-
const fs_1 = __importDefault(require("fs"));
|
|
9
|
-
const path_1 = __importDefault(require("path"));
|
|
10
|
-
const utils_1 = require("../../assets/utils");
|
|
11
|
-
function extractAssets(params) {
|
|
12
|
-
const assetNodes = utils_1.findAssets(params.document);
|
|
1
|
+
import { serialize } from 'parse5';
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import { findAssets, getSourcePaths, isHashedAsset, resolveAssetFilePath, } from '../../assets/utils.js';
|
|
5
|
+
export function extractAssets(params) {
|
|
6
|
+
const assetNodes = findAssets(params.document);
|
|
13
7
|
const allAssets = [];
|
|
14
8
|
for (const node of assetNodes) {
|
|
15
|
-
const sourcePaths =
|
|
9
|
+
const sourcePaths = getSourcePaths(node);
|
|
16
10
|
for (const sourcePath of sourcePaths) {
|
|
17
|
-
const filePath =
|
|
18
|
-
const hashed =
|
|
11
|
+
const filePath = resolveAssetFilePath(sourcePath, params.htmlDir, params.rootDir, params.absolutePathPrefix);
|
|
12
|
+
const hashed = isHashedAsset(node);
|
|
19
13
|
const alreadyHandled = allAssets.find(a => a.filePath === filePath && a.hashed === hashed);
|
|
20
14
|
if (!alreadyHandled) {
|
|
21
15
|
try {
|
|
22
|
-
|
|
16
|
+
fs.accessSync(filePath);
|
|
23
17
|
}
|
|
24
18
|
catch (error) {
|
|
25
|
-
const elStr =
|
|
26
|
-
const htmlPath =
|
|
19
|
+
const elStr = serialize(node);
|
|
20
|
+
const htmlPath = path.relative(process.cwd(), params.htmlFilePath);
|
|
27
21
|
throw new Error(`Could not find ${filePath} referenced from HTML file ${htmlPath} from element ${elStr}.`);
|
|
28
22
|
}
|
|
29
|
-
const content =
|
|
23
|
+
const content = fs.readFileSync(filePath);
|
|
30
24
|
allAssets.push({ filePath, hashed, content });
|
|
31
25
|
}
|
|
32
26
|
}
|
|
33
27
|
}
|
|
34
28
|
return allAssets;
|
|
35
29
|
}
|
|
36
|
-
exports.extractAssets = extractAssets;
|
|
37
30
|
//# sourceMappingURL=extractAssets.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractAssets.js","sourceRoot":"","sources":["../../../src/input/extract/extractAssets.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extractAssets.js","sourceRoot":"","sources":["../../../src/input/extract/extractAssets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EACL,UAAU,EACV,cAAc,EACd,aAAa,EACb,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAU/B,MAAM,UAAU,aAAa,CAAC,MAA2B;IACvD,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAiB,EAAE,CAAC;IAEnC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;QAC7B,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACzC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YACpC,MAAM,QAAQ,GAAG,oBAAoB,CACnC,UAAU,EACV,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,kBAAkB,CAC1B,CAAC;YACF,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;YAC3F,IAAI,CAAC,cAAc,EAAE;gBACnB,IAAI;oBACF,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;iBACzB;gBAAC,OAAO,KAAK,EAAE;oBACd,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;oBAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;oBACnE,MAAM,IAAI,KAAK,CACb,kBAAkB,QAAQ,8BAA8B,QAAQ,iBAAiB,KAAK,GAAG,CAC1F,CAAC;iBACH;gBAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAC1C,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;aAC/C;SACF;KACF;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractModules.d.ts","sourceRoot":"","sources":["../../../src/input/extract/extractModules.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAa,MAAM,QAAQ,CAAC;AAK7C,OAAO,EAAE,eAAe,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"extractModules.d.ts","sourceRoot":"","sources":["../../../src/input/extract/extractModules.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAa,MAAM,QAAQ,CAAC;AAK7C,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAeD,wBAAgB,cAAc,CAAC,MAAM,EAAE,oBAAoB;;;EAiD1D"}
|
|
@@ -1,34 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
exports.extractModules = void 0;
|
|
7
|
-
const parse5_utils_1 = require("@web/parse5-utils");
|
|
8
|
-
const path_1 = __importDefault(require("path"));
|
|
9
|
-
const crypto_1 = __importDefault(require("crypto"));
|
|
10
|
-
const utils_1 = require("../../assets/utils");
|
|
11
|
-
const parse5_utils_2 = require("@web/parse5-utils");
|
|
1
|
+
import { findElements, getAttribute, getTagName, getTextContent, remove } from '@web/parse5-utils';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import crypto from 'crypto';
|
|
4
|
+
import { resolveAssetFilePath } from '../../assets/utils.js';
|
|
5
|
+
import { getAttributes } from '@web/parse5-utils';
|
|
12
6
|
function createContentHash(content) {
|
|
13
|
-
return
|
|
7
|
+
return crypto.createHash('md5').update(content).digest('hex');
|
|
14
8
|
}
|
|
15
9
|
function isAbsolute(src) {
|
|
16
10
|
try {
|
|
17
11
|
new URL(src);
|
|
18
12
|
return true;
|
|
19
13
|
}
|
|
20
|
-
catch
|
|
14
|
+
catch {
|
|
21
15
|
return false;
|
|
22
16
|
}
|
|
23
17
|
}
|
|
24
|
-
function extractModules(params) {
|
|
18
|
+
export function extractModules(params) {
|
|
25
19
|
const { document, htmlDir, rootDir, absolutePathPrefix } = params;
|
|
26
|
-
const scriptNodes =
|
|
20
|
+
const scriptNodes = findElements(document, e => getTagName(e) === 'script' && getAttribute(e, 'type') === 'module');
|
|
27
21
|
const moduleImports = [];
|
|
28
22
|
const inlineModules = [];
|
|
29
23
|
for (const scriptNode of scriptNodes) {
|
|
30
|
-
const src =
|
|
31
|
-
const allAttributes =
|
|
24
|
+
const src = getAttribute(scriptNode, 'src');
|
|
25
|
+
const allAttributes = getAttributes(scriptNode);
|
|
32
26
|
const attributes = [];
|
|
33
27
|
for (const attributeName of Object.keys(allAttributes)) {
|
|
34
28
|
if (attributeName !== 'src' && attributeName !== 'type') {
|
|
@@ -37,10 +31,10 @@ function extractModules(params) {
|
|
|
37
31
|
}
|
|
38
32
|
if (!src) {
|
|
39
33
|
// turn inline module (<script type="module"> ...code ... </script>)
|
|
40
|
-
const code =
|
|
34
|
+
const code = getTextContent(scriptNode);
|
|
41
35
|
// inline modules should be relative to the HTML file to resolve relative imports
|
|
42
36
|
// we make it unique with a content hash, so that duplicate modules are deduplicated
|
|
43
|
-
const importPath =
|
|
37
|
+
const importPath = path.posix.join(htmlDir, `/inline-module-${createContentHash(code)}.js`);
|
|
44
38
|
if (!inlineModules.find(tag => tag.importPath === importPath)) {
|
|
45
39
|
inlineModules.push({
|
|
46
40
|
importPath,
|
|
@@ -48,21 +42,20 @@ function extractModules(params) {
|
|
|
48
42
|
code,
|
|
49
43
|
});
|
|
50
44
|
}
|
|
51
|
-
|
|
45
|
+
remove(scriptNode);
|
|
52
46
|
}
|
|
53
47
|
else {
|
|
54
48
|
if (!isAbsolute(src)) {
|
|
55
49
|
// external script <script type="module" src="./foo.js"></script>
|
|
56
|
-
const importPath =
|
|
50
|
+
const importPath = resolveAssetFilePath(src, htmlDir, rootDir, absolutePathPrefix);
|
|
57
51
|
moduleImports.push({
|
|
58
52
|
importPath,
|
|
59
53
|
attributes,
|
|
60
54
|
});
|
|
61
|
-
|
|
55
|
+
remove(scriptNode);
|
|
62
56
|
}
|
|
63
57
|
}
|
|
64
58
|
}
|
|
65
59
|
return { moduleImports, inlineModules };
|
|
66
60
|
}
|
|
67
|
-
exports.extractModules = extractModules;
|
|
68
61
|
//# sourceMappingURL=extractModules.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractModules.js","sourceRoot":"","sources":["../../../src/input/extract/extractModules.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extractModules.js","sourceRoot":"","sources":["../../../src/input/extract/extractModules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEnG,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAUlD,SAAS,iBAAiB,CAAC,OAAe;IACxC,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI;QACF,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACb,OAAO,IAAI,CAAC;KACb;IAAC,MAAM;QACN,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAA4B;IACzD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAAC;IAClE,MAAM,WAAW,GAAG,YAAY,CAC9B,QAAQ,EACR,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,QAAQ,CACxE,CAAC;IAEF,MAAM,aAAa,GAAsB,EAAE,CAAC;IAC5C,MAAM,aAAa,GAAsB,EAAE,CAAC;IAE5C,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;QACpC,MAAM,GAAG,GAAG,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAE5C,MAAM,aAAa,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;QAChD,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,KAAK,MAAM,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;YACtD,IAAI,aAAa,KAAK,KAAK,IAAI,aAAa,KAAK,MAAM,EAAE;gBACvD,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;aAC/E;SACF;QAED,IAAI,CAAC,GAAG,EAAE;YACR,oEAAoE;YACpE,MAAM,IAAI,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;YACxC,iFAAiF;YACjF,oFAAoF;YACpF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5F,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,UAAU,CAAC,EAAE;gBAC7D,aAAa,CAAC,IAAI,CAAC;oBACjB,UAAU;oBACV,UAAU;oBACV,IAAI;iBACL,CAAC,CAAC;aACJ;YACD,MAAM,CAAC,UAAU,CAAC,CAAC;SACpB;aAAM;YACL,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBACpB,iEAAiE;gBACjE,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC;gBACnF,aAAa,CAAC,IAAI,CAAC;oBACjB,UAAU;oBACV,UAAU;iBACX,CAAC,CAAC;gBACH,MAAM,CAAC,UAAU,CAAC,CAAC;aACpB;SACF;KACF;IAED,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC;AAC1C,CAAC"}
|
|
@@ -6,9 +6,9 @@ export interface ExtractParams {
|
|
|
6
6
|
absolutePathPrefix?: string;
|
|
7
7
|
}
|
|
8
8
|
export declare function extractModulesAndAssets(params: ExtractParams): {
|
|
9
|
-
moduleImports: import("../../RollupPluginHTMLOptions").ScriptModuleTag[];
|
|
10
|
-
inlineModules: import("../../RollupPluginHTMLOptions").ScriptModuleTag[];
|
|
11
|
-
assets: import("../InputData").InputAsset[];
|
|
9
|
+
moduleImports: import("../../RollupPluginHTMLOptions.js").ScriptModuleTag[];
|
|
10
|
+
inlineModules: import("../../RollupPluginHTMLOptions.js").ScriptModuleTag[];
|
|
11
|
+
assets: import("../InputData.js").InputAsset[];
|
|
12
12
|
htmlWithoutModules: string;
|
|
13
13
|
};
|
|
14
14
|
//# sourceMappingURL=extractModulesAndAssets.d.ts.map
|
|
@@ -1,30 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
exports.extractModulesAndAssets = void 0;
|
|
7
|
-
const path_1 = __importDefault(require("path"));
|
|
8
|
-
const parse5_1 = require("parse5");
|
|
9
|
-
const extractModules_1 = require("./extractModules");
|
|
10
|
-
const extractAssets_1 = require("./extractAssets");
|
|
11
|
-
function extractModulesAndAssets(params) {
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import { parse, serialize } from 'parse5';
|
|
3
|
+
import { extractModules } from './extractModules.js';
|
|
4
|
+
import { extractAssets } from './extractAssets.js';
|
|
5
|
+
export function extractModulesAndAssets(params) {
|
|
12
6
|
const { html, htmlFilePath, rootDir, absolutePathPrefix } = params;
|
|
13
|
-
const htmlDir =
|
|
14
|
-
const document =
|
|
7
|
+
const htmlDir = path.dirname(htmlFilePath);
|
|
8
|
+
const document = parse(html);
|
|
15
9
|
// extract functions mutate the AST
|
|
16
|
-
const { moduleImports, inlineModules } =
|
|
10
|
+
const { moduleImports, inlineModules } = extractModules({
|
|
17
11
|
document,
|
|
18
12
|
htmlDir,
|
|
19
13
|
rootDir,
|
|
20
14
|
absolutePathPrefix,
|
|
21
15
|
});
|
|
22
16
|
const assets = params.extractAssets
|
|
23
|
-
?
|
|
17
|
+
? extractAssets({ document, htmlDir, htmlFilePath, rootDir, absolutePathPrefix })
|
|
24
18
|
: [];
|
|
25
19
|
// turn mutated AST back to a string
|
|
26
|
-
const updatedHtmlString =
|
|
20
|
+
const updatedHtmlString = serialize(document);
|
|
27
21
|
return { moduleImports, inlineModules, assets, htmlWithoutModules: updatedHtmlString };
|
|
28
22
|
}
|
|
29
|
-
exports.extractModulesAndAssets = extractModulesAndAssets;
|
|
30
23
|
//# sourceMappingURL=extractModulesAndAssets.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractModulesAndAssets.js","sourceRoot":"","sources":["../../../src/input/extract/extractModulesAndAssets.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extractModulesAndAssets.js","sourceRoot":"","sources":["../../../src/input/extract/extractModulesAndAssets.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAUnD,MAAM,UAAU,uBAAuB,CAAC,MAAqB;IAC3D,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAAC;IACnE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAE7B,mCAAmC;IACnC,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,cAAc,CAAC;QACtD,QAAQ;QACR,OAAO;QACP,OAAO;QACP,kBAAkB;KACnB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa;QACjC,CAAC,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;QACjF,CAAC,CAAC,EAAE,CAAC;IAEP,oCAAoC;IACpC,MAAM,iBAAiB,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAE9C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;AACzF,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { RollupPluginHTMLOptions } from '../RollupPluginHTMLOptions';
|
|
2
|
-
import { InputData } from './InputData';
|
|
1
|
+
import { RollupPluginHTMLOptions } from '../RollupPluginHTMLOptions.js';
|
|
2
|
+
import { InputData } from './InputData.js';
|
|
3
3
|
import { InputOption } from 'rollup';
|
|
4
4
|
export interface CreateInputDataParams {
|
|
5
5
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getInputData.d.ts","sourceRoot":"","sources":["../../src/input/getInputData.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,uBAAuB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"getInputData.d.ts","sourceRoot":"","sources":["../../src/input/getInputData.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAkBrC,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAuBD,wBAAgB,YAAY,CAC1B,aAAa,EAAE,uBAAuB,EACtC,WAAW,CAAC,EAAE,WAAW,GACxB,SAAS,EAAE,CA2Db"}
|