@ideasonpurpose/build-tools-wordpress 2.4.2 → 2.5.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 +6 -0
- package/README.md +1 -1
- package/config/webpack.config.js +44 -7
- package/package.json +35 -35
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file. Dates are d
|
|
|
4
4
|
|
|
5
5
|
Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|
6
6
|
|
|
7
|
+
#### v2.4.2
|
|
8
|
+
|
|
9
|
+
> 22 December 2025
|
|
10
|
+
|
|
11
|
+
- Update npm publish command with options
|
|
12
|
+
|
|
7
13
|
#### v2.4.1
|
|
8
14
|
|
|
9
15
|
> 22 December 2025
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @ideasonpurpose/build-tools-wordpress
|
|
2
2
|
|
|
3
|
-
#### Version 2.
|
|
3
|
+
#### Version 2.5.0
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/@ideasonpurpose/build-tools-wordpress)
|
|
6
6
|
[](https://github.com/ideasonpurpose/build-tools-wordpress#readme)
|
package/config/webpack.config.js
CHANGED
|
@@ -79,6 +79,9 @@ const stats = {
|
|
|
79
79
|
loggingDebug: ["sass-loader"],
|
|
80
80
|
};
|
|
81
81
|
|
|
82
|
+
/**
|
|
83
|
+
* @param {Record<string, any>} env - Environment variables from Webpack CLI
|
|
84
|
+
*/
|
|
82
85
|
export default async (env) => {
|
|
83
86
|
// const siteDir = new URL(import.meta.url).pathname;
|
|
84
87
|
const siteDir = process.cwd();
|
|
@@ -89,6 +92,15 @@ export default async (env) => {
|
|
|
89
92
|
|
|
90
93
|
const proxy = isProduction ? {} : await devserverProxy(config);
|
|
91
94
|
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Simple helper for encoding SVGs as data urls with proper encoding for special characters
|
|
98
|
+
* @param {Buffer} content
|
|
99
|
+
* @returns {string} - Encoded SVG data URL
|
|
100
|
+
*/
|
|
101
|
+
const svgDataUrlHelper = (content) =>
|
|
102
|
+
`data:image/svg+xml,${encodeURIComponent(content.toString())}`;
|
|
103
|
+
|
|
92
104
|
// console.log({config});
|
|
93
105
|
// console.log({entry: config.entry});
|
|
94
106
|
/**
|
|
@@ -101,11 +113,11 @@ export default async (env) => {
|
|
|
101
113
|
*
|
|
102
114
|
* TODO: Why so much dancing around defaults when this could just inherit from default.config?
|
|
103
115
|
*/
|
|
104
|
-
const usePolling = Boolean(config.usePolling); // likely undefined, coerced to false
|
|
105
|
-
const pollInterval = Math.max(
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
);
|
|
116
|
+
// const usePolling = Boolean(config.usePolling); // likely undefined, coerced to false
|
|
117
|
+
// const pollInterval = Math.max(
|
|
118
|
+
// parseInt(config.pollInterval, 10) || parseInt(config.usePolling, 10) || 400,
|
|
119
|
+
// 400,
|
|
120
|
+
// );
|
|
109
121
|
|
|
110
122
|
const devtool = config.devtool || false;
|
|
111
123
|
|
|
@@ -200,17 +212,35 @@ export default async (env) => {
|
|
|
200
212
|
/**
|
|
201
213
|
* SVGs can be imported as asset urls or React components
|
|
202
214
|
*
|
|
215
|
+
* In SCSS files, SVGs will be treated as assets and inlined as data urls
|
|
216
|
+
* unless they are larger than 4kb
|
|
217
|
+
*
|
|
203
218
|
* To import an SVG file as a src url, append ?url to the filename:
|
|
204
219
|
* import svg from './assets/file.svg?url'
|
|
205
220
|
*
|
|
206
|
-
* To import an SVG file as a React component
|
|
207
|
-
|
|
208
221
|
* @link https://react-svgr.com/docs/webpack/#use-svgr-and-asset-svg-in-the-same-project
|
|
209
222
|
*/
|
|
223
|
+
{
|
|
224
|
+
test: /\.svg$/i,
|
|
225
|
+
issuer: /\.scss$/,
|
|
226
|
+
type: "asset",
|
|
227
|
+
parser: {
|
|
228
|
+
dataUrlCondition: { maxSize: 4096 },
|
|
229
|
+
},
|
|
230
|
+
generator: {
|
|
231
|
+
dataUrl: svgDataUrlHelper,
|
|
232
|
+
},
|
|
233
|
+
},
|
|
210
234
|
{
|
|
211
235
|
test: /\.svg$/i,
|
|
212
236
|
type: "asset",
|
|
213
237
|
resourceQuery: /url/, // *.svg?url
|
|
238
|
+
parser: {
|
|
239
|
+
dataUrlCondition: { maxSize: 4096 },
|
|
240
|
+
},
|
|
241
|
+
generator: {
|
|
242
|
+
dataUrl: svgDataUrlHelper,
|
|
243
|
+
},
|
|
214
244
|
},
|
|
215
245
|
{
|
|
216
246
|
test: /\.svg$/i,
|
|
@@ -359,6 +389,9 @@ export default async (env) => {
|
|
|
359
389
|
// return true;
|
|
360
390
|
// },
|
|
361
391
|
|
|
392
|
+
/**
|
|
393
|
+
* @param {Object} devServer - The devServer instance
|
|
394
|
+
*/
|
|
362
395
|
onListening: (devServer) => {
|
|
363
396
|
const port = devServer.server.address().port;
|
|
364
397
|
devServer.compiler.options.devServer.port =
|
|
@@ -368,6 +401,10 @@ export default async (env) => {
|
|
|
368
401
|
console.log("Listening on port:", port);
|
|
369
402
|
},
|
|
370
403
|
|
|
404
|
+
/**
|
|
405
|
+
* @param {Array<Function>} middlewares - Array of middleware functions
|
|
406
|
+
* @param {Object} devServer - The devServer instance
|
|
407
|
+
*/
|
|
371
408
|
setupMiddlewares: (middlewares, devServer) => {
|
|
372
409
|
/**
|
|
373
410
|
* The `/inform` route is an annoying bit of code. Here's why:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ideasonpurpose/build-tools-wordpress",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.5.0",
|
|
4
4
|
"description": "Build scripts and dependencies for IOP's WordPress development environments.",
|
|
5
5
|
"homepage": "https://github.com/ideasonpurpose/build-tools-wordpress#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -36,69 +36,69 @@
|
|
|
36
36
|
"@ideasonpurpose/prettier-config": "^1.0.1",
|
|
37
37
|
"@ideasonpurpose/stylelint-config": "^1.1.4",
|
|
38
38
|
"@prettier/plugin-php": "^0.24.0",
|
|
39
|
-
"@rollup/plugin-commonjs": "^29.0.
|
|
39
|
+
"@rollup/plugin-commonjs": "^29.0.2",
|
|
40
40
|
"@rollup/plugin-json": "^6.1.0",
|
|
41
41
|
"@rollup/plugin-node-resolve": "^16.0.3",
|
|
42
42
|
"@svgr/webpack": "^8.1.0",
|
|
43
|
-
"@wordpress/dependency-extraction-webpack-plugin": "^6.
|
|
43
|
+
"@wordpress/dependency-extraction-webpack-plugin": "^6.41.0",
|
|
44
44
|
"ansi-html": "^0.0.9",
|
|
45
45
|
"archiver": "^7.0.1",
|
|
46
46
|
"auto-changelog": "^2.5.0",
|
|
47
|
-
"autoprefixer": "^10.4.
|
|
48
|
-
"babel-loader": "^10.
|
|
49
|
-
"caniuse-lite": "^1.0.
|
|
47
|
+
"autoprefixer": "^10.4.27",
|
|
48
|
+
"babel-loader": "^10.1.0",
|
|
49
|
+
"caniuse-lite": "^1.0.30001777",
|
|
50
50
|
"chalk": "^5.6.2",
|
|
51
51
|
"chalk-cli": "^6.0.0",
|
|
52
52
|
"classnames": "^2.5.1",
|
|
53
|
-
"cli-truncate": "^5.
|
|
54
|
-
"copy-webpack-plugin": "^
|
|
55
|
-
"cosmiconfig": "^9.0.
|
|
53
|
+
"cli-truncate": "^5.2.0",
|
|
54
|
+
"copy-webpack-plugin": "^14.0.0",
|
|
55
|
+
"cosmiconfig": "^9.0.1",
|
|
56
56
|
"cross-env": "^10.1.0",
|
|
57
|
-
"css-loader": "^7.1.
|
|
58
|
-
"cssnano": "^7.1.
|
|
59
|
-
"dotenv": "^17.
|
|
60
|
-
"esbuild-loader": "^4.4.
|
|
61
|
-
"eslint": "^
|
|
57
|
+
"css-loader": "^7.1.4",
|
|
58
|
+
"cssnano": "^7.1.3",
|
|
59
|
+
"dotenv": "^17.3.1",
|
|
60
|
+
"esbuild-loader": "^4.4.2",
|
|
61
|
+
"eslint": "^10.0.3",
|
|
62
62
|
"filesize": "^11.0.13",
|
|
63
|
-
"fs-extra": "^11.3.
|
|
64
|
-
"globby": "^16.
|
|
65
|
-
"html-webpack-plugin": "^5.6.
|
|
63
|
+
"fs-extra": "^11.3.4",
|
|
64
|
+
"globby": "^16.1.1",
|
|
65
|
+
"html-webpack-plugin": "^5.6.6",
|
|
66
66
|
"http-proxy": "^1.18.1",
|
|
67
67
|
"humanize-duration": "^3.33.2",
|
|
68
|
-
"image-minimizer-webpack-plugin": "^
|
|
68
|
+
"image-minimizer-webpack-plugin": "^5.0.0",
|
|
69
69
|
"is-text-path": "^3.0.0",
|
|
70
|
-
"lodash": "^4.17.
|
|
71
|
-
"mini-css-extract-plugin": "^2.
|
|
72
|
-
"ora": "^9.
|
|
73
|
-
"postcss": "^8.5.
|
|
74
|
-
"postcss-loader": "^8.2.
|
|
70
|
+
"lodash": "^4.17.23",
|
|
71
|
+
"mini-css-extract-plugin": "^2.10.0",
|
|
72
|
+
"ora": "^9.3.0",
|
|
73
|
+
"postcss": "^8.5.8",
|
|
74
|
+
"postcss-loader": "^8.2.1",
|
|
75
75
|
"postcss-scss": "^4.0.9",
|
|
76
|
-
"prettier": "^3.
|
|
76
|
+
"prettier": "^3.8.1",
|
|
77
77
|
"pretty-hrtime": "^1.0.3",
|
|
78
78
|
"read-package-up": "^12.0.0",
|
|
79
79
|
"replacestream": "^4.0.3",
|
|
80
|
-
"sass-embedded": "^1.97.
|
|
81
|
-
"sass-loader": "^16.0.
|
|
82
|
-
"semver": "^7.7.
|
|
80
|
+
"sass-embedded": "^1.97.3",
|
|
81
|
+
"sass-loader": "^16.0.7",
|
|
82
|
+
"semver": "^7.7.4",
|
|
83
83
|
"sharp": "^0.34.5",
|
|
84
|
-
"sort-package-json": "^3.6.
|
|
85
|
-
"string-length": "^
|
|
84
|
+
"sort-package-json": "^3.6.1",
|
|
85
|
+
"string-length": "^7.0.1",
|
|
86
86
|
"style-loader": "^4.0.0",
|
|
87
|
-
"svgo": "^4.0.
|
|
87
|
+
"svgo": "^4.0.1",
|
|
88
88
|
"svgo-loader": "^4.0.0",
|
|
89
89
|
"version-everything": "^0.11.4",
|
|
90
|
-
"webpack": "^5.
|
|
91
|
-
"webpack-bundle-analyzer": "^5.
|
|
90
|
+
"webpack": "^5.105.4",
|
|
91
|
+
"webpack-bundle-analyzer": "^5.2.0",
|
|
92
92
|
"webpack-dev-middleware": "^7.4.5",
|
|
93
|
-
"webpack-dev-server": "^5.2.
|
|
93
|
+
"webpack-dev-server": "^5.2.3",
|
|
94
94
|
"webpack-manifest-plugin": "^6.0.1"
|
|
95
95
|
},
|
|
96
96
|
"peerDependencies": {
|
|
97
97
|
"webpack-cli": "^6.0.1"
|
|
98
98
|
},
|
|
99
99
|
"devDependencies": {
|
|
100
|
-
"@vitest/coverage-v8": "^4.0.
|
|
101
|
-
"vitest": "^4.0.
|
|
100
|
+
"@vitest/coverage-v8": "^4.0.18",
|
|
101
|
+
"vitest": "^4.0.18"
|
|
102
102
|
},
|
|
103
103
|
"version-everything": {
|
|
104
104
|
"files": [
|