@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/loaders/index.js CHANGED
@@ -1,17 +1,19 @@
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
- exports.markdownConfigFactory = exports.babelConfigFactory = exports.assetExtensions = exports.imageExtensions = exports.fontExtensions = exports.nullConfigFactory = exports.styleConfigFactory = void 0;
7
- const mini_css_extract_plugin_1 = __importDefault(require("mini-css-extract-plugin"));
8
- const postcss_import_webpack_resolver_1 = __importDefault(require("postcss-import-webpack-resolver"));
9
- const WebcomponentStyleLoader = require.resolve('./WebcomponentStyleLoader');
10
- const remark_code_import_1 = __importDefault(require("remark-code-import"));
11
- const rehype_unwrap_images_1 = __importDefault(require("rehype-unwrap-images"));
12
- const remark_embed_images_1 = __importDefault(require("remark-embed-images"));
13
- const styleConfigFactory = ({ raw = false, extract = false, sourceMap = false, typedStyles = false, modules = undefined, parser = undefined, aliases = {}, } = {}) => {
14
- var _a;
1
+ import MiniCssExtractPlugin from 'mini-css-extract-plugin';
2
+ import enhancedResolve from 'enhanced-resolve';
3
+ import codeImport from 'remark-code-import';
4
+ import imageUnwrap from 'rehype-unwrap-images';
5
+ import imageImport from 'remark-embed-images';
6
+ // Resolving `./WebcomponentStyleLoader`'s absolute path needs `require.resolve` (extensionless, so it
7
+ // finds the `.ts` source under ts-jest and the compiled `.js` in the built output alike) - delegated
8
+ // to a plain `.cjs` sibling since this file's own build output has no `require` at all (see that
9
+ // file for why).
10
+ import WebcomponentStyleLoader from './resolveWebcomponentStyleLoaderPath.cjs';
11
+ // `enhanced-resolve`'s named exports aren't statically analyzable by Node's CJS/ESM interop
12
+ // (cjs-module-lexer) at runtime, so `import { create } from 'enhanced-resolve'` throws
13
+ // `SyntaxError: Named export 'create' not found` for real ESM consumers - destructuring off the
14
+ // default import is the Node-recommended workaround.
15
+ const { create: createEnhancedResolver } = enhancedResolve;
16
+ export const styleConfigFactory = ({ raw = false, extract = false, sourceMap = false, typedStyles = false, modules = undefined, parser = undefined, aliases = {}, } = {}) => {
15
17
  const loaders = [];
16
18
  if (raw) {
17
19
  loaders.push({
@@ -26,7 +28,7 @@ const styleConfigFactory = ({ raw = false, extract = false, sourceMap = false, t
26
28
  else {
27
29
  if (extract) {
28
30
  loaders.push({
29
- loader: mini_css_extract_plugin_1.default.loader,
31
+ loader: MiniCssExtractPlugin.loader,
30
32
  options: {
31
33
  publicPath: './',
32
34
  },
@@ -54,11 +56,10 @@ const styleConfigFactory = ({ raw = false, extract = false, sourceMap = false, t
54
56
  ? {
55
57
  esModule: true,
56
58
  modules: {
57
- localIdentName: (_a = modules === null || modules === void 0 ? void 0 : modules.localIdentName) !== null && _a !== void 0 ? _a : '[local]_[hash:base64:5]',
59
+ localIdentName: modules?.localIdentName ?? '[local]_[hash:base64:5]',
58
60
  getLocalIdent: (loaderContext, _, localName) => {
59
- var _a;
60
61
  const { resourcePath } = loaderContext;
61
- const mappings = (_a = modules === null || modules === void 0 ? void 0 : modules.mappings) !== null && _a !== void 0 ? _a : [];
62
+ const mappings = modules?.mappings ?? [];
62
63
  const mapping = mappings.find(({ filter }) => resourcePath.includes(filter));
63
64
  if (!mapping) {
64
65
  return undefined; // this will trigger the default css-loader getLocalIdent function
@@ -78,6 +79,11 @@ const styleConfigFactory = ({ raw = false, extract = false, sourceMap = false, t
78
79
  loader: 'resolve-url-loader',
79
80
  };
80
81
  loaders.push(resolveUrlLoader);
82
+ const resolveCssImport = createEnhancedResolver.sync({
83
+ extensions: ['.css'],
84
+ modules: ['node_modules'],
85
+ alias: aliases,
86
+ });
81
87
  const postcssLoader = {
82
88
  loader: 'postcss-loader',
83
89
  options: {
@@ -90,9 +96,7 @@ const styleConfigFactory = ({ raw = false, extract = false, sourceMap = false, t
90
96
  [
91
97
  'postcss-import',
92
98
  {
93
- resolve: (0, postcss_import_webpack_resolver_1.default)({
94
- alias: aliases,
95
- }),
99
+ resolve: (id, basedir) => resolveCssImport(basedir, id),
96
100
  modules: ['./node_modules', 'node_modules'],
97
101
  },
98
102
  ],
@@ -111,32 +115,28 @@ const styleConfigFactory = ({ raw = false, extract = false, sourceMap = false, t
111
115
  loaders.push(postcssLoader);
112
116
  return loaders;
113
117
  };
114
- exports.styleConfigFactory = styleConfigFactory;
115
- const nullConfigFactory = ({ rules = [] } = {}) => {
118
+ export const nullConfigFactory = ({ rules = [] } = {}) => {
116
119
  return rules.map((rule) => ({
117
120
  test: rule,
118
121
  use: 'null-loader',
119
122
  enforce: 'post',
120
123
  }));
121
124
  };
122
- exports.nullConfigFactory = nullConfigFactory;
123
- exports.fontExtensions = ['ttf', 'eot', 'woff', 'woff2'];
124
- exports.imageExtensions = ['png', 'jpg', 'jpeg', 'gif', 'svg', 'ico'];
125
- const assetExtensions = (extensions = [...exports.imageExtensions, ...exports.fontExtensions]) => new RegExp(`\\.(${extensions.join('|')})(\\?.*$|$)?$`);
126
- exports.assetExtensions = assetExtensions;
127
- const babelConfigFactory = ({ babel = undefined }) => {
125
+ export const fontExtensions = ['ttf', 'eot', 'woff', 'woff2'];
126
+ export const imageExtensions = ['png', 'jpg', 'jpeg', 'gif', 'svg', 'ico'];
127
+ export const assetExtensions = (extensions = [...imageExtensions, ...fontExtensions]) => new RegExp(`\\.(${extensions.join('|')})(\\?.*$|$)?$`);
128
+ export const babelConfigFactory = ({ babel = undefined }) => {
128
129
  const loaders = [{ loader: 'babel-loader', options: babel }];
129
130
  return loaders;
130
131
  };
131
- exports.babelConfigFactory = babelConfigFactory;
132
- const markdownConfigFactory = ({ babel, remark = [], rehype = [], useProvider = false, } = {}) => {
132
+ export const markdownConfigFactory = ({ babel, remark = [], rehype = [], useProvider = false, } = {}) => {
133
133
  const loaders = [];
134
134
  if (babel) {
135
- loaders.push(...(0, exports.babelConfigFactory)({ babel }));
135
+ loaders.push(...babelConfigFactory({ babel }));
136
136
  loaders.push({
137
137
  loader: '@mdx-js/loader',
138
138
  options: {
139
- remarkPlugins: [remark_code_import_1.default, remark_embed_images_1.default, rehype_unwrap_images_1.default, ...remark],
139
+ remarkPlugins: [codeImport, imageImport, imageUnwrap, ...remark],
140
140
  rehypePlugins: rehype,
141
141
  providerImportSource: useProvider ? '@mdx-js/react' : undefined,
142
142
  },
@@ -151,5 +151,4 @@ const markdownConfigFactory = ({ babel, remark = [], rehype = [], useProvider =
151
151
  }
152
152
  return loaders;
153
153
  };
154
- exports.markdownConfigFactory = markdownConfigFactory;
155
- //# sourceMappingURL=index.js.map
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9hZGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLG9CQUFvQixNQUFNLHlCQUF5QixDQUFBO0FBQzFELE9BQU8sZUFBZSxNQUFNLGtCQUFrQixDQUFBO0FBQzlDLE9BQU8sVUFBVSxNQUFNLG9CQUFvQixDQUFBO0FBQzNDLE9BQU8sV0FBVyxNQUFNLHNCQUFzQixDQUFBO0FBQzlDLE9BQU8sV0FBVyxNQUFNLHFCQUFxQixDQUFBO0FBRTdDLHNHQUFzRztBQUN0RyxxR0FBcUc7QUFDckcsaUdBQWlHO0FBQ2pHLGlCQUFpQjtBQUNqQixPQUFPLHVCQUF1QixNQUFNLDBDQUEwQyxDQUFBO0FBRTlFLDRGQUE0RjtBQUM1Rix1RkFBdUY7QUFDdkYsZ0dBQWdHO0FBQ2hHLHFEQUFxRDtBQUNyRCxNQUFNLEVBQUUsTUFBTSxFQUFFLHNCQUFzQixFQUFFLEdBQUcsZUFBZSxDQUFBO0FBRTFELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsRUFDakMsR0FBRyxHQUFHLEtBQUssRUFDWCxPQUFPLEdBQUcsS0FBSyxFQUNmLFNBQVMsR0FBRyxLQUFLLEVBQ2pCLFdBQVcsR0FBRyxLQUFLLEVBQ25CLE9BQU8sR0FBRyxTQUdHLEVBQ2IsTUFBTSxHQUFHLFNBQW1ELEVBQzVELE9BQU8sR0FBRyxFQUE0QixNQUNwQyxFQUFFLEVBQUUsRUFBRTtJQUNSLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQTtJQUVsQixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1IsT0FBTyxDQUFDLElBQUksQ0FBQztZQUNYLE1BQU0sRUFBRSx1QkFBdUI7WUFDL0IsT0FBTyxFQUFFO2dCQUNQLEdBQUcsRUFBRSxJQUFJO2dCQUNULElBQUksRUFBRSxPQUFPO2dCQUNiLE9BQU8sRUFBRSxXQUFXO2FBQ3JCO1NBQ0YsQ0FBQyxDQUFBO0lBQ0osQ0FBQztTQUFNLENBQUM7UUFD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QUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLEVBQ3BDLEtBQUssRUFDTCxNQUFNLEdBQUcsRUFBRSxFQUNYLE1BQU0sR0FBRyxFQUFFLEVBQ1gsV0FBVyxHQUFHLEtBQUssTUFDdUQsRUFBRSxFQUFFLEVBQUU7SUFDaEYsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFBO0lBRWxCLElBQUksS0FBSyxFQUFFLENBQUM7UUFDVixPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsa0JBQWtCLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDOUMsT0FBTyxDQUFDLElBQUksQ0FBQztZQUNYLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsT0FBTyxFQUFFO2dCQUNQLGFBQWEsRUFBRSxDQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLEdBQUcsTUFBTSxDQUFDO2dCQUNoRSxhQUFhLEVBQUUsTUFBTTtnQkFDckIsb0JBQW9CLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLFNBQVM7YUFDaEU7U0FDRixDQUFDLENBQUE7SUFDSixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sQ0FBQyxJQUFJLENBQ1Y7WUFDRSxNQUFNLEVBQUUsYUFBYTtTQUN0QixFQUNEO1lBQ0UsTUFBTSxFQUFFLGlCQUFpQjtTQUMxQixDQUNGLENBQUE7SUFDSCxDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUE7QUFDaEIsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IE1pbmlDc3NFeHRyYWN0UGx1Z2luIGZyb20gJ21pbmktY3NzLWV4dHJhY3QtcGx1Z2luJ1xuaW1wb3J0IGVuaGFuY2VkUmVzb2x2ZSBmcm9tICdlbmhhbmNlZC1yZXNvbHZlJ1xuaW1wb3J0IGNvZGVJbXBvcnQgZnJvbSAncmVtYXJrLWNvZGUtaW1wb3J0J1xuaW1wb3J0IGltYWdlVW53cmFwIGZyb20gJ3JlaHlwZS11bndyYXAtaW1hZ2VzJ1xuaW1wb3J0IGltYWdlSW1wb3J0IGZyb20gJ3JlbWFyay1lbWJlZC1pbWFnZXMnXG5cbi8vIFJlc29sdmluZyBgLi9XZWJjb21wb25lbnRTdHlsZUxvYWRlcmAncyBhYnNvbHV0ZSBwYXRoIG5lZWRzIGByZXF1aXJlLnJlc29sdmVgIChleHRlbnNpb25sZXNzLCBzbyBpdFxuLy8gZmluZHMgdGhlIGAudHNgIHNvdXJjZSB1bmRlciB0cy1qZXN0IGFuZCB0aGUgY29tcGlsZWQgYC5qc2AgaW4gdGhlIGJ1aWx0IG91dHB1dCBhbGlrZSkgLSBkZWxlZ2F0ZWRcbi8vIHRvIGEgcGxhaW4gYC5janNgIHNpYmxpbmcgc2luY2UgdGhpcyBmaWxlJ3Mgb3duIGJ1aWxkIG91dHB1dCBoYXMgbm8gYHJlcXVpcmVgIGF0IGFsbCAoc2VlIHRoYXRcbi8vIGZpbGUgZm9yIHdoeSkuXG5pbXBvcnQgV2ViY29tcG9uZW50U3R5bGVMb2FkZXIgZnJvbSAnLi9yZXNvbHZlV2ViY29tcG9uZW50U3R5bGVMb2FkZXJQYXRoLmNqcydcblxuLy8gYGVuaGFuY2VkLXJlc29sdmVgJ3MgbmFtZWQgZXhwb3J0cyBhcmVuJ3Qgc3RhdGljYWxseSBhbmFseXphYmxlIGJ5IE5vZGUncyBDSlMvRVNNIGludGVyb3Bcbi8vIChjanMtbW9kdWxlLWxleGVyKSBhdCBydW50aW1lLCBzbyBgaW1wb3J0IHsgY3JlYXRlIH0gZnJvbSAnZW5oYW5jZWQtcmVzb2x2ZSdgIHRocm93c1xuLy8gYFN5bnRheEVycm9yOiBOYW1lZCBleHBvcnQgJ2NyZWF0ZScgbm90IGZvdW5kYCBmb3IgcmVhbCBFU00gY29uc3VtZXJzIC0gZGVzdHJ1Y3R1cmluZyBvZmYgdGhlXG4vLyBkZWZhdWx0IGltcG9ydCBpcyB0aGUgTm9kZS1yZWNvbW1lbmRlZCB3b3JrYXJvdW5kLlxuY29uc3QgeyBjcmVhdGU6IGNyZWF0ZUVuaGFuY2VkUmVzb2x2ZXIgfSA9IGVuaGFuY2VkUmVzb2x2ZVxuXG5leHBvcnQgY29uc3Qgc3R5bGVDb25maWdGYWN0b3J5ID0gKHtcbiAgcmF3ID0gZmFsc2UsXG4gIGV4dHJhY3QgPSBmYWxzZSxcbiAgc291cmNlTWFwID0gZmFsc2UsXG4gIHR5cGVkU3R5bGVzID0gZmFsc2UsXG4gIG1vZHVsZXMgPSB1bmRlZmluZWQgYXNcbiAgICB8IHsgbG9jYWxJZGVudE5hbWU/OiBzdHJpbmc7IG1hcHBpbmdzPzogeyBmaWx0ZXI6IHN0cmluZzsgdHJhbnNmb3JtOiAocDogc3RyaW5nKSA9PiBzdHJpbmcgfVtdIH1cbiAgICB8IChib29sZWFuICYgeyBsb2NhbElkZW50TmFtZT86IG5ldmVyOyBtYXBwaW5ncz86IG5ldmVyIH0pXG4gICAgfCB1bmRlZmluZWQsXG4gIHBhcnNlciA9IHVuZGVmaW5lZCBhcyAncG9zdGNzcycgfCAncG9zdGNzcy1zY3NzJyB8IHVuZGVmaW5lZCxcbiAgYWxpYXNlcyA9IHt9IGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG59ID0ge30pID0+IHtcbiAgY29uc3QgbG9hZGVycyA9IFtdXG5cbiAgaWYgKHJhdykge1xuICAgIGxvYWRlcnMucHVzaCh7XG4gICAgICBsb2FkZXI6IFdlYmNvbXBvbmVudFN0eWxlTG9hZGVyLFxuICAgICAgb3B0aW9uczoge1xuICAgICAgICByYXc6IHRydWUsXG4gICAgICAgIGVtaXQ6IGV4dHJhY3QsXG4gICAgICAgIHR5cGluZ3M6IHR5cGVkU3R5bGVzLFxuICAgICAgfSxcbiAgICB9KVxuICB9IGVsc2Uge1xuICAgIGlmIChleHRyYWN0KSB7XG4gICAgICBsb2FkZXJzLnB1c2goe1xuICAgICAgICBsb2FkZXI6IE1pbmlDc3NFeHRyYWN0UGx1Z2luLmxvYWRlcixcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIHB1YmxpY1BhdGg6ICcuLycsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgIH0gZWxzZSB7XG4gICAgICBsb2FkZXJzLnB1c2goeyBsb2FkZXI6ICdzdHlsZS1sb2FkZXInIH0pXG4gICAgfVxuXG4gICAgaWYgKHR5cGVkU3R5bGVzKSB7XG4gICAgICBsb2FkZXJzLnB1c2goe1xuICAgICAgICBsb2FkZXI6IFdlYmNvbXBvbmVudFN0eWxlTG9hZGVyLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgcmF3OiBmYWxzZSxcbiAgICAgICAgICBlbWl0OiBmYWxzZSxcbiAgICAgICAgICB0eXBpbmdzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICBjb25zdCBjc3NMb2FkZXIgPSB7XG4gICAgbG9hZGVyOiAnY3NzLWxvYWRlcicsXG4gICAgb3B0aW9uczoge1xuICAgICAgc291cmNlTWFwLFxuICAgICAgLi4uKG1vZHVsZXMgfHwgdHlwZWRTdHlsZXNcbiAgICAgICAgPyB7XG4gICAgICAgICAgICBlc01vZHVsZTogdHJ1ZSxcbiAgICAgICAgICAgIG1vZHVsZXM6IHtcbiAgICAgICAgICAgICAgbG9jYWxJZGVudE5hbWU6IG1vZHVsZXM/LmxvY2FsSWRlbnROYW1lID8/ICdbbG9jYWxdX1toYXNoOmJhc2U2NDo1XScsXG4gICAgICAgICAgICAgIGdldExvY2FsSWRlbnQ6IChsb2FkZXJDb250ZXh0OiB7IHJlc291cmNlUGF0aDogc3RyaW5nIH0sIF86IGFueSwgbG9jYWxOYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHJlc291cmNlUGF0aCB9ID0gbG9hZGVyQ29udGV4dFxuICAgICAgICAgICAgICAgIGNvbnN0IG1hcHBpbmdzID0gbW9kdWxlcz8ubWFwcGluZ3MgPz8gW11cbiAgICAgICAgICAgICAgICBjb25zdCBtYXBwaW5nID0gbWFwcGluZ3MuZmluZCgoeyBmaWx0ZXIgfSkgPT4gcmVzb3VyY2VQYXRoLmluY2x1ZGVzKGZpbHRlcikpXG4gICAgICAgICAgICAgICAgaWYgKCFtYXBwaW5nKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkIC8vIHRoaXMgd2lsbCB0cmlnZ2VyIHRoZSBkZWZhdWx0IGNzcy1sb2FkZXIgZ2V0TG9jYWxJZGVudCBmdW5jdGlvblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gbWFwcGluZy50cmFuc2Zvcm0obG9jYWxOYW1lKVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBleHBvcnRMb2NhbHNDb252ZW50aW9uOiAnY2FtZWxDYXNlT25seScsXG4gICAgICAgICAgICAgIG5hbWVkRXhwb3J0OiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNvdXJjZU1hcCxcbiAgICAgICAgICB9XG4gICAgICAgIDogeyBtb2R1bGVzOiBmYWxzZSB9KSxcbiAgICB9LFxuICB9XG5cbiAgbG9hZGVycy5wdXNoKGNzc0xvYWRlcilcblxuICBjb25zdCByZXNvbHZlVXJsTG9hZGVyID0ge1xuICAgIGxvYWRlcjogJ3Jlc29sdmUtdXJsLWxvYWRlcicsXG4gIH1cblxuICBsb2FkZXJzLnB1c2gocmVzb2x2ZVVybExvYWRlcilcblxuICBjb25zdCByZXNvbHZlQ3NzSW1wb3J0ID0gY3JlYXRlRW5oYW5jZWRSZXNvbHZlci5zeW5jKHtcbiAgICBleHRlbnNpb25zOiBbJy5jc3MnXSxcbiAgICBtb2R1bGVzOiBbJ25vZGVfbW9kdWxlcyddLFxuICAgIGFsaWFzOiBhbGlhc2VzLFxuICB9KVxuXG4gIGNvbnN0IHBvc3Rjc3NMb2FkZXIgPSB7XG4gICAgbG9hZGVyOiAncG9zdGNzcy1sb2FkZXInLFxuICAgIG9wdGlvbnM6IHtcbiAgICAgIHNvdXJjZU1hcDogdHJ1ZSxcbiAgICAgIHBvc3Rjc3NPcHRpb25zOiB7XG4gICAgICAgIHBhcnNlcixcbiAgICAgICAgcGx1Z2luczogW1xuICAgICAgICAgICdwb3N0Y3NzLW5vcm1hbGl6ZS13aGl0ZXNwYWNlJyxcbiAgICAgICAgICAncG9zdGNzcy1kaXNjYXJkLWNvbW1lbnRzJyxcbiAgICAgICAgICBbXG4gICAgICAgICAgICAncG9zdGNzcy1pbXBvcnQnLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICByZXNvbHZlOiAoaWQ6IHN0cmluZywgYmFzZWRpcjogc3RyaW5nKSA9PiByZXNvbHZlQ3NzSW1wb3J0KGJhc2VkaXIsIGlkKSxcbiAgICAgICAgICAgICAgbW9kdWxlczogWycuL25vZGVfbW9kdWxlcycsICdub2RlX21vZHVsZXMnXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICAncG9zdGNzcy1uZXN0ZWQnLFxuICAgICAgICAgIC8vICdhdXRvcHJlZml4ZXInLFxuICAgICAgICAgIFtcbiAgICAgICAgICAgICdwb3N0Y3NzLXByZXNldC1lbnYnLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBzdGFnZTogMyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfVxuXG4gIGxvYWRlcnMucHVzaChwb3N0Y3NzTG9hZGVyKVxuXG4gIHJldHVybiBsb2FkZXJzXG59XG5cbmV4cG9ydCBjb25zdCBudWxsQ29uZmlnRmFjdG9yeSA9ICh7IHJ1bGVzID0gW10gYXMgUmVnRXhwW10gfSA9IHt9KSA9PiB7XG4gIHJldHVybiBydWxlcy5tYXAoKHJ1bGUpID0+ICh7XG4gICAgdGVzdDogcnVsZSxcbiAgICB1c2U6ICdudWxsLWxvYWRlcicsXG4gICAgZW5mb3JjZTogJ3Bvc3QnLFxuICB9KSlcbn1cblxuZXhwb3J0IGNvbnN0IGZvbnRFeHRlbnNpb25zID0gWyd0dGYnLCAnZW90JywgJ3dvZmYnLCAnd29mZjInXVxuZXhwb3J0IGNvbnN0IGltYWdlRXh0ZW5zaW9ucyA9IFsncG5nJywgJ2pwZycsICdqcGVnJywgJ2dpZicsICdzdmcnLCAnaWNvJ11cbmV4cG9ydCBjb25zdCBhc3NldEV4dGVuc2lvbnMgPSAoZXh0ZW5zaW9ucyA9IFsuLi5pbWFnZUV4dGVuc2lvbnMsIC4uLmZvbnRFeHRlbnNpb25zXSBhcyBzdHJpbmdbXSkgPT5cbiAgbmV3IFJlZ0V4cChgXFxcXC4oJHtleHRlbnNpb25zLmpvaW4oJ3wnKX0pKFxcXFw/LiokfCQpPyRgKVxuXG5leHBvcnQgY29uc3QgYmFiZWxDb25maWdGYWN0b3J5ID0gKHsgYmFiZWwgPSB1bmRlZmluZWQgYXMgYW55IH0pID0+IHtcbiAgY29uc3QgbG9hZGVycyA9IFt7IGxvYWRlcjogJ2JhYmVsLWxvYWRlcicsIG9wdGlvbnM6IGJhYmVsIH1dXG4gIHJldHVybiBsb2FkZXJzXG59XG5cbmV4cG9ydCBjb25zdCBtYXJrZG93bkNvbmZpZ0ZhY3RvcnkgPSAoe1xuICBiYWJlbCxcbiAgcmVtYXJrID0gW10sXG4gIHJlaHlwZSA9IFtdLFxuICB1c2VQcm92aWRlciA9IGZhbHNlLFxufTogeyBiYWJlbD86IGFueTsgcmVtYXJrPzogYW55W107IHJlaHlwZT86IGFueVtdOyB1c2VQcm92aWRlcj86IGJvb2xlYW4gfSA9IHt9KSA9PiB7XG4gIGNvbnN0IGxvYWRlcnMgPSBbXVxuXG4gIGlmIChiYWJlbCkge1xuICAgIGxvYWRlcnMucHVzaCguLi5iYWJlbENvbmZpZ0ZhY3RvcnkoeyBiYWJlbCB9KSlcbiAgICBsb2FkZXJzLnB1c2goe1xuICAgICAgbG9hZGVyOiAnQG1keC1qcy9sb2FkZXInLFxuICAgICAgb3B0aW9uczoge1xuICAgICAgICByZW1hcmtQbHVnaW5zOiBbY29kZUltcG9ydCwgaW1hZ2VJbXBvcnQsIGltYWdlVW53cmFwLCAuLi5yZW1hcmtdLFxuICAgICAgICByZWh5cGVQbHVnaW5zOiByZWh5cGUsXG4gICAgICAgIHByb3ZpZGVySW1wb3J0U291cmNlOiB1c2VQcm92aWRlciA/ICdAbWR4LWpzL3JlYWN0JyA6IHVuZGVmaW5lZCxcbiAgICAgIH0sXG4gICAgfSlcbiAgfSBlbHNlIHtcbiAgICBsb2FkZXJzLnB1c2goXG4gICAgICB7XG4gICAgICAgIGxvYWRlcjogJ2h0bWwtbG9hZGVyJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGxvYWRlcjogJ21hcmtkb3duLWxvYWRlcicsXG4gICAgICB9LFxuICAgIClcbiAgfVxuICByZXR1cm4gbG9hZGVyc1xufVxuIl19
@@ -0,0 +1,9 @@
1
+ // Plain CommonJS on purpose: `require.resolve` here needs to resolve `./WebcomponentStyleLoader`
2
+ // extensionlessly in both environments this project runs in - against the `.ts` source (ts-jest
3
+ // registers a `.ts` require extension, and this file always runs as real CJS regardless of the
4
+ // enclosing package's `"type": "module"`) and, in the built output, against the compiled `.js`
5
+ // (Node's own default-extension lookup in `require.resolve`, no registration needed). A `.ts` file
6
+ // can't do this itself: this project's `module: "preserve"` setting means the ESM build output has
7
+ // no `require` at all, and the only ESM-native alternative (`import.meta.url`) is TS-restricted
8
+ // under "preserve".
9
+ module.exports = require.resolve('./WebcomponentStyleLoader')
@@ -0,0 +1,2 @@
1
+ declare const webcomponentStyleLoaderPath: string
2
+ export default webcomponentStyleLoaderPath
package/package.json CHANGED
@@ -1,37 +1,37 @@
1
1
  {
2
2
  "name": "@enhanced-dom/webpack",
3
- "version": "0.4.0",
3
+ "version": "0.5.1",
4
4
  "description": "Helpers for webpack configuration",
5
5
  "keywords": [],
6
6
  "repository": "https://github.com/enhanced-dom/webpack.git",
7
7
  "license": "MIT",
8
8
  "author": "CD9B4A105290E17E0948E021DF4105107C88693C59C0B891CCC08366C51AEA990902A6A156AC87D88A2FC41422A5E1C3C4071F251F19441C4516000EC25F87DF",
9
+ "type": "module",
9
10
  "main": "index.js",
10
11
  "dependencies": {
11
- "@enhanced-dom/build": "~0.2.0",
12
+ "@enhanced-dom/build": "^0.3.2",
12
13
  "@mdx-js/loader": "^3.1.1",
13
- "babel-loader": "^10.0.0",
14
- "css-loader": "^7.1.2",
15
- "cssnano-preset-advanced": "^7.0.10",
14
+ "babel-loader": "^10.1.1",
15
+ "css-loader": "^7.1.5",
16
+ "cssnano-preset-advanced": "^9.3.0",
16
17
  "html-inline-css-webpack-plugin": "^1.11.2",
17
18
  "html-inline-script-webpack-plugin": "^3.2.1",
18
- "html-loader": "^5.0.0",
19
- "html-webpack-inline-source-plugin": "^0.0.10",
20
- "html-webpack-plugin": "^5.6.0",
19
+ "html-loader": "^5.1.0",
20
+ "html-webpack-plugin": "^5.6.8",
21
21
  "ignore-emit-webpack-plugin": "^2.0.6",
22
22
  "markdown-loader": "^8.0.0",
23
23
  "memory-fs": "^0.5.0",
24
- "mini-css-extract-plugin": "^2.8.0",
24
+ "mini-css-extract-plugin": "^2.10.2",
25
25
  "null-loader": "^4.0.1",
26
26
  "css-minimizer-webpack-plugin": "^8.0.0",
27
- "postcss": "^8.5.15",
28
- "postcss-discard-comments": "^7.0.5",
29
- "postcss-import": "^16.0.0",
30
- "postcss-import-webpack-resolver": "^1.0.1",
31
- "postcss-loader": "^8.2.0",
32
- "postcss-nested": "^7.0.2",
33
- "postcss-normalize-whitespace": "^7.0.1",
34
- "postcss-preset-env": "^10.4.0",
27
+ "enhanced-resolve": "^5.26.0",
28
+ "postcss": "^8.5.29",
29
+ "postcss-discard-comments": "^9.0.7",
30
+ "postcss-import": "^17.0.0",
31
+ "postcss-loader": "^8.2.1",
32
+ "postcss-nested": "^8.0.1",
33
+ "postcss-normalize-whitespace": "^9.0.6",
34
+ "postcss-preset-env": "^11.6.1",
35
35
  "postcss-scss": "^4.0.9",
36
36
  "raw-loader": "^4.0.2",
37
37
  "remark-code-import": "^1.2.0",
@@ -40,25 +40,26 @@
40
40
  "resolve-url-loader": "^5.0.0",
41
41
  "source-map-loader": "^5.0.0",
42
42
  "style-loader": "^4.0.0",
43
- "terser-webpack-plugin": "^5.3.10",
44
- "webpack": "^5.107.2",
45
- "webpack-bundle-analyzer": "^5.0.1",
46
- "webpack-cli": "^6.0.1",
47
- "webpack-dev-server": "^5.2.5",
48
- "serve": "^14.2.5"
43
+ "terser-webpack-plugin": "^5.6.1",
44
+ "webpack": "^5.111.0",
45
+ "webpack-bundle-analyzer": "^5.4.0",
46
+ "webpack-cli": "^7.2.3",
47
+ "webpack-dev-server": "^6.0.0",
48
+ "webpack-license-plugin": "^4.5.1",
49
+ "serve": "^14.2.6"
49
50
  },
50
51
  "devDependencies": {
51
- "@enhanced-dom/lint": "~0.2.1",
52
- "@types/html-webpack-plugin": "^3.2.9",
53
- "@types/loader-utils": "^3.0.0",
52
+ "@enhanced-dom/claude": "^0.3.1",
53
+ "@enhanced-dom/jest": "^0.3.0",
54
+ "@enhanced-dom/lint": "^0.4.2",
54
55
  "@types/memory-fs": "^0.3.7",
56
+ "@types/node": "^22.20.5",
55
57
  "@types/optimize-css-assets-webpack-plugin": "^5.0.8",
56
58
  "@types/webpack": "^5.28.5",
57
- "@types/webpack-bundle-analyzer": "^4.7.0",
58
- "typescript": "^5.9.3"
59
+ "@types/webpack-bundle-analyzer": "^4.7.0"
59
60
  },
60
61
  "engines": {
61
- "node": ">=20",
62
- "npm": ">=10"
62
+ "node": ">=22.23.2",
63
+ "npm": ">=12"
63
64
  }
64
65
  }
@@ -0,0 +1,7 @@
1
+ import { type Compiler, type WebpackPluginInstance } from 'webpack';
2
+ declare class DefineEnvPlugin implements WebpackPluginInstance {
3
+ envVarNames: string[];
4
+ constructor(envVarNames: string[]);
5
+ apply(compiler: Compiler): void;
6
+ }
7
+ export default DefineEnvPlugin;
@@ -0,0 +1,17 @@
1
+ // Delegates to the host compiler's own webpack.DefinePlugin (via compiler.webpack, not a direct
2
+ // `import { DefinePlugin } from 'webpack'`) - DefinePlugin hooks deep into the compiler's own
3
+ // Parser/ConstDependency internals, so constructing it from this package's own bundled webpack
4
+ // dependency could silently mismatch a different webpack instance/version the host project
5
+ // actually resolves. Same reasoning as HtmlInlineSourcePlugin's compiler.webpack.Compilation use.
6
+ class DefineEnvPlugin {
7
+ envVarNames;
8
+ constructor(envVarNames) {
9
+ this.envVarNames = envVarNames;
10
+ }
11
+ apply(compiler) {
12
+ const defines = this.envVarNames.reduce((acc, name) => ({ ...acc, [`process.env.${name}`]: JSON.stringify(process.env[name]) }), {});
13
+ new compiler.webpack.DefinePlugin(defines).apply(compiler);
14
+ }
15
+ }
16
+ export default DefineEnvPlugin;
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVmaW5lRW52UGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BsdWdpbnMvRGVmaW5lRW52UGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGdHQUFnRztBQUNoRyw4RkFBOEY7QUFDOUYsK0ZBQStGO0FBQy9GLDJGQUEyRjtBQUMzRixrR0FBa0c7QUFDbEcsTUFBTSxlQUFlO0lBQ25CLFdBQVcsQ0FBVTtJQUVyQixZQUFZLFdBQXFCO1FBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFBO0lBQ2hDLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBa0I7UUFDdEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQ3JDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFDdkYsRUFBNEIsQ0FDN0IsQ0FBQTtRQUNELElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQzVELENBQUM7Q0FDRjtBQUVELGVBQWUsZUFBZSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBDb21waWxlciwgdHlwZSBXZWJwYWNrUGx1Z2luSW5zdGFuY2UgfSBmcm9tICd3ZWJwYWNrJ1xuXG4vLyBEZWxlZ2F0ZXMgdG8gdGhlIGhvc3QgY29tcGlsZXIncyBvd24gd2VicGFjay5EZWZpbmVQbHVnaW4gKHZpYSBjb21waWxlci53ZWJwYWNrLCBub3QgYSBkaXJlY3Rcbi8vIGBpbXBvcnQgeyBEZWZpbmVQbHVnaW4gfSBmcm9tICd3ZWJwYWNrJ2ApIC0gRGVmaW5lUGx1Z2luIGhvb2tzIGRlZXAgaW50byB0aGUgY29tcGlsZXIncyBvd25cbi8vIFBhcnNlci9Db25zdERlcGVuZGVuY3kgaW50ZXJuYWxzLCBzbyBjb25zdHJ1Y3RpbmcgaXQgZnJvbSB0aGlzIHBhY2thZ2UncyBvd24gYnVuZGxlZCB3ZWJwYWNrXG4vLyBkZXBlbmRlbmN5IGNvdWxkIHNpbGVudGx5IG1pc21hdGNoIGEgZGlmZmVyZW50IHdlYnBhY2sgaW5zdGFuY2UvdmVyc2lvbiB0aGUgaG9zdCBwcm9qZWN0XG4vLyBhY3R1YWxseSByZXNvbHZlcy4gU2FtZSByZWFzb25pbmcgYXMgSHRtbElubGluZVNvdXJjZVBsdWdpbidzIGNvbXBpbGVyLndlYnBhY2suQ29tcGlsYXRpb24gdXNlLlxuY2xhc3MgRGVmaW5lRW52UGx1Z2luIGltcGxlbWVudHMgV2VicGFja1BsdWdpbkluc3RhbmNlIHtcbiAgZW52VmFyTmFtZXM6IHN0cmluZ1tdXG5cbiAgY29uc3RydWN0b3IoZW52VmFyTmFtZXM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5lbnZWYXJOYW1lcyA9IGVudlZhck5hbWVzXG4gIH1cblxuICBhcHBseShjb21waWxlcjogQ29tcGlsZXIpIHtcbiAgICBjb25zdCBkZWZpbmVzID0gdGhpcy5lbnZWYXJOYW1lcy5yZWR1Y2UoXG4gICAgICAoYWNjLCBuYW1lKSA9PiAoeyAuLi5hY2MsIFtgcHJvY2Vzcy5lbnYuJHtuYW1lfWBdOiBKU09OLnN0cmluZ2lmeShwcm9jZXNzLmVudltuYW1lXSkgfSksXG4gICAgICB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LFxuICAgIClcbiAgICBuZXcgY29tcGlsZXIud2VicGFjay5EZWZpbmVQbHVnaW4oZGVmaW5lcykuYXBwbHkoY29tcGlsZXIpXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgRGVmaW5lRW52UGx1Z2luXG4iXX0=
@@ -0,0 +1,22 @@
1
+ import { type Hooks, type HtmlTagObject } from 'html-webpack-plugin';
2
+ import { type AsyncSeriesWaterfallHook } from 'tapable';
3
+ import { type Chunk, type Compilation, type Compiler, type WebpackPluginInstance } from 'webpack';
4
+ type AsyncSeriesWaterfallHookDataType<T> = T extends AsyncSeriesWaterfallHook<infer R> ? R : never;
5
+ type TemplateExecutionDataType = AsyncSeriesWaterfallHookDataType<Hooks['afterTemplateExecution']>;
6
+ declare class HtmlInlineSourcePlugin implements WebpackPluginInstance {
7
+ assetsRegExp?: RegExp;
8
+ faviconPath?: string;
9
+ htmlAssetName?: string;
10
+ inlinedChunks?: Set<Chunk | string>;
11
+ additionalAssets?: {
12
+ pattern: RegExp;
13
+ wrapper: 'comment' | 'script';
14
+ container: 'head' | 'body' | 'footer';
15
+ }[];
16
+ resolveSourceMaps(compilation: Compilation, assetName: string, asset: Compilation['assets'][string]): string;
17
+ processTag(compilation: Compilation, regex: RegExp, tag: HtmlTagObject): HtmlTagObject;
18
+ processTags(compilation: Compilation, pluginData: TemplateExecutionDataType): TemplateExecutionDataType;
19
+ processAdditionalAssets(compilation: Compilation, html: string): string;
20
+ apply(compiler: Compiler): void;
21
+ }
22
+ export default HtmlInlineSourcePlugin;