@enhanced-dom/webpack 0.4.0 → 0.5.1
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/NOTICE.md +11 -0
- package/compiler.helpers.d.ts +3 -3
- package/compiler.helpers.js +10 -19
- package/configs/index.d.ts +38 -2
- package/configs/index.js +9 -16
- package/index.d.ts +5 -5
- package/index.js +6 -40
- package/loaders/WebcomponentStyleLoader.d.ts +12 -5
- package/loaders/WebcomponentStyleLoader.js +77 -41
- package/loaders/index.d.ts +51 -10
- package/loaders/index.js +34 -35
- package/loaders/resolveWebcomponentStyleLoaderPath.cjs +9 -0
- package/loaders/resolveWebcomponentStyleLoaderPath.d.cts +2 -0
- package/package.json +31 -30
- package/plugins/DefineEnvPlugin.d.ts +7 -0
- package/plugins/DefineEnvPlugin.js +17 -0
- package/plugins/HtmlInlineSourcePlugin.d.ts +22 -0
- package/plugins/HtmlInlineSourcePlugin.js +236 -0
- package/plugins/SelfDecompressingHtmlPlugin.d.ts +10 -0
- package/plugins/SelfDecompressingHtmlPlugin.js +119 -0
- package/plugins/formatThirdPartyNotices.d.ts +5 -0
- package/plugins/formatThirdPartyNotices.js +11 -0
- package/plugins/index.d.ts +17 -5
- package/plugins/index.js +63 -34
- package/compiler.helpers.js.map +0 -1
- package/configs/index.js.map +0 -1
- package/index.js.map +0 -1
- package/loaders/WebcomponentStyleLoader.js.map +0 -1
- package/loaders/index.js.map +0 -1
- package/plugins/HtmlWebpackInlineSourcePlugin.d.ts +0 -2
- package/plugins/HtmlWebpackInlineSourcePlugin.js +0 -55
- package/plugins/HtmlWebpackInlineSourcePlugin.js.map +0 -1
- package/plugins/index.js.map +0 -1
package/plugins/index.js
CHANGED
|
@@ -1,36 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const
|
|
14
|
-
const HtmlWebpackInlineSourcePlugin_1 = __importDefault(require("./HtmlWebpackInlineSourcePlugin"));
|
|
15
|
-
const cssConfigFactory = ({ filename = '[name]-[chunkhash].css', cssnanoOptions = {}, } = {}) => {
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer';
|
|
3
|
+
import LicensePlugin from 'webpack-license-plugin';
|
|
4
|
+
import CssMinimizerPlugin from 'css-minimizer-webpack-plugin';
|
|
5
|
+
import MiniCssExtractPlugin from 'mini-css-extract-plugin';
|
|
6
|
+
import TerserPlugin from 'terser-webpack-plugin';
|
|
7
|
+
import HtmlWebpackPlugin from 'html-webpack-plugin';
|
|
8
|
+
import fs from 'fs';
|
|
9
|
+
import DefineEnvPlugin from './DefineEnvPlugin.js';
|
|
10
|
+
import HtmlInlineSourcePlugin from './HtmlInlineSourcePlugin.js';
|
|
11
|
+
import SelfDecompressingHtmlPlugin from './SelfDecompressingHtmlPlugin.js';
|
|
12
|
+
import formatThirdPartyNotices from './formatThirdPartyNotices.js';
|
|
13
|
+
export const cssConfigFactory = ({ filename = '[name]-[chunkhash].css', cssnanoOptions = {}, } = {}) => {
|
|
16
14
|
return [
|
|
17
|
-
new
|
|
15
|
+
new MiniCssExtractPlugin({
|
|
18
16
|
filename,
|
|
19
17
|
}),
|
|
20
|
-
new
|
|
18
|
+
new CssMinimizerPlugin({
|
|
21
19
|
test: /\.css$/g,
|
|
22
20
|
minimizerOptions: {
|
|
23
21
|
preset: ['advanced'],
|
|
24
22
|
...cssnanoOptions,
|
|
25
23
|
},
|
|
26
|
-
minify:
|
|
24
|
+
minify: CssMinimizerPlugin.cssnanoMinify,
|
|
27
25
|
}),
|
|
28
26
|
];
|
|
29
27
|
};
|
|
30
|
-
|
|
31
|
-
const bundleAnalyzerConfigFactory = (extraConfig = {}) => {
|
|
28
|
+
export const bundleAnalyzerConfigFactory = (extraConfig = {}) => {
|
|
32
29
|
return [
|
|
33
|
-
new
|
|
30
|
+
new BundleAnalyzerPlugin({
|
|
34
31
|
analyzerMode: 'static',
|
|
35
32
|
reportFilename: './reports/bundle-analysis.html',
|
|
36
33
|
openAnalyzer: false,
|
|
@@ -38,23 +35,26 @@ const bundleAnalyzerConfigFactory = (extraConfig = {}) => {
|
|
|
38
35
|
}),
|
|
39
36
|
];
|
|
40
37
|
};
|
|
41
|
-
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
38
|
+
export const htmlConfigFactory = ({ html = {}, embed, compress, } = {}) => {
|
|
39
|
+
const template = html.template ?? path.join(process.cwd(), 'template.html');
|
|
40
|
+
const templateExists = fs.existsSync(template);
|
|
41
|
+
// Interpolated directly here rather than left as an EJS placeholder (e.g.
|
|
42
|
+
// `<%= htmlWebpackPlugin.options.title %>`, the mechanism a real `template` file can use) -
|
|
43
|
+
// html-webpack-plugin only runs templateContent strings through its EJS child-compilation when
|
|
44
|
+
// they came from a file; a plain string option like this one is used completely as-is.
|
|
46
45
|
const templateContent = `<!DOCTYPE html>
|
|
47
46
|
<html>
|
|
48
47
|
<head>
|
|
49
48
|
<meta charset="UTF-8" />
|
|
49
|
+
${html.title ? `<title>${html.title}</title>` : ''}
|
|
50
50
|
</head>
|
|
51
51
|
<body>
|
|
52
52
|
<div id="root"></div>
|
|
53
53
|
</body>
|
|
54
54
|
</html>`;
|
|
55
|
-
const favicon = html.favicon ? (
|
|
55
|
+
const favicon = html.favicon ? (path.isAbsolute(html.favicon) ? html.favicon : path.join(process.cwd(), html.favicon)) : undefined;
|
|
56
56
|
const plugins = [
|
|
57
|
-
new
|
|
57
|
+
new HtmlWebpackPlugin({
|
|
58
58
|
inject: 'body',
|
|
59
59
|
lang: 'en-US',
|
|
60
60
|
...(templateExists ? { template } : { templateContent }),
|
|
@@ -63,14 +63,23 @@ const htmlConfigFactory = ({ html = {}, embed } = {}) => {
|
|
|
63
63
|
}),
|
|
64
64
|
];
|
|
65
65
|
if (embed) {
|
|
66
|
-
|
|
66
|
+
const inlineSourcePlugin = new HtmlInlineSourcePlugin();
|
|
67
|
+
if (typeof embed === 'object') {
|
|
68
|
+
inlineSourcePlugin.additionalAssets = embed.additionalAssets;
|
|
69
|
+
}
|
|
70
|
+
plugins.push(inlineSourcePlugin);
|
|
71
|
+
}
|
|
72
|
+
// Runs its own processAssets tap well after HtmlInlineSourcePlugin's (see that plugin's
|
|
73
|
+
// comment on its stage choice), so it always gzips the fully embedded/finished body regardless
|
|
74
|
+
// of push order here.
|
|
75
|
+
if (compress) {
|
|
76
|
+
plugins.push(new SelfDecompressingHtmlPlugin(typeof compress === 'object' ? compress : {}));
|
|
67
77
|
}
|
|
68
78
|
return plugins;
|
|
69
79
|
};
|
|
70
|
-
|
|
71
|
-
const terserConfigFactory = ({ enableSourcemaps = true, terserOptions = {}, embed = false } = {}) => [
|
|
80
|
+
export const terserConfigFactory = ({ enableSourcemaps = true, terserOptions = {}, embed = false } = {}) => [
|
|
72
81
|
/* eslint-disable @typescript-eslint/naming-convention */
|
|
73
|
-
new
|
|
82
|
+
new TerserPlugin({
|
|
74
83
|
parallel: true,
|
|
75
84
|
extractComments: !embed,
|
|
76
85
|
terserOptions: {
|
|
@@ -89,5 +98,25 @@ const terserConfigFactory = ({ enableSourcemaps = true, terserOptions = {}, embe
|
|
|
89
98
|
},
|
|
90
99
|
}),
|
|
91
100
|
];
|
|
92
|
-
|
|
93
|
-
|
|
101
|
+
// Defines process.env.<name> for each listed env var as its (JSON-stringified) current value at
|
|
102
|
+
// build time - the DefinePlugin equivalent of dotenv-loading into the bundle. Values not set in
|
|
103
|
+
// the running process become the string "undefined" (JSON.stringify(undefined) === undefined,
|
|
104
|
+
// which DefinePlugin then coerces to that literal), same as an un-set process.env access already
|
|
105
|
+
// behaves at runtime.
|
|
106
|
+
export const defineEnvConfigFactory = (envVarNames) => {
|
|
107
|
+
return [new DefineEnvPlugin(envVarNames)];
|
|
108
|
+
};
|
|
109
|
+
export const licenseConfigFactory = ({ outputFilename = 'THIRD-PARTY-NOTICES.json', includeNoticeText = true, additionalFiles, ...extraConfig } = {}) => {
|
|
110
|
+
return [
|
|
111
|
+
new LicensePlugin({
|
|
112
|
+
outputFilename,
|
|
113
|
+
includeNoticeText,
|
|
114
|
+
additionalFiles: {
|
|
115
|
+
'THIRD-PARTY-NOTICES.txt': formatThirdPartyNotices,
|
|
116
|
+
...additionalFiles,
|
|
117
|
+
},
|
|
118
|
+
...extraConfig,
|
|
119
|
+
}),
|
|
120
|
+
];
|
|
121
|
+
};
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGx1Z2lucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxNQUFNLENBQUE7QUFDdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDOUQsT0FBTyxhQUFhLE1BQU0sd0JBQXdCLENBQUE7QUFDbEQsT0FBTyxrQkFBa0IsTUFBTSw4QkFBOEIsQ0FBQTtBQUM3RCxPQUFPLG9CQUFvQixNQUFNLHlCQUF5QixDQUFBO0FBQzFELE9BQU8sWUFBWSxNQUFNLHVCQUF1QixDQUFBO0FBRWhELE9BQU8saUJBQWlCLE1BQU0scUJBQXFCLENBQUE7QUFDbkQsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFBO0FBR25CLE9BQU8sZUFBZSxNQUFNLG1CQUFtQixDQUFBO0FBQy9DLE9BQU8sc0JBQXNCLE1BQU0sMEJBQTBCLENBQUE7QUFDN0QsT0FBTywyQkFBMkIsTUFBTSwrQkFBK0IsQ0FBQTtBQUN2RSxPQUFPLHVCQUF1QixNQUFNLDJCQUEyQixDQUFBO0FBRS9ELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsRUFDL0IsUUFBUSxHQUFHLHdCQUF3QixFQUNuQyxjQUFjLEdBQUcsRUFBRSxNQUM0QixFQUFFLEVBQUUsRUFBRTtJQUNyRCxPQUFPO1FBQ0wsSUFBSSxvQkFBb0IsQ0FBQztZQUN2QixRQUFRO1NBQ1QsQ0FBQztRQUNGLElBQUksa0JBQWtCLENBQUM7WUFDckIsSUFBSSxFQUFFLFNBQVM7WUFDZixnQkFBZ0IsRUFBRTtnQkFDaEIsTUFBTSxFQUFFLENBQUMsVUFBVSxDQUFDO2dCQUNwQixHQUFHLGNBQWM7YUFDbEI7WUFDRCxNQUFNLEVBQUUsa0JBQWtCLENBQUMsYUFBYTtTQUN6QyxDQUFDO0tBQ0gsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLENB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QUFLO2FBQ2hCO1lBQ0QsV0FBVyxFQUFFLElBQUk7WUFDakIsZUFBZSxFQUFFLElBQUk7WUFDckIsTUFBTSxFQUFFO2dCQUNOLFdBQVcsRUFBRSxJQUFJO2dCQUNqQixlQUFlLEVBQUUsSUFBSTthQUN0QjtZQUNELEdBQUcsYUFBYTtTQUNqQjtLQUNGLENBQUM7Q0FDSCxDQUFBO0FBRUQsZ0dBQWdHO0FBQ2hHLGdHQUFnRztBQUNoRyw4RkFBOEY7QUFDOUYsaUdBQWlHO0FBQ2pHLHNCQUFzQjtBQUN0QixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLFdBQXFCLEVBQUUsRUFBRTtJQUM5RCxPQUFPLENBQUMsSUFBSSxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQTtBQUMzQyxDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEVBQ25DLGNBQWMsR0FBRywwQkFBMEIsRUFDM0MsaUJBQWlCLEdBQUcsSUFBSSxFQUN4QixlQUFlLEVBQ2YsR0FBRyxXQUFXLEtBQzZDLEVBQUUsRUFBRSxFQUFFO0lBQ2pFLE9BQU87UUFDTCxJQUFJLGFBQWEsQ0FBQztZQUNoQixjQUFjO1lBQ2QsaUJBQWlCO1lBQ2pCLGVBQWUsRUFBRTtnQkFDZix5QkFBeUIsRUFBRSx1QkFBdUI7Z0JBQ2xELEdBQUcsZUFBZTthQUNuQjtZQUNELEdBQUcsV0FBVztTQUNmLENBQUM7S0FDSCxDQUFBO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSAncGF0aCdcbmltcG9ydCB7IEJ1bmRsZUFuYWx5emVyUGx1Z2luIH0gZnJvbSAnd2VicGFjay1idW5kbGUtYW5hbHl6ZXInXG5pbXBvcnQgTGljZW5zZVBsdWdpbiBmcm9tICd3ZWJwYWNrLWxpY2Vuc2UtcGx1Z2luJ1xuaW1wb3J0IENzc01pbmltaXplclBsdWdpbiBmcm9tICdjc3MtbWluaW1pemVyLXdlYnBhY2stcGx1Z2luJ1xuaW1wb3J0IE1pbmlDc3NFeHRyYWN0UGx1Z2luIGZyb20gJ21pbmktY3NzLWV4dHJhY3QtcGx1Z2luJ1xuaW1wb3J0IFRlcnNlclBsdWdpbiBmcm9tICd0ZXJzZXItd2VicGFjay1wbHVnaW4nXG5pbXBvcnQgeyBNaW5pZnlPcHRpb25zIH0gZnJvbSAndGVyc2VyJ1xuaW1wb3J0IEh0bWxXZWJwYWNrUGx1Z2luIGZyb20gJ2h0bWwtd2VicGFjay1wbHVnaW4nXG5pbXBvcnQgZnMgZnJvbSAnZnMnXG5pbXBvcnQgeyB0eXBlIFdlYnBhY2tQbHVnaW5JbnN0YW5jZSB9IGZyb20gJ3dlYnBhY2snXG5cbmltcG9ydCBEZWZpbmVFbnZQbHVnaW4gZnJvbSAnLi9EZWZpbmVFbnZQbHVnaW4nXG5pbXBvcnQgSHRtbElubGluZVNvdXJjZVBsdWdpbiBmcm9tICcuL0h0bWxJbmxpbmVTb3VyY2VQbHVnaW4nXG5pbXBvcnQgU2VsZkRlY29tcHJlc3NpbmdIdG1sUGx1Z2luIGZyb20gJy4vU2VsZkRlY29tcHJlc3NpbmdIdG1sUGx1Z2luJ1xuaW1wb3J0IGZvcm1hdFRoaXJkUGFydHlOb3RpY2VzIGZyb20gJy4vZm9ybWF0VGhpcmRQYXJ0eU5vdGljZXMnXG5cbmV4cG9ydCBjb25zdCBjc3NDb25maWdGYWN0b3J5ID0gKHtcbiAgZmlsZW5hbWUgPSAnW25hbWVdLVtjaHVua2hhc2hdLmNzcycsXG4gIGNzc25hbm9PcHRpb25zID0ge30sXG59OiB7IGZpbGVuYW1lPzogc3RyaW5nOyBjc3NuYW5vT3B0aW9ucz86IGFueSB9ID0ge30pID0+IHtcbiAgcmV0dXJuIFtcbiAgICBuZXcgTWluaUNzc0V4dHJhY3RQbHVnaW4oe1xuICAgICAgZmlsZW5hbWUsXG4gICAgfSksXG4gICAgbmV3IENzc01pbmltaXplclBsdWdpbih7XG4gICAgICB0ZXN0OiAvXFwuY3NzJC9nLFxuICAgICAgbWluaW1pemVyT3B0aW9uczoge1xuICAgICAgICBwcmVzZXQ6IFsnYWR2YW5jZWQnXSxcbiAgICAgICAgLi4uY3NzbmFub09wdGlvbnMsXG4gICAgICB9LFxuICAgICAgbWluaWZ5OiBDc3NNaW5pbWl6ZXJQbHVnaW4uY3NzbmFub01pbmlmeSxcbiAgICB9KSxcbiAgXVxufVxuXG5leHBvcnQgY29uc3QgYnVuZGxlQW5hbHl6ZXJDb25maWdGYWN0b3J5ID0gKGV4dHJhQ29uZmlnOiBCdW5kbGVBbmFseXplclBsdWdpbi5PcHRpb25zID0ge30pID0+IHtcbiAgcmV0dXJuIFtcbiAgICBuZXcgQnVuZGxlQW5hbHl6ZXJQbHVnaW4oe1xuICAgICAgYW5hbHl6ZXJNb2RlOiAnc3RhdGljJyxcbiAgICAgIHJlcG9ydEZpbGVuYW1lOiAnLi9yZXBvcnRzL2J1bmRsZS1hbmFseXNpcy5odG1sJyxcbiAgICAgIG9wZW5BbmFseXplcjogZmFsc2UsXG4gICAgICAuLi5leHRyYUNvbmZpZyxcbiAgICB9KSxcbiAgXVxufVxuXG50eXBlIEh0bWxJbmxpbmVTb3VyY2VBZGRpdGlvbmFsQXNzZXRzVHlwZSA9IE5vbk51bGxhYmxlPEluc3RhbmNlVHlwZTx0eXBlb2YgSHRtbElubGluZVNvdXJjZVBsdWdpbj5bJ2FkZGl0aW9uYWxBc3NldHMnXT5cbnR5cGUgU2VsZkRlY29tcHJlc3NpbmdIdG1sT3B0aW9uc1R5cGUgPSBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8dHlwZW9mIFNlbGZEZWNvbXByZXNzaW5nSHRtbFBsdWdpbj5bMF1cblxuZXhwb3J0IGNvbnN0IGh0bWxDb25maWdGYWN0b3J5ID0gKHtcbiAgaHRtbCA9IHt9LFxuICBlbWJlZCxcbiAgY29tcHJlc3MsXG59OiB7XG4gIGVtYmVkPzogYm9vbGVhbiB8IHsgYWRkaXRpb25hbEFzc2V0cz86IEh0bWxJbmxpbmVTb3VyY2VBZGRpdGlvbmFsQXNzZXRzVHlwZSB9XG4gIGNvbXByZXNzPzogYm9vbGVhbiB8IFNlbGZEZWNvbXByZXNzaW5nSHRtbE9wdGlvbnNUeXBlXG4gIGh0bWw/OiBQYXJ0aWFsPEh0bWxXZWJwYWNrUGx1Z2luLk9wdGlvbnM+XG59ID0ge30pID0+IHtcbiAgY29uc3QgdGVtcGxhdGUgPSBodG1sLnRlbXBsYXRlID8/IHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCAndGVtcGxhdGUuaHRtbCcpXG4gIGNvbnN0IHRlbXBsYXRlRXhpc3RzID0gZnMuZXhpc3RzU3luYyh0ZW1wbGF0ZSlcbiAgLy8gSW50ZXJwb2xhdGVkIGRpcmVjdGx5IGhlcmUgcmF0aGVyIHRoYW4gbGVmdCBhcyBhbiBFSlMgcGxhY2Vob2xkZXIgKGUuZy5cbiAgLy8gYDwlPSBodG1sV2VicGFja1BsdWdpbi5vcHRpb25zLnRpdGxlICU+YCwgdGhlIG1lY2hhbmlzbSBhIHJlYWwgYHRlbXBsYXRlYCBmaWxlIGNhbiB1c2UpIC1cbiAgLy8gaHRtbC13ZWJwYWNrLXBsdWdpbiBvbmx5IHJ1bnMgdGVtcGxhdGVDb250ZW50IHN0cmluZ3MgdGhyb3VnaCBpdHMgRUpTIGNoaWxkLWNvbXBpbGF0aW9uIHdoZW5cbiAgLy8gdGhleSBjYW1lIGZyb20gYSBmaWxlOyBhIHBsYWluIHN0cmluZyBvcHRpb24gbGlrZSB0aGlzIG9uZSBpcyB1c2VkIGNvbXBsZXRlbHkgYXMtaXMuXG4gIGNvbnN0IHRlbXBsYXRlQ29udGVudCA9IGA8IURPQ1RZUEUgaHRtbD5cbiAgPGh0bWw+XG4gIDxoZWFkPlxuICAgIDxtZXRhIGNoYXJzZXQ9XCJVVEYtOFwiIC8+XG4gICAgJHtodG1sLnRpdGxlID8gYDx0aXRsZT4ke2h0bWwudGl0bGV9PC90aXRsZT5gIDogJyd9XG4gIDwvaGVhZD5cbiAgPGJvZHk+XG4gICAgPGRpdiBpZD1cInJvb3RcIj48L2Rpdj5cbiAgPC9ib2R5PlxuICA8L2h0bWw+YFxuICBjb25zdCBmYXZpY29uID0gaHRtbC5mYXZpY29uID8gKHBhdGguaXNBYnNvbHV0ZShodG1sLmZhdmljb24pID8gaHRtbC5mYXZpY29uIDogcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIGh0bWwuZmF2aWNvbikpIDogdW5kZWZpbmVkXG4gIGNvbnN0IHBsdWdpbnM6IFdlYnBhY2tQbHVnaW5JbnN0YW5jZVtdID0gW1xuICAgIG5ldyBIdG1sV2VicGFja1BsdWdpbih7XG4gICAgICBpbmplY3Q6ICdib2R5JyxcbiAgICAgIGxhbmc6ICdlbi1VUycsXG4gICAgICAuLi4odGVtcGxhdGVFeGlzdHMgPyB7IHRlbXBsYXRlIH0gOiB7IHRlbXBsYXRlQ29udGVudCB9KSxcbiAgICAgIC4uLmh0bWwsXG4gICAgICBmYXZpY29uLFxuICAgIH0pLFxuICBdXG5cbiAgaWYgKGVtYmVkKSB7XG4gICAgY29uc3QgaW5saW5lU291cmNlUGx1Z2luID0gbmV3IEh0bWxJbmxpbmVTb3VyY2VQbHVnaW4oKVxuICAgIGlmICh0eXBlb2YgZW1iZWQgPT09ICdvYmplY3QnKSB7XG4gICAgICBpbmxpbmVTb3VyY2VQbHVnaW4uYWRkaXRpb25hbEFzc2V0cyA9IGVtYmVkLmFkZGl0aW9uYWxBc3NldHNcbiAgICB9XG4gICAgcGx1Z2lucy5wdXNoKGlubGluZVNvdXJjZVBsdWdpbilcbiAgfVxuXG4gIC8vIFJ1bnMgaXRzIG93biBwcm9jZXNzQXNzZXRzIHRhcCB3ZWxsIGFmdGVyIEh0bWxJbmxpbmVTb3VyY2VQbHVnaW4ncyAoc2VlIHRoYXQgcGx1Z2luJ3NcbiAgLy8gY29tbWVudCBvbiBpdHMgc3RhZ2UgY2hvaWNlKSwgc28gaXQgYWx3YXlzIGd6aXBzIHRoZSBmdWxseSBlbWJlZGRlZC9maW5pc2hlZCBib2R5IHJlZ2FyZGxlc3NcbiAgLy8gb2YgcHVzaCBvcmRlciBoZXJlLlxuICBpZiAoY29tcHJlc3MpIHtcbiAgICBwbHVnaW5zLnB1c2gobmV3IFNlbGZEZWNvbXByZXNzaW5nSHRtbFBsdWdpbih0eXBlb2YgY29tcHJlc3MgPT09ICdvYmplY3QnID8gY29tcHJlc3MgOiB7fSkpXG4gIH1cblxuICByZXR1cm4gcGx1Z2luc1xufVxuXG5leHBvcnQgY29uc3QgdGVyc2VyQ29uZmlnRmFjdG9yeSA9ICh7IGVuYWJsZVNvdXJjZW1hcHMgPSB0cnVlLCB0ZXJzZXJPcHRpb25zID0ge30gYXMgTWluaWZ5T3B0aW9ucywgZW1iZWQgPSBmYWxzZSB9ID0ge30pID0+IFtcbiAgLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uICovXG4gIG5ldyBUZXJzZXJQbHVnaW4oe1xuICAgIHBhcmFsbGVsOiB0cnVlLFxuICAgIGV4dHJhY3RDb21tZW50czogIWVtYmVkLFxuICAgIHRlcnNlck9wdGlvbnM6IHtcbiAgICAgIGllODogZmFsc2UsXG4gICAgICBzb3VyY2VNYXA6IGVuYWJsZVNvdXJjZW1hcHMsXG4gICAgICBjb21wcmVzczoge1xuICAgICAgICBldmFsdWF0ZTogZmFsc2UsXG4gICAgICB9LFxuICAgICAga2VlcF9mbmFtZXM6IHRydWUsXG4gICAgICBrZWVwX2NsYXNzbmFtZXM6IHRydWUsXG4gICAgICBtYW5nbGU6IHtcbiAgICAgICAga2VlcF9mbmFtZXM6IHRydWUsXG4gICAgICAgIGtlZXBfY2xhc3NuYW1lczogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICAuLi50ZXJzZXJPcHRpb25zLFxuICAgIH0sXG4gIH0pLFxuXVxuXG4vLyBEZWZpbmVzIHByb2Nlc3MuZW52LjxuYW1lPiBmb3IgZWFjaCBsaXN0ZWQgZW52IHZhciBhcyBpdHMgKEpTT04tc3RyaW5naWZpZWQpIGN1cnJlbnQgdmFsdWUgYXRcbi8vIGJ1aWxkIHRpbWUgLSB0aGUgRGVmaW5lUGx1Z2luIGVxdWl2YWxlbnQgb2YgZG90ZW52LWxvYWRpbmcgaW50byB0aGUgYnVuZGxlLiBWYWx1ZXMgbm90IHNldCBpblxuLy8gdGhlIHJ1bm5pbmcgcHJvY2VzcyBiZWNvbWUgdGhlIHN0cmluZyBcInVuZGVmaW5lZFwiIChKU09OLnN0cmluZ2lmeSh1bmRlZmluZWQpID09PSB1bmRlZmluZWQsXG4vLyB3aGljaCBEZWZpbmVQbHVnaW4gdGhlbiBjb2VyY2VzIHRvIHRoYXQgbGl0ZXJhbCksIHNhbWUgYXMgYW4gdW4tc2V0IHByb2Nlc3MuZW52IGFjY2VzcyBhbHJlYWR5XG4vLyBiZWhhdmVzIGF0IHJ1bnRpbWUuXG5leHBvcnQgY29uc3QgZGVmaW5lRW52Q29uZmlnRmFjdG9yeSA9IChlbnZWYXJOYW1lczogc3RyaW5nW10pID0+IHtcbiAgcmV0dXJuIFtuZXcgRGVmaW5lRW52UGx1Z2luKGVudlZhck5hbWVzKV1cbn1cblxuZXhwb3J0IGNvbnN0IGxpY2Vuc2VDb25maWdGYWN0b3J5ID0gKHtcbiAgb3V0cHV0RmlsZW5hbWUgPSAnVEhJUkQtUEFSVFktTk9USUNFUy5qc29uJyxcbiAgaW5jbHVkZU5vdGljZVRleHQgPSB0cnVlLFxuICBhZGRpdGlvbmFsRmlsZXMsXG4gIC4uLmV4dHJhQ29uZmlnXG59OiBQYXJ0aWFsPENvbnN0cnVjdG9yUGFyYW1ldGVyczx0eXBlb2YgTGljZW5zZVBsdWdpbj5bMF0+ID0ge30pID0+IHtcbiAgcmV0dXJuIFtcbiAgICBuZXcgTGljZW5zZVBsdWdpbih7XG4gICAgICBvdXRwdXRGaWxlbmFtZSxcbiAgICAgIGluY2x1ZGVOb3RpY2VUZXh0LFxuICAgICAgYWRkaXRpb25hbEZpbGVzOiB7XG4gICAgICAgICdUSElSRC1QQVJUWS1OT1RJQ0VTLnR4dCc6IGZvcm1hdFRoaXJkUGFydHlOb3RpY2VzLFxuICAgICAgICAuLi5hZGRpdGlvbmFsRmlsZXMsXG4gICAgICB9LFxuICAgICAgLi4uZXh0cmFDb25maWcsXG4gICAgfSksXG4gIF1cbn1cbiJdfQ==
|
package/compiler.helpers.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"compiler.helpers.js","sourceRoot":"./","sources":["compiler.helpers.ts"],"names":[],"mappings":";;;;;;AAAA,qCAAoE;AACpE,0DAAgC;AAEzB,MAAM,eAAe,GAAG,CAAC,kBAA+C,EAAE,EAAE;IACjF,8HAA8H;IAC9H,MAAM,KAAK,GAAG,IAAI,mBAAQ,EAAE,CAAA;IAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACvC,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC/C,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE;QAC5B,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAU,EAAE,MAAW,EAAE,EAAE;YAC7C,IAAI,GAAG,EAAE,CAAC;gBACR,OAAO,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;YAC9C,CAAC;YACD,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACxB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;IACD,KAAK,CAAC,QAAQ,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE;QAChC,YAAY,CAAC,QAAQ,EAAE,CAAC,GAAU,EAAE,MAAW,EAAE,EAAE;YACjD,IAAI,GAAG,EAAE,CAAC;gBACR,OAAO,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;YAClD,CAAC;YACD,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACxB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAvBY,QAAA,eAAe,mBAuB3B;AAEM,MAAM,uBAAuB,GAAG,CAAC,gBAA0B,EAAE,UAAU,GAAG,IAAI,EAAE,EAAE;IACvF,MAAM,mBAAmB,GAAG,gBAG3B,CAAA;IACD,mBAAmB,CAAC,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,IAAA,uBAAe,EAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,mBAAQ,EAAE,CAAA;IACrH,mBAAmB,CAAC,gBAAgB,GAAG,IAAI,mBAAQ,EAAE,CAAA;IAErD,OAAO,mBAAmB,CAAA;AAC5B,CAAC,CAAA;AATY,QAAA,uBAAuB,2BASnC;AAEM,MAAM,mBAAmB,GAAG,CAAC,aAA4B,EAAE,UAAU,GAAG,IAAI,EAAE,EAAE;IACrF,OAAO,IAAA,+BAAuB,EAAC,IAAA,iBAAO,EAAC,aAAa,CAAC,EAAE,UAAU,CAAC,CAAA;AACpE,CAAC,CAAA;AAFY,QAAA,mBAAmB,uBAE/B","sourcesContent":["import { type Compiler, type Configuration, webpack } from 'webpack'\nimport MemoryFS from 'memory-fs'\n\nexport const proxyFilesystem = (originalFilesystem: Compiler['inputFileSystem']) => {\n // Inspired by: https://stackoverflow.com/questions/38779924/compiling-webpack-in-memory-but-resolving-to-node-modules-on-disk\n const memFs = new MemoryFS()\n const statOrig = memFs.stat.bind(memFs)\n const readFileOrig = memFs.readFile.bind(memFs)\n memFs.stat = (filePath, cb) => {\n statOrig(filePath, (err: Error, result: any) => {\n if (err) {\n return originalFilesystem.stat(filePath, cb)\n }\n return cb(err, result)\n })\n }\n memFs.readFile = (filePath, cb) => {\n readFileOrig(filePath, (err: Error, result: any) => {\n if (err) {\n return originalFilesystem.readFile(filePath, cb)\n }\n return cb(err, result)\n })\n }\n\n return memFs\n}\n\nexport const patchCompilerFileSystem = (originalCompiler: Compiler, allowProxy = true) => {\n const transformedCompiler = originalCompiler as unknown as Omit<Compiler, 'inputFileSystem' | 'outputFileSystem'> & {\n inputFileSystem: MemoryFS\n outputFileSystem: MemoryFS\n }\n transformedCompiler.inputFileSystem = allowProxy ? proxyFilesystem(originalCompiler.inputFileSystem) : new MemoryFS()\n transformedCompiler.outputFileSystem = new MemoryFS()\n\n return transformedCompiler\n}\n\nexport const getInMemoryCompiler = (webpackConfig: Configuration, allowProxy = true) => {\n return patchCompilerFileSystem(webpack(webpackConfig), allowProxy)\n}\n"]}
|
package/configs/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"./","sources":["configs/index.ts"],"names":[],"mappings":";;;;;;AAAA,4FAAgE;AAChE,gDAAuB;AAEvB,wCAA+C;AAExC,MAAM,wBAAwB,GAAG,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAA+D,EAAE,EAAE;IACtI,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAC/B,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,QAAQ,cAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,0BAA0B,EAAE,MAAM,CAAC,OAAO,CAAC,CAC7G,CAAA;IACD,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;QAC5B,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS;QACrD,MAAM,EAAE;YACN,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,eAAe;oBACrB,GAAG,EAAE,IAAA,4BAAkB,EAAC,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;iBAC9F;gBACD;oBACE,IAAI,EAAE,gBAAgB;oBACtB,GAAG,EAAE,IAAA,4BAAkB,EAAC,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;iBACnG;aACF;SACF;QACD,OAAO,EAAE,CAAC,IAAI,oCAAuB,CAAC,WAAW,CAAC,CAAC;KACpD,CAAA;AACH,CAAC,CAAA;AAvBY,QAAA,wBAAwB,4BAuBpC","sourcesContent":["import IgnoreEmitWebpackPlugin from 'ignore-emit-webpack-plugin'\nimport path from 'path'\n\nimport { styleConfigFactory } from '../loaders'\n\nexport const typedStylesConfigFactory = ({ raw, filePaths, outputPath }: { raw?: boolean; filePaths: string[]; outputPath?: string }) => {\n const fileRegexes = filePaths.map(\n (filePath) => new RegExp(`^((?!${path.basename(filePath).replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')}).)*$`),\n )\n return {\n mode: 'development',\n entry: { bundle: filePaths },\n devtool: false,\n output: outputPath ? { path: outputPath } : undefined,\n module: {\n rules: [\n {\n test: /\\.(pcss|css)$/,\n use: styleConfigFactory({ raw, typedStyles: true, parser: 'postcss', extract: !!outputPath }),\n },\n {\n test: /\\.(scss|sass)$/,\n use: styleConfigFactory({ raw, typedStyles: true, parser: 'postcss-scss', extract: !!outputPath }),\n },\n ],\n },\n plugins: [new IgnoreEmitWebpackPlugin(fileRegexes)],\n }\n}\n"]}
|
package/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"./","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAoC;AACpC,mDAAoC;AACpC,mDAAoC;AACpC,6DAA8C;AAC9C,iBAAS;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;CACT,CAAA","sourcesContent":["import * as loaders from './loaders'\nimport * as plugins from './plugins'\nimport * as configs from './configs'\nimport * as compiler from './compiler.helpers'\nexport = {\n loaders,\n plugins,\n configs,\n compiler,\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WebcomponentStyleLoader.js","sourceRoot":"./","sources":["loaders/WebcomponentStyleLoader.ts"],"names":[],"mappings":"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","sourcesContent":["import path from 'path'\nimport fs from 'fs'\nimport { validate } from 'schema-utils'\nimport { type JSONSchema7 } from 'json-schema' // eslint-disable-line import/no-unresolved\n\nconst schema: JSONSchema7 = {\n type: 'object',\n properties: {\n pathPrefix: {\n type: 'string',\n },\n emit: {\n type: 'boolean',\n },\n typings: {\n type: 'boolean',\n },\n raw: {\n type: 'boolean',\n },\n named: {\n type: 'boolean',\n },\n },\n additionalProperties: false,\n}\n\nconst loader = function (content: string) {\n const options = this.getOptions()\n validate(schema, options, { name: 'webcomponent-styles' })\n\n if (options.emit) {\n const pathPrefix = options.pathPrefix ?? path.join(process.cwd(), 'src')\n const transformedAssetPath = path\n .join(path.dirname(this.resourcePath), `${path.basename(this.resourcePath)}.js`)\n .replace(pathPrefix, '')\n const transformedCode = Object.entries(this.data)\n .map(([exportName, exportValue]: [string, string]) => `export const ${exportName} = ${exportValue}`)\n .join('\\n')\n this.emitFile(transformedAssetPath, transformedCode)\n if (options.typings) {\n const transformedDtsPath = path\n .join(path.dirname(this.resourcePath), `${path.basename(this.resourcePath)}.d.ts`)\n .replace(pathPrefix, '')\n const typingsCode = [...Object.keys(this.data).map((exportName) => `export const ${exportName}: string;`)].join('\\n')\n this.emitFile(transformedDtsPath, typingsCode)\n }\n }\n if (options.typings) {\n const dtsPath = path.join(path.dirname(this.resourcePath), `${path.basename(this.resourcePath)}.d.ts`)\n const typingsCode = [...Object.keys(this.data).map((exportName) => `export const ${exportName}: string;`)].join('\\n')\n if (!fs.existsSync(dtsPath) || fs.readFileSync(dtsPath, 'utf-8') != typingsCode) {\n fs.writeFileSync(dtsPath, typingsCode, 'utf8')\n }\n }\n\n return options.raw ? content + `export var css = ${this.data.css};\\n` : content\n}\n\nloader.pitch = async function (request: string) {\n const options = this.getOptions()\n validate(schema, options, { name: 'webcomponent-styles' })\n const result = await this.importModule(this.resourcePath + '.webpack[javascript/auto]' + '!=!' + request)\n const { default: defaultExport, ...otherExports } = result\n if (options.raw) {\n this.data.css = `\\`${defaultExport.toString()}\\``\n }\n Object.entries(otherExports).forEach(\n ([exportName, exportValue]: [string, string]) => (this.data[exportName] = `'${exportValue.replace(/^[\"|'](.+)[\"|']$/, '$1')}'`),\n )\n}\n\nexport = loader\n"]}
|
package/loaders/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"./","sources":["loaders/index.ts"],"names":[],"mappings":"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","sourcesContent":["import MiniCssExtractPlugin from 'mini-css-extract-plugin'\nimport createResolver from 'postcss-import-webpack-resolver'\nconst WebcomponentStyleLoader = require.resolve('./WebcomponentStyleLoader')\nimport codeImport from 'remark-code-import'\nimport imageUnwrap from 'rehype-unwrap-images'\nimport imageImport from 'remark-embed-images'\n\nexport const styleConfigFactory = ({\n raw = false,\n extract = false,\n sourceMap = false,\n typedStyles = false,\n modules = undefined as\n | { localIdentName?: string; mappings?: { filter: string; transform: (p: string) => string }[] }\n | (boolean & { localIdentName?: never; mappings?: never }),\n parser = undefined as 'postcss' | 'postcss-scss',\n aliases = {} as Record<string, string>,\n} = {}) => {\n const loaders = []\n\n if (raw) {\n loaders.push({\n loader: WebcomponentStyleLoader,\n options: {\n raw: true,\n emit: extract,\n typings: typedStyles,\n },\n })\n } else {\n if (extract) {\n loaders.push({\n loader: MiniCssExtractPlugin.loader,\n options: {\n publicPath: './',\n },\n })\n } else {\n loaders.push({ loader: 'style-loader' })\n }\n\n if (typedStyles) {\n loaders.push({\n loader: WebcomponentStyleLoader,\n options: {\n raw: false,\n emit: false,\n typings: true,\n },\n })\n }\n }\n\n const cssLoader = {\n loader: 'css-loader',\n options: {\n sourceMap,\n ...(modules || typedStyles\n ? {\n esModule: true,\n modules: {\n localIdentName: modules?.localIdentName ?? '[local]_[hash:base64:5]',\n getLocalIdent: (loaderContext: { resourcePath: string }, _: any, localName: string) => {\n const { resourcePath } = loaderContext\n const mappings = modules?.mappings ?? []\n const mapping = mappings.find(({ filter }) => resourcePath.includes(filter))\n if (!mapping) {\n return undefined // this will trigger the default css-loader getLocalIdent function\n }\n return mapping.transform(localName)\n },\n exportLocalsConvention: 'camelCaseOnly',\n namedExport: true,\n },\n sourceMap,\n }\n : { modules: false }),\n },\n }\n\n loaders.push(cssLoader)\n\n const resolveUrlLoader = {\n loader: 'resolve-url-loader',\n }\n\n loaders.push(resolveUrlLoader)\n\n const postcssLoader = {\n loader: 'postcss-loader',\n options: {\n sourceMap: true,\n postcssOptions: {\n parser,\n plugins: [\n 'postcss-normalize-whitespace',\n 'postcss-discard-comments',\n [\n 'postcss-import',\n {\n resolve: createResolver({\n alias: aliases,\n }),\n modules: ['./node_modules', 'node_modules'],\n },\n ],\n 'postcss-nested',\n // 'autoprefixer',\n [\n 'postcss-preset-env',\n {\n stage: 3,\n },\n ],\n ],\n },\n },\n }\n\n loaders.push(postcssLoader)\n\n return loaders\n}\n\nexport const nullConfigFactory = ({ rules = [] as RegExp[] } = {}) => {\n return rules.map((rule) => ({\n test: rule,\n use: 'null-loader',\n enforce: 'post',\n }))\n}\n\nexport const fontExtensions = ['ttf', 'eot', 'woff', 'woff2']\nexport const imageExtensions = ['png', 'jpg', 'jpeg', 'gif', 'svg', 'ico']\nexport const assetExtensions = (extensions = [...imageExtensions, ...fontExtensions] as string[]) =>\n new RegExp(`\\\\.(${extensions.join('|')})(\\\\?.*$|$)?$`)\n\nexport const babelConfigFactory = ({ babel = undefined as any }) => {\n const loaders = [{ loader: 'babel-loader', options: babel }]\n return loaders\n}\n\nexport const markdownConfigFactory = ({\n babel,\n remark = [],\n rehype = [],\n useProvider = false,\n}: { babel?: any; remark?: any[]; rehype?: any[]; useProvider?: boolean } = {}) => {\n const loaders = []\n\n if (babel) {\n loaders.push(...babelConfigFactory({ babel }))\n loaders.push({\n loader: '@mdx-js/loader',\n options: {\n remarkPlugins: [codeImport, imageImport, imageUnwrap, ...remark],\n rehypePlugins: rehype,\n providerImportSource: useProvider ? '@mdx-js/react' : undefined,\n },\n })\n } else {\n loaders.push(\n {\n loader: 'html-loader',\n },\n {\n loader: 'markdown-loader',\n },\n )\n }\n return loaders\n}\n"]}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
/* eslint-disable @typescript-eslint/no-this-alias */
|
|
7
|
-
const html_webpack_plugin_1 = __importDefault(require("html-webpack-plugin"));
|
|
8
|
-
const html_webpack_inline_source_plugin_1 = __importDefault(require("html-webpack-inline-source-plugin"));
|
|
9
|
-
const fs_1 = __importDefault(require("fs"));
|
|
10
|
-
const path_1 = __importDefault(require("path"));
|
|
11
|
-
html_webpack_inline_source_plugin_1.default.prototype.processTags = function (compilation, pluginData) {
|
|
12
|
-
const self = this;
|
|
13
|
-
const headTags = [];
|
|
14
|
-
const bodyTags = [];
|
|
15
|
-
pluginData.headTags.forEach((tag) => {
|
|
16
|
-
headTags.push(self.processTag(compilation, self.assetsRegExp, tag));
|
|
17
|
-
});
|
|
18
|
-
pluginData.bodyTags.forEach((tag) => {
|
|
19
|
-
bodyTags.push(self.processTag(compilation, self.assetsRegExp, tag));
|
|
20
|
-
});
|
|
21
|
-
return { ...pluginData, headTags, bodyTags };
|
|
22
|
-
};
|
|
23
|
-
html_webpack_inline_source_plugin_1.default.prototype.apply = function (compiler) {
|
|
24
|
-
const self = this;
|
|
25
|
-
self.assetsRegExp = undefined;
|
|
26
|
-
self.faviconPath = undefined;
|
|
27
|
-
compiler.hooks.compilation.tap('html-webpack-inline-source-plugin', (compilation) => {
|
|
28
|
-
html_webpack_plugin_1.default.getHooks(compilation).afterTemplateExecution.tapAsync('html-webpack-inline-source-plugin', (htmlPluginData, callback) => {
|
|
29
|
-
self.assetsRegExp = new RegExp('.(js|css)$');
|
|
30
|
-
const result = self.processTags(compilation, htmlPluginData);
|
|
31
|
-
const favicon = htmlPluginData.plugin.options.favicon;
|
|
32
|
-
if (!favicon || !fs_1.default.existsSync(favicon)) {
|
|
33
|
-
return callback(null, result);
|
|
34
|
-
}
|
|
35
|
-
const faviconTag = result.headTags.find((tag) => tag.tagName === 'link' && tag.attributes.rel === 'icon');
|
|
36
|
-
if (faviconTag) {
|
|
37
|
-
self.faviconPath = faviconTag.attributes.href;
|
|
38
|
-
faviconTag.attributes.href = `data:image/x-icon;base64, ${fs_1.default.readFileSync(favicon, 'base64')}`;
|
|
39
|
-
}
|
|
40
|
-
callback(null, result);
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
compiler.hooks.emit.tap('html-webpack-inline-source-plugin', (compilation) => {
|
|
44
|
-
if (self.assetsRegExp) {
|
|
45
|
-
Object.keys(compilation.assets).forEach(function (file) {
|
|
46
|
-
var _a, _b;
|
|
47
|
-
if (file.match(self.assetsRegExp) || file === ((_b = (_a = self.faviconPath) === null || _a === void 0 ? void 0 : _a.split(path_1.default.sep)) === null || _b === void 0 ? void 0 : _b.pop())) {
|
|
48
|
-
delete compilation.assets[file];
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
};
|
|
54
|
-
exports.default = html_webpack_inline_source_plugin_1.default;
|
|
55
|
-
//# sourceMappingURL=HtmlWebpackInlineSourcePlugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HtmlWebpackInlineSourcePlugin.js","sourceRoot":"./","sources":["plugins/HtmlWebpackInlineSourcePlugin.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-this-alias */\nimport HtmlWebpackPlugin, { Hooks } from 'html-webpack-plugin'\nimport HtmlWebpackInlineSourcePlugin from 'html-webpack-inline-source-plugin'\nimport { type Compilation, type Compiler } from 'webpack'\nimport { AsyncSeriesWaterfallHook } from 'tapable'\nimport fs from 'fs'\nimport path from 'path'\n\ntype AsyncSeriesWaterfallHookDataType<T> = T extends AsyncSeriesWaterfallHook<infer R> ? R : never\n\nHtmlWebpackInlineSourcePlugin.prototype.processTags = function (\n compilation: Compilation,\n pluginData: AsyncSeriesWaterfallHookDataType<Hooks['afterTemplateExecution']>,\n) {\n const self = this\n\n const headTags = []\n const bodyTags = []\n\n pluginData.headTags.forEach((tag) => {\n headTags.push(self.processTag(compilation, self.assetsRegExp, tag))\n })\n\n pluginData.bodyTags.forEach((tag) => {\n bodyTags.push(self.processTag(compilation, self.assetsRegExp, tag))\n })\n\n return { ...pluginData, headTags, bodyTags }\n}\n\nHtmlWebpackInlineSourcePlugin.prototype.apply = function (compiler: Compiler) {\n const self = this\n self.assetsRegExp = undefined\n self.faviconPath = undefined\n\n compiler.hooks.compilation.tap('html-webpack-inline-source-plugin', (compilation) => {\n HtmlWebpackPlugin.getHooks(compilation).afterTemplateExecution.tapAsync(\n 'html-webpack-inline-source-plugin',\n (htmlPluginData, callback) => {\n self.assetsRegExp = new RegExp('.(js|css)$')\n const result = self.processTags(compilation, htmlPluginData) as typeof htmlPluginData\n const favicon = htmlPluginData.plugin.options.favicon\n if (!favicon || !fs.existsSync(favicon)) {\n return callback(null, result)\n }\n const faviconTag = result.headTags.find((tag) => tag.tagName === 'link' && tag.attributes.rel === 'icon')\n if (faviconTag) {\n self.faviconPath = faviconTag.attributes.href as string\n faviconTag.attributes.href = `data:image/x-icon;base64, ${fs.readFileSync(favicon, 'base64')}`\n }\n callback(null, result)\n },\n )\n })\n\n compiler.hooks.emit.tap('html-webpack-inline-source-plugin', (compilation) => {\n if (self.assetsRegExp) {\n Object.keys(compilation.assets).forEach(function (file) {\n if (file.match(self.assetsRegExp) || file === self.faviconPath?.split(path.sep)?.pop()) {\n delete compilation.assets[file]\n }\n })\n }\n })\n}\n\nexport default HtmlWebpackInlineSourcePlugin\n"]}
|
package/plugins/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"./","sources":["plugins/index.ts"],"names":[],"mappings":"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","sourcesContent":["import path from 'path'\nimport { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer'\nimport CssMinimizerPlugin from 'css-minimizer-webpack-plugin'\nimport MiniCssExtractPlugin from 'mini-css-extract-plugin'\nimport TerserPlugin from 'terser-webpack-plugin'\nimport { MinifyOptions } from 'terser'\nimport HtmlWebpackPlugin from 'html-webpack-plugin'\nimport fs from 'fs'\nimport { type WebpackPluginInstance } from 'webpack'\n\nimport HtmlInlineSourcePlugin from './HtmlWebpackInlineSourcePlugin'\n\nexport const cssConfigFactory = ({\n filename = '[name]-[chunkhash].css',\n cssnanoOptions = {},\n}: { filename?: string; cssnanoOptions?: any } = {}) => {\n return [\n new MiniCssExtractPlugin({\n filename,\n }),\n new CssMinimizerPlugin({\n test: /\\.css$/g,\n minimizerOptions: {\n preset: ['advanced'],\n ...cssnanoOptions,\n },\n minify: CssMinimizerPlugin.cssnanoMinify,\n }),\n ]\n}\n\nexport const bundleAnalyzerConfigFactory = (extraConfig: BundleAnalyzerPlugin.Options = {}) => {\n return [\n new BundleAnalyzerPlugin({\n analyzerMode: 'static',\n reportFilename: './reports/bundle-analysis.html',\n openAnalyzer: false,\n ...extraConfig,\n }),\n ]\n}\n\nexport const htmlConfigFactory = ({ html = {}, embed }: { embed?: boolean; html?: Partial<HtmlWebpackPlugin.Options> } = {}) => {\n const template = html.template ?? path.join(process.cwd(), 'template.html')\n const templateExists = fs.existsSync(template)\n const templateContent = `<!DOCTYPE html>\n <html>\n <head>\n <meta charset=\"UTF-8\" />\n </head>\n <body>\n <div id=\"root\"></div>\n </body>\n </html>`\n const favicon = html.favicon ? (path.isAbsolute(html.favicon) ? html.favicon : path.join(process.cwd(), html.favicon)) : undefined\n const plugins: WebpackPluginInstance[] = [\n new HtmlWebpackPlugin({\n inject: 'body',\n lang: 'en-US',\n ...(templateExists ? { template } : { templateContent }),\n ...html,\n favicon,\n }),\n ]\n\n if (embed) {\n plugins.push(new HtmlInlineSourcePlugin())\n }\n\n return plugins\n}\n\nexport const terserConfigFactory = ({ enableSourcemaps = true, terserOptions = {} as MinifyOptions, embed = false } = {}) => [\n /* eslint-disable @typescript-eslint/naming-convention */\n new TerserPlugin({\n parallel: true,\n extractComments: !embed,\n terserOptions: {\n ie8: false,\n sourceMap: enableSourcemaps,\n compress: {\n evaluate: false,\n },\n keep_fnames: true,\n keep_classnames: true,\n mangle: {\n keep_fnames: true,\n keep_classnames: true,\n },\n ...terserOptions,\n },\n }),\n]\n"]}
|