@workleap/webpack-configs 1.3.1 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @workleap/webpack-configs
2
2
 
3
+ ## 1.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#183](https://github.com/gsoft-inc/wl-web-configs/pull/183) [`77128e6`](https://github.com/gsoft-inc/wl-web-configs/commit/77128e666574333035e6bb077fc1982f327751eb) Thanks [@patricklafrance](https://github.com/patricklafrance)! - Added a "readable" option to Webpack optimize option.
8
+
9
+ ## 1.3.2
10
+
11
+ ### Patch Changes
12
+
13
+ - [#179](https://github.com/gsoft-inc/wl-web-configs/pull/179) [`61d3721`](https://github.com/gsoft-inc/wl-web-configs/commit/61d37216198083ba78cd4b1480e38c8d772a6119) Thanks [@patricklafrance](https://github.com/patricklafrance)! - Updated dependencies.
14
+
3
15
  ## 1.3.1
4
16
 
5
17
  ### Patch Changes
package/dist/build.d.ts CHANGED
@@ -8,6 +8,9 @@ import { WebpackConfigTransformer } from './transformers/applyTransformers.js';
8
8
  declare function defineBuildHtmlWebpackPluginConfig(options?: HtmlWebpackPlugin.Options): HtmlWebpackPlugin.Options;
9
9
  type MiniCssExtractPluginOptions = NonNullable<ConstructorParameters<typeof MiniCssExtractPlugin>[number]>;
10
10
  declare function defineMiniCssExtractPluginConfig(options?: MiniCssExtractPluginOptions): MiniCssExtractPluginOptions;
11
+ type WebpackOptimization = NonNullable<Configuration["optimization"]>;
12
+ type OptimizeOption = boolean | "readable";
13
+ declare function getOptimizationConfig(optimize: OptimizeOption): WebpackOptimization;
11
14
  interface DefineBuildConfigOptions {
12
15
  entry?: string;
13
16
  outputPath?: string;
@@ -18,7 +21,7 @@ interface DefineBuildConfigOptions {
18
21
  plugins?: Configuration["plugins"];
19
22
  htmlWebpackPlugin?: boolean | HtmlWebpackPlugin.Options;
20
23
  miniCssExtractPluginOptions?: MiniCssExtractPluginOptions;
21
- optimize?: boolean;
24
+ optimize?: OptimizeOption;
22
25
  cssModules?: boolean;
23
26
  svgr?: boolean | Config;
24
27
  environmentVariables?: Record<string, unknown>;
@@ -27,4 +30,4 @@ interface DefineBuildConfigOptions {
27
30
  }
28
31
  declare function defineBuildConfig(swcConfig: Config$1, options?: DefineBuildConfigOptions): Configuration;
29
32
 
30
- export { type DefineBuildConfigOptions, defineBuildConfig, defineBuildHtmlWebpackPluginConfig, defineMiniCssExtractPluginConfig };
33
+ export { type DefineBuildConfigOptions, type OptimizeOption, type WebpackOptimization, defineBuildConfig, defineBuildHtmlWebpackPluginConfig, defineMiniCssExtractPluginConfig, getOptimizationConfig };
package/dist/build.js CHANGED
@@ -1,3 +1,3 @@
1
- export { defineBuildConfig, defineBuildHtmlWebpackPluginConfig, defineMiniCssExtractPluginConfig } from './chunk-DUMBWXNP.js';
1
+ export { defineBuildConfig, defineBuildHtmlWebpackPluginConfig, defineMiniCssExtractPluginConfig, getOptimizationConfig } from './chunk-YYPUNR23.js';
2
2
  import './chunk-2YARCRX5.js';
3
3
  import './chunk-QJI26K46.js';
@@ -72,12 +72,15 @@ function defineDevConfig(swcConfig, options = {}) {
72
72
  // According to the Fast Refresh plugin documentation, hot should be "true" to enable Fast Refresh:
73
73
  // https://github.com/pmmmwh/react-refresh-webpack-plugin#usage.
74
74
  hot: true,
75
- https,
76
75
  host,
77
76
  port,
78
77
  historyApiFallback: true,
79
78
  client: overlay === false || fastRefresh ? {
80
79
  overlay: false
80
+ } : void 0,
81
+ server: https ? {
82
+ type: "https",
83
+ options: isObject(https) ? https : void 0
81
84
  } : void 0
82
85
  },
83
86
  entry,
@@ -31,6 +31,55 @@ function defineMiniCssExtractPluginConfig(options = {}) {
31
31
  filename
32
32
  };
33
33
  }
34
+ function getOptimizationConfig(optimize) {
35
+ if (optimize === "readable") {
36
+ return {
37
+ minimize: true,
38
+ minimizer: [
39
+ new TerserPlugin({
40
+ minify: TerserPlugin.swcMinify,
41
+ terserOptions: {
42
+ toplevel: true,
43
+ mangle: false,
44
+ keep_classnames: true,
45
+ keep_fnames: true,
46
+ compress: {
47
+ toplevel: true,
48
+ hoist_props: false
49
+ },
50
+ output: {
51
+ comments: true
52
+ }
53
+ }
54
+ })
55
+ ],
56
+ chunkIds: "named",
57
+ moduleIds: "named",
58
+ mangleExports: false,
59
+ mangleWasmImports: false
60
+ };
61
+ } else if (optimize) {
62
+ return {
63
+ minimize: true,
64
+ minimizer: [
65
+ new TerserPlugin({
66
+ minify: TerserPlugin.swcMinify
67
+ })
68
+ ]
69
+ };
70
+ }
71
+ return {
72
+ minimize: false,
73
+ chunkIds: "named",
74
+ moduleIds: "named",
75
+ concatenateModules: false,
76
+ flagIncludedChunks: false,
77
+ mangleExports: false,
78
+ mangleWasmImports: false,
79
+ removeAvailableModules: false,
80
+ usedExports: false
81
+ };
82
+ }
34
83
  function defineBuildConfig(swcConfig, options = {}) {
35
84
  const {
36
85
  entry = path.resolve("./src/index.tsx"),
@@ -93,27 +142,7 @@ function defineBuildConfig(swcConfig, options = {}) {
93
142
  timestamp: true
94
143
  }
95
144
  } : void 0,
96
- optimization: optimize ? {
97
- minimize: true,
98
- minimizer: [
99
- new TerserPlugin({
100
- minify: TerserPlugin.swcMinify,
101
- terserOptions: {
102
- compress: true,
103
- mangle: true
104
- }
105
- })
106
- ]
107
- } : {
108
- minimize: false,
109
- chunkIds: "named",
110
- concatenateModules: false,
111
- flagIncludedChunks: false,
112
- mangleExports: false,
113
- mangleWasmImports: false,
114
- moduleIds: "named",
115
- removeAvailableModules: false
116
- },
145
+ optimization: getOptimizationConfig(optimize),
117
146
  infrastructureLogging: verbose ? {
118
147
  appendOnly: true,
119
148
  level: "verbose",
@@ -199,4 +228,4 @@ function defineBuildConfig(swcConfig, options = {}) {
199
228
  return transformedConfig;
200
229
  }
201
230
 
202
- export { defineBuildConfig, defineBuildHtmlWebpackPluginConfig, defineMiniCssExtractPluginConfig };
231
+ export { defineBuildConfig, defineBuildHtmlWebpackPluginConfig, defineMiniCssExtractPluginConfig, getOptimizationConfig };
package/dist/dev.d.ts CHANGED
@@ -3,13 +3,14 @@ import { Config } from '@svgr/core';
3
3
  import { Config as Config$1 } from '@swc/core';
4
4
  import HtmlWebpackPlugin from 'html-webpack-plugin';
5
5
  import { Configuration } from 'webpack';
6
+ import { ServerOptions } from 'webpack-dev-server';
6
7
  import { WebpackConfigTransformer } from './transformers/applyTransformers.js';
7
8
 
8
9
  declare function defineDevHtmlWebpackPluginConfig(options?: HtmlWebpackPlugin.Options): HtmlWebpackPlugin.Options;
9
10
  declare function defineFastRefreshPluginConfig(options?: ReactRefreshPluginOptions): ReactRefreshPluginOptions;
10
11
  interface DefineDevConfigOptions {
11
12
  entry?: string;
12
- https?: NonNullable<Configuration["devServer"]>["https"];
13
+ https?: boolean | ServerOptions | undefined;
13
14
  host?: string;
14
15
  port?: number;
15
16
  publicPath?: `${string}/` | "auto";
package/dist/dev.js CHANGED
@@ -1,3 +1,3 @@
1
- export { defineDevConfig, defineDevHtmlWebpackPluginConfig, defineFastRefreshPluginConfig } from './chunk-FPABWZXL.js';
1
+ export { defineDevConfig, defineDevHtmlWebpackPluginConfig, defineFastRefreshPluginConfig } from './chunk-DGIXJARR.js';
2
2
  import './chunk-2YARCRX5.js';
3
3
  import './chunk-QJI26K46.js';
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { Configuration as WebpackConfig } from 'webpack';
2
- export { DefineBuildConfigOptions, defineBuildConfig, defineBuildHtmlWebpackPluginConfig, defineMiniCssExtractPluginConfig } from './build.js';
2
+ export { DefineBuildConfigOptions, OptimizeOption, WebpackOptimization, defineBuildConfig, defineBuildHtmlWebpackPluginConfig, defineMiniCssExtractPluginConfig, getOptimizationConfig } from './build.js';
3
3
  export { DefineDevConfigOptions, defineDevConfig, defineDevHtmlWebpackPluginConfig, defineFastRefreshPluginConfig } from './dev.js';
4
4
  export { WebpackConfigTransformer, WebpackConfigTransformerContext } from './transformers/applyTransformers.js';
5
5
  export { AssetModuleType, ModuleRuleMatch, ModuleRuleMatcher, WithModuleRuleMatcherInfo, addAfterModuleRule, addBeforeModuleRule, findModuleRule, findModuleRules, matchAssetModuleType, matchLoaderName, matchTest, removeModuleRules, replaceModuleRule } from './transformers/moduleRules.js';
@@ -9,3 +9,4 @@ import '@swc/core';
9
9
  import 'html-webpack-plugin';
10
10
  import 'mini-css-extract-plugin';
11
11
  import '@pmmmwh/react-refresh-webpack-plugin/types/lib/types.d.ts';
12
+ import 'webpack-dev-server';
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- export { defineBuildConfig, defineBuildHtmlWebpackPluginConfig, defineMiniCssExtractPluginConfig } from './chunk-DUMBWXNP.js';
2
- export { defineDevConfig, defineDevHtmlWebpackPluginConfig, defineFastRefreshPluginConfig } from './chunk-FPABWZXL.js';
1
+ export { defineBuildConfig, defineBuildHtmlWebpackPluginConfig, defineMiniCssExtractPluginConfig, getOptimizationConfig } from './chunk-YYPUNR23.js';
2
+ export { defineDevConfig, defineDevHtmlWebpackPluginConfig, defineFastRefreshPluginConfig } from './chunk-DGIXJARR.js';
3
3
  import './chunk-2YARCRX5.js';
4
4
  import './chunk-QJI26K46.js';
5
5
  export { addAfterModuleRule, addBeforeModuleRule, findModuleRule, findModuleRules, matchAssetModuleType, matchLoaderName, matchTest, removeModuleRules, replaceModuleRule } from './chunk-34O5ZLZ6.js';
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@workleap/webpack-configs",
3
3
  "author": "Workleap",
4
4
  "description": "Workleap recommended webpack config.",
5
- "version": "1.3.1",
5
+ "version": "1.4.0",
6
6
  "license": "Apache-2.0",
7
7
  "keywords": [
8
8
  "workleap",
@@ -42,7 +42,7 @@
42
42
  },
43
43
  "devDependencies": {
44
44
  "@svgr/core": "8.1.0",
45
- "@swc/core": "1.4.0",
45
+ "@swc/core": "1.4.1",
46
46
  "@swc/helpers": "0.5.6",
47
47
  "@swc/jest": "0.2.36",
48
48
  "@types/jest": "29.5.12",
@@ -52,14 +52,14 @@
52
52
  "postcss": "8.4.35",
53
53
  "postcss-load-config": "5.0.3",
54
54
  "ts-node": "10.9.2",
55
- "tsup": "8.0.1",
55
+ "tsup": "8.0.2",
56
56
  "typescript": "5.3.3",
57
57
  "webpack": "5.90.1",
58
- "webpack-dev-server": "4.15.1",
59
- "@workleap/eslint-plugin": "3.0.1",
60
- "@workleap/swc-configs": "2.2.1",
61
- "@workleap/tsup-configs": "3.0.2",
62
- "@workleap/typescript-configs": "3.0.2"
58
+ "webpack-dev-server": "5.0.1",
59
+ "@workleap/swc-configs": "2.2.2",
60
+ "@workleap/eslint-plugin": "3.0.2",
61
+ "@workleap/typescript-configs": "3.0.2",
62
+ "@workleap/tsup-configs": "3.0.4"
63
63
  },
64
64
  "dependencies": {
65
65
  "@pmmmwh/react-refresh-webpack-plugin": "0.5.11",