@enhanced-dom/webpack 0.0.11 → 0.0.12

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@enhanced-dom/webpack",
3
- "version": "0.0.11",
3
+ "version": "0.0.12",
4
4
  "description": "Helpers for webpack configuration",
5
5
  "keywords": [],
6
6
  "repository": "https://github.com/enhanced-dom/webpack.git",
@@ -14,7 +14,8 @@ export declare const htmlConfigFactory: ({ html, embed }?: {
14
14
  embed?: boolean;
15
15
  html?: Partial<HtmlWebpackPlugin.Options>;
16
16
  }) => WebpackPluginInstance[];
17
- export declare const terserConfigFactory: ({ enableSourcemaps, terserOptions }?: {
17
+ export declare const terserConfigFactory: ({ enableSourcemaps, terserOptions, embed }?: {
18
18
  enableSourcemaps?: boolean;
19
19
  terserOptions?: MinifyOptions;
20
+ embed?: boolean;
20
21
  }) => TerserPlugin<MinifyOptions>[];
package/plugins/index.js CHANGED
@@ -68,10 +68,11 @@ const htmlConfigFactory = ({ html = {}, embed } = {}) => {
68
68
  return plugins;
69
69
  };
70
70
  exports.htmlConfigFactory = htmlConfigFactory;
71
- const terserConfigFactory = ({ enableSourcemaps = true, terserOptions = {} } = {}) => [
71
+ const terserConfigFactory = ({ enableSourcemaps = true, terserOptions = {}, embed = false } = {}) => [
72
72
  /* eslint-disable @typescript-eslint/naming-convention */
73
73
  new terser_webpack_plugin_1.default({
74
74
  parallel: true,
75
+ extractComments: !embed,
75
76
  terserOptions: {
76
77
  ie8: false,
77
78
  sourceMap: enableSourcemaps,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"./","sources":["plugins/index.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AACvB,qEAA8D;AAC9D,gGAA6D;AAC7D,sFAA0D;AAC1D,kFAAgD;AAEhD,8EAAmD;AACnD,4CAAmB;AAGnB,oGAAoE;AAE7D,MAAM,gBAAgB,GAAG,CAAC,EAC/B,QAAQ,GAAG,wBAAwB,EACnC,cAAc,GAAG,EAAE,MAC4B,EAAE,EAAE,EAAE;IACrD,OAAO;QACL,IAAI,iCAAoB,CAAC;YACvB,QAAQ;SACT,CAAC;QACF,IAAI,sCAAkB,CAAC;YACrB,IAAI,EAAE,SAAS;YACf,gBAAgB,EAAE;gBAChB,MAAM,EAAE,CAAC,UAAU,CAAC;gBACpB,GAAG,cAAc;aAClB;YACD,MAAM,EAAE,sCAAkB,CAAC,aAAa;SACzC,CAAC;KACH,CAAA;AACH,CAAC,CAAA;AAjBY,QAAA,gBAAgB,oBAiB5B;AAEM,MAAM,2BAA2B,GAAG,CAAC,cAA4C,EAAE,EAAE,EAAE;IAC5F,OAAO;QACL,IAAI,8CAAoB,CAAC;YACvB,YAAY,EAAE,QAAQ;YACtB,cAAc,EAAE,gCAAgC;YAChD,YAAY,EAAE,KAAK;YACnB,GAAG,WAAW;SACf,CAAC;KACH,CAAA;AACH,CAAC,CAAA;AATY,QAAA,2BAA2B,+BASvC;AAEM,MAAM,iBAAiB,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,KAAqE,EAAE,EAAE,EAAE;;IAC7H,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,QAAQ,mCAAI,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC,CAAA;IAC3E,MAAM,cAAc,GAAG,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IAC9C,MAAM,eAAe,GAAG;;;;;;;;UAQhB,CAAA;IACR,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAClI,MAAM,OAAO,GAA4B;QACvC,IAAI,6BAAiB,CAAC;YACpB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,OAAO;YACb,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC;YACxD,GAAG,IAAI;YACP,OAAO;SACR,CAAC;KACH,CAAA;IAED,IAAI,KAAK,EAAE;QACT,OAAO,CAAC,IAAI,CAAC,IAAI,uCAAsB,EAAE,CAAC,CAAA;KAC3C;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AA5BY,QAAA,iBAAiB,qBA4B7B;AAEM,MAAM,mBAAmB,GAAG,CAAC,EAAE,gBAAgB,GAAG,IAAI,EAAE,aAAa,GAAG,EAAmB,KAAK,EAAE,EAAE,EAAE,CAAC;IAC5G,yDAAyD;IACzD,IAAI,+BAAY,CAAC;QACf,QAAQ,EAAE,IAAI;QACd,aAAa,EAAE;YACb,GAAG,EAAE,KAAK;YACV,SAAS,EAAE,gBAAgB;YAC3B,QAAQ,EAAE;gBACR,QAAQ,EAAE,KAAK;aAChB;YACD,WAAW,EAAE,IAAI;YACjB,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE;gBACN,WAAW,EAAE,IAAI;gBACjB,eAAe,EAAE,IAAI;aACtB;YACD,GAAG,aAAa;SACjB;KACF,CAAC;CACH,CAAA;AAnBY,QAAA,mBAAmB,uBAmB/B","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 { 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 } = {}) => [\n /* eslint-disable @typescript-eslint/naming-convention */\n new TerserPlugin({\n parallel: true,\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"]}
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 { 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"]}