From 583c9d6b98d6b401408d42eacebe90ea6bcd4074 Mon Sep 17 00:00:00 2001 From: Tim van der Meij Date: Sun, 12 Apr 2026 16:06:01 +0200 Subject: [PATCH] Update dependencies to the most recent versions Note that the `globals` update rendered two ESLint ignore lines obsolete because the `Sanitizer` global is now registered [1]. [1] https://github.com/sindresorhus/globals/commit/5d846029679832931f38ced6381cc95bcb9abd80 --- package-lock.json | 154 +++++++++++++++++-------------- package.json | 18 ++-- src/shared/util.js | 1 - web/struct_tree_layer_builder.js | 3 +- 4 files changed, 94 insertions(+), 82 deletions(-) diff --git a/package-lock.json b/package-lock.json index 47968734d..043a7b468 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,16 +17,16 @@ "@metalsmith/layouts": "^3.0.0", "@metalsmith/markdown": "^1.10.0", "@napi-rs/canvas": "^0.1.97", - "@types/node": "^25.5.2", + "@types/node": "^25.6.0", "autoprefixer": "^10.4.27", "babel-loader": "^10.1.1", "babel-plugin-add-header-comment": "^1.0.3", "babel-plugin-istanbul": "^7.0.1", "c8": "^11.0.0", "cached-iterable": "^0.3.0", - "caniuse-lite": "^1.0.30001784", + "caniuse-lite": "^1.0.30001787", "core-js": "^3.49.0", - "eslint": "^10.1.0", + "eslint": "^10.2.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-import-x": "^4.16.2", "eslint-plugin-jasmine": "^4.2.2", @@ -34,7 +34,7 @@ "eslint-plugin-perfectionist": "^5.8.0", "eslint-plugin-prettier": "^5.5.5", "eslint-plugin-unicorn": "^64.0.0", - "globals": "^17.4.0", + "globals": "^17.5.0", "gulp": "^5.0.1", "gulp-cli": "^3.1.0", "gulp-postcss": "^10.0.0", @@ -45,21 +45,21 @@ "istanbul-lib-coverage": "^3.2.2", "istanbul-lib-report": "^3.0.1", "istanbul-reports": "^3.2.0", - "jasmine": "^6.1.0", + "jasmine": "^6.2.0", "jsdoc": "^4.0.5", "jstransformer-nunjucks": "^1.2.0", "metalsmith": "^2.7.0", "metalsmith-html-relative": "^2.0.11", "ordered-read-streams": "^2.0.0", "pngjs": "^7.0.0", - "postcss": "^8.5.8", + "postcss": "^8.5.9", "postcss-dir-pseudo-class": "^10.0.0", "postcss-discard-comments": "^7.0.6", "postcss-nesting": "^14.0.0", "postcss-values-parser": "^7.0.0", - "prettier": "^3.8.1", + "prettier": "^3.8.2", "puppeteer": "^24.40.0", - "stylelint": "^17.6.0", + "stylelint": "^17.7.0", "stylelint-prettier": "^5.0.3", "svglint": "^4.2.1", "terser-webpack-plugin": "^5.4.0", @@ -67,7 +67,7 @@ "ttest": "^4.0.0", "typescript": "^5.9.3", "vinyl": "^3.0.1", - "webpack": "^5.105.4", + "webpack": "^5.106.1", "webpack-stream": "^7.0.0" }, "engines": { @@ -1717,9 +1717,9 @@ } }, "node_modules/@csstools/css-syntax-patches-for-csstree": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.1.tgz", - "integrity": "sha512-BvqN0AMWNAnLk9G8jnUT77D+mUbY/H2b3uDTvg2isJkHaOufUE2R3AOwxWo7VBQKT1lOdwdvorddo2B/lk64+w==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.2.tgz", + "integrity": "sha512-5GkLzz4prTIpoyeUiIu3iV6CSG3Plo7xRVOFPKI7FVEJ3mZ0A8SwK0XU3Gl7xAkiQ+mDyam+NNp875/C5y+jSA==", "dev": true, "funding": [ { @@ -2037,13 +2037,13 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.23.3", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.3.tgz", - "integrity": "sha512-j+eEWmB6YYLwcNOdlwQ6L2OsptI/LO6lNBuLIqe5R7RetD658HLoF+Mn7LzYmAWWNNzdC6cqP+L6r8ujeYXWLw==", + "version": "0.23.5", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.5.tgz", + "integrity": "sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/object-schema": "^3.0.3", + "@eslint/object-schema": "^3.0.5", "debug": "^4.3.1", "minimatch": "^10.2.4" }, @@ -2052,22 +2052,22 @@ } }, "node_modules/@eslint/config-helpers": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.3.tgz", - "integrity": "sha512-lzGN0onllOZCGroKJmRwY6QcEHxbjBw1gwB8SgRSqK8YbbtEXMvKynsXc3553ckIEBxsbMBU7oOZXKIPGZNeZw==", + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.5.tgz", + "integrity": "sha512-eIJYKTCECbP/nsKaaruF6LW967mtbQbsw4JTtSVkUQc9MneSkbrgPJAbKl9nWr0ZeowV8BfsarBmPpBzGelA2w==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^1.1.1" + "@eslint/core": "^1.2.1" }, "engines": { "node": "^20.19.0 || ^22.13.0 || >=24" } }, "node_modules/@eslint/core": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.1.1.tgz", - "integrity": "sha512-QUPblTtE51/7/Zhfv8BDwO0qkkzQL7P/aWWbqcf4xWLEYn1oKjdO0gglQBB4GAsu7u6wjijbCmzsUTy6mnk6oQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.1.tgz", + "integrity": "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -2094,9 +2094,9 @@ } }, "node_modules/@eslint/object-schema": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.3.tgz", - "integrity": "sha512-iM869Pugn9Nsxbh/YHRqYiqd23AmIbxJOcpUMOuWCVNdoQJ5ZtwL6h3t0bcZzJUlC3Dq9jCFCESBZnX0GTv7iQ==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.5.tgz", + "integrity": "sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==", "dev": true, "license": "Apache-2.0", "engines": { @@ -2938,13 +2938,13 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.2.tgz", - "integrity": "sha512-tO4ZIRKNC+MDWV4qKVZe3Ql/woTnmHDr5JD8UI5hn2pwBrHEwOEMZK7WlNb5RKB6EoJ02gwmQS9OrjuFnZYdpg==", + "version": "25.6.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz", + "integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~7.18.0" + "undici-types": "~7.19.0" } }, "node_modules/@types/normalize-package-data": { @@ -4533,9 +4533,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001784", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001784.tgz", - "integrity": "sha512-WU346nBTklUV9YfUl60fqRbU5ZqyXlqvo1SgigE1OAXK5bFL8LL9q1K7aap3N739l4BvNqnkm3YrGHiY9sfUQw==", + "version": "1.0.30001787", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001787.tgz", + "integrity": "sha512-mNcrMN9KeI68u7muanUpEejSLghOKlVhRqS/Za2IeyGllJ9I9otGpR9g3nsw7n4W378TE/LyIteA0+/FOZm4Kg==", "dev": true, "funding": [ { @@ -5519,18 +5519,18 @@ } }, "node_modules/eslint": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.1.0.tgz", - "integrity": "sha512-S9jlY/ELKEUwwQnqWDO+f+m6sercqOPSqXM5Go94l7DOmxHVDgmSFGWEzeE/gwgTAr0W103BWt0QLe/7mabIvA==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.2.0.tgz", + "integrity": "sha512-+L0vBFYGIpSNIt/KWTpFonPrqYvgKw1eUI5Vn7mEogrQcWtWYtNQ7dNqC+px/J0idT3BAkiWrhfS7k+Tum8TUA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.3", - "@eslint/config-helpers": "^0.5.3", - "@eslint/core": "^1.1.1", - "@eslint/plugin-kit": "^0.6.1", + "@eslint/config-array": "^0.23.4", + "@eslint/config-helpers": "^0.5.4", + "@eslint/core": "^1.2.0", + "@eslint/plugin-kit": "^0.7.0", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", @@ -5814,6 +5814,20 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint/node_modules/@eslint/plugin-kit": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.1.tgz", + "integrity": "sha512-rZAP3aVgB9ds9KOeUSL+zZ21hPmo8dh6fnIFwRQj5EAZl9gzR7wxYbYXYysAM8CTqGmUGyp2S4kUdV17MnGuWQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^1.2.1", + "levn": "^0.4.1" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, "node_modules/espree": { "version": "11.2.0", "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", @@ -6627,9 +6641,9 @@ } }, "node_modules/globals": { - "version": "17.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-17.4.0.tgz", - "integrity": "sha512-hjrNztw/VajQwOLsMNT1cbJiH2muO3OROCHnbehc8eY5JyD2gqz4AcMHPqgaOR59DjgUjYAYLeH699g/eWi2jw==", + "version": "17.5.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-17.5.0.tgz", + "integrity": "sha512-qoV+HK2yFl/366t2/Cb3+xxPUo5BuMynomoDmiaZBIdbs+0pYbjfZU+twLhGKp4uCZ/+NbtpVepH5bGCxRyy2g==", "dev": true, "license": "MIT", "engines": { @@ -6640,9 +6654,9 @@ } }, "node_modules/globby": { - "version": "16.1.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-16.1.1.tgz", - "integrity": "sha512-dW7vl+yiAJSp6aCekaVnVJxurRv7DCOLyXqEG3RYMYUg7AuJ2jCqPkZTA8ooqC2vtnkaMcV5WfFBMuEnTu1OQg==", + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-16.2.0.tgz", + "integrity": "sha512-QrJia2qDf5BB/V6HYlDTs0I0lBahyjLzpGQg3KT7FnCdTonAyPy2RtY802m2k4ALx6Dp752f82WsOczEVr3l6Q==", "dev": true, "license": "MIT", "dependencies": { @@ -7690,24 +7704,24 @@ } }, "node_modules/jasmine": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-6.1.0.tgz", - "integrity": "sha512-WPphPqEMY0uBRMjuhRHoVoxQNvJuxIMqz0yIcJ3k3oYxBedeGoH60/NXNgasxnx2FvfXrq5/r+2wssJ7WE8ABw==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-6.2.0.tgz", + "integrity": "sha512-dvYt7bidcu0JvvSbiUnSDW7UQQiflUwDr6C+5wzoZ0J7RY9u+UcoSIzyhMPj6fnU/tC7KinJ5QrjwD2Y9p4T4w==", "dev": true, "license": "MIT", "dependencies": { "@jasminejs/reporters": "^1.0.0", "glob": "^10.2.2 || ^11.0.3 || ^12.0.0 || ^13.0.0", - "jasmine-core": "~6.1.0" + "jasmine-core": "~6.2.0" }, "bin": { "jasmine": "bin/jasmine.js" } }, "node_modules/jasmine-core": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-6.1.0.tgz", - "integrity": "sha512-p/tjBw58O6vxKIWMlrU+yys8lqR3+l3UrqwNTT7wpj+dQ7N4etQekFM8joI+cWzPDYqZf54kN+hLC1+s5TvZvg==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-6.2.0.tgz", + "integrity": "sha512-b16WZG/pFEFj8qRW1ss7nDuNGYz9ji8BDGj7fJNrROauk5rj/diO3KPOuyIpcgUChdC+c0PfQ8iUk4nHE+EN4w==", "dev": true, "license": "MIT" }, @@ -9296,9 +9310,9 @@ } }, "node_modules/postcss": { - "version": "8.5.8", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz", - "integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==", + "version": "8.5.9", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.9.tgz", + "integrity": "sha512-7a70Nsot+EMX9fFU3064K/kdHWZqGVY+BADLyXc8Dfv+mTLLVl6JzJpPaCZ2kQL9gIJvKXSLMHhqdRRjwQeFtw==", "dev": true, "funding": [ { @@ -9514,9 +9528,9 @@ } }, "node_modules/prettier": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz", - "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.2.tgz", + "integrity": "sha512-8c3mgTe0ASwWAJK+78dpviD+A8EqhndQPUBpNUIPt6+xWlIigCwfN01lWr9MAede4uqXGTEKeQWTvzb3vjia0Q==", "dev": true, "license": "MIT", "bin": { @@ -10761,9 +10775,9 @@ "license": "MIT" }, "node_modules/stylelint": { - "version": "17.6.0", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-17.6.0.tgz", - "integrity": "sha512-tokrsMIVAR9vAQ/q3UVEr7S0dGXCi7zkCezPRnS2kqPUulvUh5Vgfwngrk4EoAoW7wnrThqTdnTFN5Ra7CaxIg==", + "version": "17.7.0", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-17.7.0.tgz", + "integrity": "sha512-n/+4RheCRl+cecGnF+S/Adz59iCRaK9BVznJYB+a7GOksfwNzjiOPnYv17pTO0HgRse9IiqbMtekGNhOb2tVYQ==", "dev": true, "funding": [ { @@ -10779,7 +10793,7 @@ "dependencies": { "@csstools/css-calc": "^3.1.1", "@csstools/css-parser-algorithms": "^4.0.0", - "@csstools/css-syntax-patches-for-csstree": "^1.1.1", + "@csstools/css-syntax-patches-for-csstree": "^1.1.2", "@csstools/css-tokenizer": "^4.0.0", "@csstools/media-query-list-parser": "^5.0.0", "@csstools/selector-resolve-nested": "^4.0.0", @@ -10793,7 +10807,7 @@ "fastest-levenshtein": "^1.0.16", "file-entry-cache": "^11.1.2", "global-modules": "^2.0.0", - "globby": "^16.1.1", + "globby": "^16.2.0", "globjoin": "^0.1.4", "html-tags": "^5.1.0", "ignore": "^7.0.5", @@ -11891,9 +11905,9 @@ } }, "node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "version": "7.19.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz", + "integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==", "dev": true, "license": "MIT" }, @@ -12209,9 +12223,9 @@ "license": "Apache-2.0" }, "node_modules/webpack": { - "version": "5.105.4", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.4.tgz", - "integrity": "sha512-jTywjboN9aHxFlToqb0K0Zs9SbBoW4zRUlGzI2tYNxVYcEi/IPpn+Xi4ye5jTLvX2YeLuic/IvxNot+Q1jMoOw==", + "version": "5.106.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.106.1.tgz", + "integrity": "sha512-EW8af29ak8Oaf4T8k8YsajjrDBDYgnKZ5er6ljWFJsXABfTNowQfvHLftwcepVgdz+IoLSdEAbBiM9DFXoll9w==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 293d289cd..b6787c232 100644 --- a/package.json +++ b/package.json @@ -12,16 +12,16 @@ "@metalsmith/layouts": "^3.0.0", "@metalsmith/markdown": "^1.10.0", "@napi-rs/canvas": "^0.1.97", - "@types/node": "^25.5.2", + "@types/node": "^25.6.0", "autoprefixer": "^10.4.27", "babel-loader": "^10.1.1", "babel-plugin-add-header-comment": "^1.0.3", "babel-plugin-istanbul": "^7.0.1", "c8": "^11.0.0", "cached-iterable": "^0.3.0", - "caniuse-lite": "^1.0.30001784", + "caniuse-lite": "^1.0.30001787", "core-js": "^3.49.0", - "eslint": "^10.1.0", + "eslint": "^10.2.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-import-x": "^4.16.2", "eslint-plugin-jasmine": "^4.2.2", @@ -29,7 +29,7 @@ "eslint-plugin-perfectionist": "^5.8.0", "eslint-plugin-prettier": "^5.5.5", "eslint-plugin-unicorn": "^64.0.0", - "globals": "^17.4.0", + "globals": "^17.5.0", "gulp": "^5.0.1", "gulp-cli": "^3.1.0", "gulp-postcss": "^10.0.0", @@ -40,21 +40,21 @@ "istanbul-lib-coverage": "^3.2.2", "istanbul-lib-report": "^3.0.1", "istanbul-reports": "^3.2.0", - "jasmine": "^6.1.0", + "jasmine": "^6.2.0", "jsdoc": "^4.0.5", "jstransformer-nunjucks": "^1.2.0", "metalsmith": "^2.7.0", "metalsmith-html-relative": "^2.0.11", "ordered-read-streams": "^2.0.0", "pngjs": "^7.0.0", - "postcss": "^8.5.8", + "postcss": "^8.5.9", "postcss-dir-pseudo-class": "^10.0.0", "postcss-discard-comments": "^7.0.6", "postcss-nesting": "^14.0.0", "postcss-values-parser": "^7.0.0", - "prettier": "^3.8.1", + "prettier": "^3.8.2", "puppeteer": "^24.40.0", - "stylelint": "^17.6.0", + "stylelint": "^17.7.0", "stylelint-prettier": "^5.0.3", "svglint": "^4.2.1", "terser-webpack-plugin": "^5.4.0", @@ -62,7 +62,7 @@ "ttest": "^4.0.0", "typescript": "^5.9.3", "vinyl": "^3.0.1", - "webpack": "^5.105.4", + "webpack": "^5.106.1", "webpack-stream": "^7.0.0" }, "repository": { diff --git a/src/shared/util.js b/src/shared/util.js index ec0be9a9e..6d00bb824 100644 --- a/src/shared/util.js +++ b/src/shared/util.js @@ -656,7 +656,6 @@ class FeatureTest { return shadow( this, "isSanitizerSupported", - // eslint-disable-next-line no-undef typeof Sanitizer !== "undefined" ); } diff --git a/web/struct_tree_layer_builder.js b/web/struct_tree_layer_builder.js index abad3a5a1..22a1122e3 100644 --- a/web/struct_tree_layer_builder.js +++ b/web/struct_tree_layer_builder.js @@ -112,8 +112,7 @@ class MathMLSanitizer { this, "sanitizer", FeatureTest.isSanitizerSupported - ? // eslint-disable-next-line no-undef - new Sanitizer({ + ? new Sanitizer({ elements: [...MathMLElements].map(name => ({ name, namespace: MathMLNamespace,