diff --git a/.gitignore b/.gitignore index ac93a0b..fab5ec5 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ node_modules test-cli .idea .nyc_output +.eslintcache \ No newline at end of file diff --git a/files/empty-project/package.json b/files/empty-project/package.json index de1ff5b..bcbe3ac 100644 --- a/files/empty-project/package.json +++ b/files/empty-project/package.json @@ -85,11 +85,11 @@ "devDependencies": { "@swc/core": "^1.15.18", "@tsparticles/cli": "latest", - "@tsparticles/depcruise-config": "^3.3.1", - "@tsparticles/eslint-config": "^3.3.1", - "@tsparticles/prettier-config": "^3.3.1", - "@tsparticles/tsconfig": "^3.3.1", - "@tsparticles/webpack-plugin": "^3.3.1", + "@tsparticles/depcruise-config": "^3.3.2", + "@tsparticles/eslint-config": "^3.3.2", + "@tsparticles/prettier-config": "^3.3.2", + "@tsparticles/tsconfig": "^3.3.2", + "@tsparticles/webpack-plugin": "^3.3.2", "@types/webpack-env": "^1.18.8", "browserslist": "^4.28.1", "copyfiles": "^2.4.1", diff --git a/package.json b/package.json index 5f113e3..2eb9416 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/cli", - "version": "3.3.3", + "version": "3.3.5", "license": "MIT", "type": "module", "bin": { @@ -20,8 +20,8 @@ "prettify:ci:readme": "prettier --check ./README.md", "prettify:src": "prettier --write ./src/*", "prettify:readme": "prettier --write ./README.md", - "lint": "eslint src --ext .js,.jsx,.ts,.tsx --fix", - "lint:ci": "eslint src --ext .js,.jsx,.ts,.tsx", + "lint": "eslint src --ext .js,.jsx,.ts,.tsx --cache --cache-location .cache/eslint/.eslintcache --cache-strategy metadata --fix", + "lint:ci": "eslint src --ext .js,.jsx,.ts,.tsx --cache --cache-location .cache/eslint/.eslintcache --cache-strategy metadata", "circular-deps": "depcruise src --include-only '^src' --validate --output-type err-long", "compile": "pnpm run build:ts", "compile:ci": "pnpm run build:ts", @@ -35,11 +35,11 @@ }, "dependencies": { "@swc/core": "^1.15.18", - "@tsparticles/depcruise-config": "^3.3.1", - "@tsparticles/eslint-config": "^3.3.1", - "@tsparticles/prettier-config": "^3.3.1", - "@tsparticles/tsconfig": "^3.3.1", - "@tsparticles/webpack-plugin": "^3.3.1", + "@tsparticles/depcruise-config": "^3.3.2", + "@tsparticles/eslint-config": "^3.3.2", + "@tsparticles/prettier-config": "^3.3.2", + "@tsparticles/tsconfig": "^3.3.2", + "@tsparticles/webpack-plugin": "^3.3.2", "commander": "^14.0.3", "eslint": "^10.0.3", "eslint-config-prettier": "^10.1.8", @@ -79,5 +79,5 @@ "description": "tsParticles CLI", "main": "eslint.config.js", "author": "Matteo Bruni ", - "packageManager": "pnpm@10.32.0" + "packageManager": "pnpm@10.32.1" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0b24196..a042404 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,20 +12,20 @@ importers: specifier: ^1.15.18 version: 1.15.18 '@tsparticles/depcruise-config': - specifier: ^3.3.1 - version: 3.3.1(dependency-cruiser@17.3.8) + specifier: ^3.3.2 + version: 3.3.2(dependency-cruiser@17.3.8) '@tsparticles/eslint-config': - specifier: ^3.3.1 - version: 3.3.1(@types/eslint@9.6.1)(eslint@10.0.3(jiti@2.6.1)) + specifier: ^3.3.2 + version: 3.3.2(@types/eslint@9.6.1)(eslint@10.0.3(jiti@2.6.1)) '@tsparticles/prettier-config': - specifier: ^3.3.1 - version: 3.3.1(prettier@3.8.1) + specifier: ^3.3.2 + version: 3.3.2(prettier@3.8.1) '@tsparticles/tsconfig': - specifier: ^3.3.1 - version: 3.3.1(typescript@5.9.3) + specifier: ^3.3.2 + version: 3.3.2(typescript@5.9.3) '@tsparticles/webpack-plugin': - specifier: ^3.3.1 - version: 3.3.1(@types/eslint@9.6.1)(jiti@2.6.1) + specifier: ^3.3.2 + version: 3.3.2(@types/eslint@9.6.1)(jiti@2.6.1) commander: specifier: ^14.0.3 version: 14.0.3 @@ -83,7 +83,7 @@ importers: devDependencies: '@tsparticles/cli': specifier: latest - version: 3.1.1(@types/eslint@9.6.1)(jiti@2.6.1)(webpack-cli@6.0.1) + version: 3.3.3(@types/eslint@9.6.1)(jiti@2.6.1)(webpack-cli@6.0.1) '@tsparticles/engine': specifier: ^3.9.1 version: 3.9.1 @@ -127,77 +127,6 @@ importers: specifier: ^6.0.1 version: 6.0.1(webpack-bundle-analyzer@5.2.0)(webpack@5.105.4) - files/empty-project: - dependencies: - '@tsparticles/engine': - specifier: ^3.9.1 - version: 3.9.1 - devDependencies: - '@swc/core': - specifier: ^1.15.18 - version: 1.15.18 - '@tsparticles/cli': - specifier: latest - version: 3.2.2(@types/eslint@9.6.1)(jiti@2.6.1)(webpack-cli@6.0.1) - '@tsparticles/depcruise-config': - specifier: ^3.3.1 - version: 3.3.1(dependency-cruiser@17.3.8) - '@tsparticles/eslint-config': - specifier: ^3.3.1 - version: 3.3.1(@types/eslint@9.6.1)(eslint@10.0.3(jiti@2.6.1)) - '@tsparticles/prettier-config': - specifier: ^3.3.1 - version: 3.3.1(prettier@3.8.1) - '@tsparticles/tsconfig': - specifier: ^3.3.1 - version: 3.3.1(typescript@5.9.3) - '@tsparticles/webpack-plugin': - specifier: ^3.3.1 - version: 3.3.1(@types/eslint@9.6.1)(jiti@2.6.1) - '@types/webpack-env': - specifier: ^1.18.8 - version: 1.18.8 - browserslist: - specifier: ^4.28.1 - version: 4.28.1 - copyfiles: - specifier: ^2.4.1 - version: 2.4.1 - eslint: - specifier: ^10.0.3 - version: 10.0.3(jiti@2.6.1) - eslint-config-prettier: - specifier: ^10.1.8 - version: 10.1.8(eslint@10.0.3(jiti@2.6.1)) - prettier: - specifier: ^3.8.1 - version: 3.8.1 - rimraf: - specifier: ^6.1.3 - version: 6.1.3 - swc-loader: - specifier: ^0.2.7 - version: 0.2.7(@swc/core@1.15.18)(webpack@5.105.4) - terser-webpack-plugin: - specifier: ^5.4.0 - version: 5.4.0(@swc/core@1.15.18)(webpack@5.105.4) - typescript: - specifier: ^5.9.3 - version: 5.9.3 - typescript-eslint: - specifier: ^8.57.0 - version: 8.57.0(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) - webpack: - specifier: ^5.105.4 - version: 5.105.4(@swc/core@1.15.18)(webpack-cli@6.0.1) - webpack-bundle-analyzer: - specifier: ^5.2.0 - version: 5.2.0 - webpack-cli: - specifier: ^6.0.1 - version: 6.0.1(webpack-bundle-analyzer@5.2.0)(webpack@5.105.4) - publishDirectory: dist - packages: '@aashutoshrathi/word-wrap@1.2.6': @@ -409,34 +338,18 @@ packages: resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/config-array@0.21.1': - resolution: {integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/config-array@0.23.3': resolution: {integrity: sha512-j+eEWmB6YYLwcNOdlwQ6L2OsptI/LO6lNBuLIqe5R7RetD658HLoF+Mn7LzYmAWWNNzdC6cqP+L6r8ujeYXWLw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/config-helpers@0.4.2': - resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/config-helpers@0.5.3': resolution: {integrity: sha512-lzGN0onllOZCGroKJmRwY6QcEHxbjBw1gwB8SgRSqK8YbbtEXMvKynsXc3553ckIEBxsbMBU7oOZXKIPGZNeZw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/core@0.17.0': - resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@1.1.1': resolution: {integrity: sha512-QUPblTtE51/7/Zhfv8BDwO0qkkzQL7P/aWWbqcf4xWLEYn1oKjdO0gglQBB4GAsu7u6wjijbCmzsUTy6mnk6oQ==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/eslintrc@3.3.1': - resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@10.0.1': resolution: {integrity: sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} @@ -446,22 +359,10 @@ packages: eslint: optional: true - '@eslint/js@9.39.3': - resolution: {integrity: sha512-1B1VkCq6FuUNlQvlBYb+1jDu/gV297TIs/OeiaSR9l1H27SVW55ONE1e1Vp16NqP683+xEGzxYtv4XCiDPaQiw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/object-schema@2.1.7': - resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/object-schema@3.0.3': resolution: {integrity: sha512-iM869Pugn9Nsxbh/YHRqYiqd23AmIbxJOcpUMOuWCVNdoQJ5ZtwL6h3t0bcZzJUlC3Dq9jCFCESBZnX0GTv7iQ==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/plugin-kit@0.4.1': - resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.6.1': resolution: {integrity: sha512-iH1B076HoAshH1mLpHMgwdGeTs0CYwL0SPMkGuSebZrwBp16v415e9NZXg2jtrqPVQjf6IANe2Vtlr5KswtcZQ==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} @@ -745,39 +646,35 @@ packages: '@tsconfig/node16@1.0.4': resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - '@tsparticles/cli@3.1.1': - resolution: {integrity: sha512-JdkWUltXmg3IROL0xiAx0sHC1RavEuQ6EhXIZ2mLHIWr3c0RrCCo56imGwDOH7zjVyjQdw9lxVCfAWSIFptMnQ==} - hasBin: true - - '@tsparticles/cli@3.2.2': - resolution: {integrity: sha512-WAxvuRHOVIPyQrt/7lj9rU1qRhhAoo/7WPdLnOPnbvFoWZZ4B6WABxDF+5HFuq5g9qZxpvQ2CEeGq67PQSaieQ==} + '@tsparticles/cli@3.3.3': + resolution: {integrity: sha512-X6M5e+UQJlzU4K/gMmSJjcT39KQlnrtj+fHgnfyhGXSA4s5LxFy38NsjdPLcK9X6z+qn54lVjfr57aGZzZ1NBQ==} hasBin: true - '@tsparticles/depcruise-config@3.3.1': - resolution: {integrity: sha512-0HMe7wGz67euogkD1fEOLDKvu5lNys0uTuk+OG+lDQ+d+Q7nQWJc2k2gmMc0pw3xE9zICSosH9p/7zTupGmt4g==} + '@tsparticles/depcruise-config@3.3.2': + resolution: {integrity: sha512-n4znQ/aGhB1DkHYy3j497dlYBG7UcvIA5lpw9AiAaeNKeX12FtObOzqFXdWKx3C3iAjcBmLldYMuYyGkELMHyg==} peerDependencies: dependency-cruiser: ^17 '@tsparticles/engine@3.9.1': resolution: {integrity: sha512-DpdgAhWMZ3Eh2gyxik8FXS6BKZ8vyea+Eu5BC4epsahqTGY9V3JGGJcXC6lRJx6cPMAx1A0FaQAojPF3v6rkmQ==} - '@tsparticles/eslint-config@3.3.1': - resolution: {integrity: sha512-5iB++IDpgpoiejoBYWZ1iAUgRwYvZRINZGzaq5bA+Iqzk3wNflcslDGAiLSdv2oWakv+ySv2e2tb5em5YUwWHA==} + '@tsparticles/eslint-config@3.3.2': + resolution: {integrity: sha512-TVUsqFFjoans6mcPz0chDR/4uw/iTeN5WOapQfnIUc4ro75VjjWksL2u9YFZAkyq73QB7r6EqB9b8/Oup+B4sw==} peerDependencies: eslint: ^10 - '@tsparticles/prettier-config@3.3.1': - resolution: {integrity: sha512-palrqwg+l9naVVnA/p+7BxBTEMpnxne7RiTA8OdLybelsJwzc6pIpJvpqEe7oi9QLqwhbwpgI2K8KxzO0mGxbA==} + '@tsparticles/prettier-config@3.3.2': + resolution: {integrity: sha512-e21461U+BH+8skse+fDiC7lRjgn5bo+D+G5vTxyAgqBEVLG/Y2ybHCBCHqkoxFx5SgTf5dyxmJOrgiIKlKI7EQ==} peerDependencies: prettier: ^3 - '@tsparticles/tsconfig@3.3.1': - resolution: {integrity: sha512-664kWcH3kTw5dEaSIp+3zdBkYWdz2P/6K3MJIvIhW3i+xKXFQA5zE7HNAkp+iJof4B6cGOhdVOitS2JTiJldSg==} + '@tsparticles/tsconfig@3.3.2': + resolution: {integrity: sha512-60q+R4OrhmdaZZDqBFHM+ZYg8OhRJ1yb7GMpjafvfG5Wo2FpUzpjJ8Xht/INc6nZyiEp8dUXJXWX9bSZ/l3cHA==} peerDependencies: typescript: ^5 - '@tsparticles/webpack-plugin@3.3.1': - resolution: {integrity: sha512-B/F+oGwhdWSODZ1aRNDxcnkv5QmVhwve106kXY+CxD8cNmDHgAbXngmcJXpq9ha0htTkMwLbT609qIgK32kuwg==} + '@tsparticles/webpack-plugin@3.3.2': + resolution: {integrity: sha512-UKK5M/TsFQR/pWTaD6t9UmfVcR2vQychs1c2GyyNqjWkS9Xx4eNQbpqnKpU39ToYrnhK/o13cHCMcLjEmgc+Zw==} '@types/chai@5.2.3': resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} @@ -1070,9 +967,6 @@ packages: peerDependencies: ajv: ^8.8.2 - ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - ajv@6.14.0: resolution: {integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==} @@ -1098,9 +992,6 @@ packages: arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - assertion-error@2.0.1: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} @@ -1134,10 +1025,6 @@ packages: buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - caniuse-lite@1.0.30001761: resolution: {integrity: sha512-JF9ptu1vP2coz98+5051jZ4PwQgd2ni8A+gYSN7EA7dPKIMf0pDlSUxhdmVOaV3/fYK5uWBkgSXJaRLr4+3A6g==} @@ -1326,10 +1213,6 @@ packages: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.0'} - eslint-scope@8.4.0: - resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint-scope@9.1.2: resolution: {integrity: sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} @@ -1360,16 +1243,6 @@ packages: jiti: optional: true - eslint@9.39.3: - resolution: {integrity: sha512-VmQ+sifHUbI/IcSopBCF/HO3YiHQx/AVd3UVyYL6weuwW+HvON9VYn5l6Zl1WZzPWXPNZrSQpxwkkZ/VuvJZzg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - hasBin: true - peerDependencies: - jiti: '*' - peerDependenciesMeta: - jiti: - optional: true - espree@10.4.0: resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1464,10 +1337,6 @@ packages: flatted@3.3.3: resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} - fs-extra@11.3.4: - resolution: {integrity: sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==} - engines: {node: '>=14.14'} - fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -1502,10 +1371,6 @@ packages: resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} engines: {node: '>=18'} - globals@14.0.0: - resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} - engines: {node: '>=18'} - graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -1535,10 +1400,6 @@ packages: resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} engines: {node: '>= 4'} - import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - import-local@3.1.0: resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} engines: {node: '>=8'} @@ -1618,10 +1479,6 @@ packages: jju@1.4.0: resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} - js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - jsdoc-type-pratt-parser@7.1.1: resolution: {integrity: sha512-/2uqY7x6bsrpi3i9LVU6J89352C0rpMk0as8trXxCtvd4kPk1ke/Eyif6wqfSLvoNJqcDG9Vk4UsXgygzCt2xA==} engines: {node: '>=20.0.0'} @@ -1646,9 +1503,6 @@ packages: engines: {node: '>=6'} hasBin: true - jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -1680,9 +1534,6 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} - lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - lookpath@1.2.3: resolution: {integrity: sha512-kthRVhf4kH4+HW3anM4UBHxsw/XFESf13euCEldhXr6GpBdmBoa7rDd7WO5G0Mhd4G5XtKTcEy8OR0iRZXpS3Q==} engines: {npm: '>=6.13.4'} @@ -1804,10 +1655,6 @@ packages: package-json-from-dist@1.0.1: resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} - parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - parse-imports-exports@0.2.4: resolution: {integrity: sha512-4s6vd6dx1AotCx/RCI2m7t7GCh5bDRUtGNvRfHSP2wbBQdMi67pPe7mtzmgwcaQ8VKK/6IB7Glfyu3qdZJPybQ==} @@ -1915,10 +1762,6 @@ packages: resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} engines: {node: '>=8'} - resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - resolve-from@5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} @@ -2023,10 +1866,6 @@ packages: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} - strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -2159,10 +1998,6 @@ packages: undici-types@7.18.2: resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} - universalify@2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} - engines: {node: '>= 10.0.0'} - untildify@4.0.0: resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} engines: {node: '>=8'} @@ -2499,21 +2334,8 @@ snapshots: eslint: 10.0.3(jiti@2.6.1) eslint-visitor-keys: 3.4.3 - '@eslint-community/eslint-utils@4.9.1(eslint@9.39.3(jiti@2.6.1))': - dependencies: - eslint: 9.39.3(jiti@2.6.1) - eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.12.2': {} - '@eslint/config-array@0.21.1': - dependencies: - '@eslint/object-schema': 2.1.7 - debug: 4.4.3 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - '@eslint/config-array@0.23.3': dependencies: '@eslint/object-schema': 3.0.3 @@ -2522,55 +2344,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/config-helpers@0.4.2': - dependencies: - '@eslint/core': 0.17.0 - '@eslint/config-helpers@0.5.3': dependencies: '@eslint/core': 1.1.1 - '@eslint/core@0.17.0': - dependencies: - '@types/json-schema': 7.0.15 - '@eslint/core@1.1.1': dependencies: '@types/json-schema': 7.0.15 - '@eslint/eslintrc@3.3.1': - dependencies: - ajv: 6.12.6 - debug: 4.4.3 - espree: 10.4.0 - globals: 14.0.0 - ignore: 5.3.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - '@eslint/js@10.0.1(eslint@10.0.3(jiti@2.6.1))': optionalDependencies: eslint: 10.0.3(jiti@2.6.1) - '@eslint/js@10.0.1(eslint@9.39.3(jiti@2.6.1))': - optionalDependencies: - eslint: 9.39.3(jiti@2.6.1) - - '@eslint/js@9.39.3': {} - - '@eslint/object-schema@2.1.7': {} - '@eslint/object-schema@3.0.3': {} - '@eslint/plugin-kit@0.4.1': - dependencies: - '@eslint/core': 0.17.0 - levn: 0.4.1 - '@eslint/plugin-kit@0.6.1': dependencies: '@eslint/core': 1.1.1 @@ -2707,16 +2494,6 @@ snapshots: estraverse: 5.3.0 picomatch: 4.0.3 - '@stylistic/eslint-plugin@5.10.0(eslint@9.39.3(jiti@2.6.1))': - dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.3(jiti@2.6.1)) - '@typescript-eslint/types': 8.57.0 - eslint: 9.39.3(jiti@2.6.1) - eslint-visitor-keys: 4.2.1 - espree: 10.4.0 - estraverse: 5.3.0 - picomatch: 4.0.3 - '@swc/core-darwin-arm64@1.15.18': optional: true @@ -2777,60 +2554,21 @@ snapshots: '@tsconfig/node16@1.0.4': {} - '@tsparticles/cli@3.1.1(@types/eslint@9.6.1)(jiti@2.6.1)(webpack-cli@6.0.1)': - dependencies: - '@swc/core': 1.15.18 - '@tsparticles/eslint-config': 3.3.1(@types/eslint@9.6.1)(eslint@9.39.3(jiti@2.6.1)) - '@tsparticles/prettier-config': 3.3.1(prettier@3.8.1) - '@tsparticles/tsconfig': 3.3.1(typescript@5.9.3) - '@tsparticles/webpack-plugin': 3.3.1(@types/eslint@9.6.1)(jiti@2.6.1) - commander: 14.0.3 - dependency-cruiser: 17.3.8 - eslint: 9.39.3(jiti@2.6.1) - eslint-config-prettier: 10.1.8(eslint@9.39.3(jiti@2.6.1)) - eslint-plugin-jsdoc: 62.7.1(eslint@9.39.3(jiti@2.6.1)) - eslint-plugin-prettier: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@10.0.3(jiti@2.6.1)))(eslint@9.39.3(jiti@2.6.1))(prettier@3.8.1) - eslint-plugin-tsdoc: 0.5.2(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) - fs-extra: 11.3.4 - klaw: 4.1.0 - lookpath: 1.2.3 - path-scurry: 2.0.2 - prettier: 3.8.1 - prettier-plugin-multiline-arrays: 4.1.4(prettier@3.8.1) - prompts: 2.4.2 - rimraf: 6.1.3 - swc-loader: 0.2.7(@swc/core@1.15.18)(webpack@5.105.4) - typescript: 5.9.3 - typescript-eslint: 8.57.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) - webpack: 5.105.4(@swc/core@1.15.18)(webpack-cli@6.0.1) - transitivePeerDependencies: - - '@swc/helpers' - - '@types/eslint' - - bufferutil - - esbuild - - jiti - - supports-color - - uglify-js - - utf-8-validate - - webpack-cli - - webpack-dev-server - - '@tsparticles/cli@3.2.2(@types/eslint@9.6.1)(jiti@2.6.1)(webpack-cli@6.0.1)': + '@tsparticles/cli@3.3.3(@types/eslint@9.6.1)(jiti@2.6.1)(webpack-cli@6.0.1)': dependencies: '@swc/core': 1.15.18 - '@tsparticles/depcruise-config': 3.3.1(dependency-cruiser@17.3.8) - '@tsparticles/eslint-config': 3.3.1(@types/eslint@9.6.1)(eslint@9.39.3(jiti@2.6.1)) - '@tsparticles/prettier-config': 3.3.1(prettier@3.8.1) - '@tsparticles/tsconfig': 3.3.1(typescript@5.9.3) - '@tsparticles/webpack-plugin': 3.3.1(@types/eslint@9.6.1)(jiti@2.6.1) + '@tsparticles/depcruise-config': 3.3.2(dependency-cruiser@17.3.8) + '@tsparticles/eslint-config': 3.3.2(@types/eslint@9.6.1)(eslint@10.0.3(jiti@2.6.1)) + '@tsparticles/prettier-config': 3.3.2(prettier@3.8.1) + '@tsparticles/tsconfig': 3.3.2(typescript@5.9.3) + '@tsparticles/webpack-plugin': 3.3.2(@types/eslint@9.6.1)(jiti@2.6.1) commander: 14.0.3 dependency-cruiser: 17.3.8 - eslint: 9.39.3(jiti@2.6.1) - eslint-config-prettier: 10.1.8(eslint@9.39.3(jiti@2.6.1)) - eslint-plugin-jsdoc: 62.7.1(eslint@9.39.3(jiti@2.6.1)) - eslint-plugin-prettier: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@10.0.3(jiti@2.6.1)))(eslint@9.39.3(jiti@2.6.1))(prettier@3.8.1) - eslint-plugin-tsdoc: 0.5.2(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) - fs-extra: 11.3.4 + eslint: 10.0.3(jiti@2.6.1) + eslint-config-prettier: 10.1.8(eslint@10.0.3(jiti@2.6.1)) + eslint-plugin-jsdoc: 62.7.1(eslint@10.0.3(jiti@2.6.1)) + eslint-plugin-prettier: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@10.0.3(jiti@2.6.1)))(eslint@10.0.3(jiti@2.6.1))(prettier@3.8.1) + eslint-plugin-tsdoc: 0.5.2(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) klaw: 4.1.0 lookpath: 1.2.3 path-scurry: 2.0.2 @@ -2840,7 +2578,7 @@ snapshots: rimraf: 6.1.3 swc-loader: 0.2.7(@swc/core@1.15.18)(webpack@5.105.4) typescript: 5.9.3 - typescript-eslint: 8.57.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) + typescript-eslint: 8.57.0(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) webpack: 5.105.4(@swc/core@1.15.18)(webpack-cli@6.0.1) transitivePeerDependencies: - '@swc/helpers' @@ -2854,17 +2592,17 @@ snapshots: - webpack-cli - webpack-dev-server - '@tsparticles/depcruise-config@3.3.1(dependency-cruiser@17.3.8)': + '@tsparticles/depcruise-config@3.3.2(dependency-cruiser@17.3.8)': dependencies: dependency-cruiser: 17.3.8 '@tsparticles/engine@3.9.1': {} - '@tsparticles/eslint-config@3.3.1(@types/eslint@9.6.1)(eslint@10.0.3(jiti@2.6.1))': + '@tsparticles/eslint-config@3.3.2(@types/eslint@9.6.1)(eslint@10.0.3(jiti@2.6.1))': dependencies: '@eslint/js': 10.0.1(eslint@10.0.3(jiti@2.6.1)) '@stylistic/eslint-plugin': 5.10.0(eslint@10.0.3(jiti@2.6.1)) - '@tsparticles/prettier-config': 3.3.1(prettier@3.8.1) + '@tsparticles/prettier-config': 3.3.2(prettier@3.8.1) eslint: 10.0.3(jiti@2.6.1) eslint-config-prettier: 10.1.8(eslint@10.0.3(jiti@2.6.1)) eslint-plugin-jsdoc: 62.7.1(eslint@10.0.3(jiti@2.6.1)) @@ -2879,40 +2617,21 @@ snapshots: - '@types/eslint' - supports-color - '@tsparticles/eslint-config@3.3.1(@types/eslint@9.6.1)(eslint@9.39.3(jiti@2.6.1))': - dependencies: - '@eslint/js': 10.0.1(eslint@9.39.3(jiti@2.6.1)) - '@stylistic/eslint-plugin': 5.10.0(eslint@9.39.3(jiti@2.6.1)) - '@tsparticles/prettier-config': 3.3.1(prettier@3.8.1) - eslint: 9.39.3(jiti@2.6.1) - eslint-config-prettier: 10.1.8(eslint@9.39.3(jiti@2.6.1)) - eslint-plugin-jsdoc: 62.7.1(eslint@9.39.3(jiti@2.6.1)) - eslint-plugin-prettier: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@10.0.3(jiti@2.6.1)))(eslint@9.39.3(jiti@2.6.1))(prettier@3.8.1) - eslint-plugin-tsdoc: 0.5.2(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) - jiti: 2.6.1 - prettier: 3.8.1 - prettier-plugin-multiline-arrays: 4.1.4(prettier@3.8.1) - typescript: 5.9.3 - typescript-eslint: 8.57.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) - transitivePeerDependencies: - - '@types/eslint' - - supports-color - - '@tsparticles/prettier-config@3.3.1(prettier@3.8.1)': + '@tsparticles/prettier-config@3.3.2(prettier@3.8.1)': dependencies: prettier: 3.8.1 prettier-plugin-multiline-arrays: 4.1.4(prettier@3.8.1) - '@tsparticles/tsconfig@3.3.1(typescript@5.9.3)': + '@tsparticles/tsconfig@3.3.2(typescript@5.9.3)': dependencies: typescript: 5.9.3 - '@tsparticles/webpack-plugin@3.3.1(@types/eslint@9.6.1)(jiti@2.6.1)': + '@tsparticles/webpack-plugin@3.3.2(@types/eslint@9.6.1)(jiti@2.6.1)': dependencies: '@stylistic/eslint-plugin': 5.10.0(eslint@10.0.3(jiti@2.6.1)) '@swc/core': 1.15.18 - '@tsparticles/eslint-config': 3.3.1(@types/eslint@9.6.1)(eslint@10.0.3(jiti@2.6.1)) - '@tsparticles/prettier-config': 3.3.1(prettier@3.8.1) + '@tsparticles/eslint-config': 3.3.2(@types/eslint@9.6.1)(eslint@10.0.3(jiti@2.6.1)) + '@tsparticles/prettier-config': 3.3.2(prettier@3.8.1) browserslist: 4.28.1 eslint: 10.0.3(jiti@2.6.1) eslint-config-prettier: 10.1.8(eslint@10.0.3(jiti@2.6.1)) @@ -2994,22 +2713,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.57.0(@typescript-eslint/parser@8.57.0(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3)': - dependencies: - '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.57.0(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/scope-manager': 8.57.0 - '@typescript-eslint/type-utils': 8.57.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/utils': 8.57.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.57.0 - eslint: 9.39.3(jiti@2.6.1) - ignore: 7.0.5 - natural-compare: 1.4.0 - ts-api-utils: 2.4.0(typescript@5.9.3) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/parser@8.57.0(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@typescript-eslint/scope-manager': 8.57.0 @@ -3022,18 +2725,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.57.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3)': - dependencies: - '@typescript-eslint/scope-manager': 8.57.0 - '@typescript-eslint/types': 8.57.0 - '@typescript-eslint/typescript-estree': 8.57.0(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.57.0 - debug: 4.4.3 - eslint: 9.39.3(jiti@2.6.1) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/project-service@8.56.1(typescript@5.9.3)': dependencies: '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@5.9.3) @@ -3082,18 +2773,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@8.57.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3)': - dependencies: - '@typescript-eslint/types': 8.57.0 - '@typescript-eslint/typescript-estree': 8.57.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.57.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) - debug: 4.4.3 - eslint: 9.39.3(jiti@2.6.1) - ts-api-utils: 2.4.0(typescript@5.9.3) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/types@8.56.1': {} '@typescript-eslint/types@8.57.0': {} @@ -3139,17 +2818,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.56.1(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3)': - dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.3(jiti@2.6.1)) - '@typescript-eslint/scope-manager': 8.56.1 - '@typescript-eslint/types': 8.56.1 - '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.9.3) - eslint: 9.39.3(jiti@2.6.1) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/utils@8.57.0(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.3(jiti@2.6.1)) @@ -3161,17 +2829,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.57.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3)': - dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.3(jiti@2.6.1)) - '@typescript-eslint/scope-manager': 8.57.0 - '@typescript-eslint/types': 8.57.0 - '@typescript-eslint/typescript-estree': 8.57.0(typescript@5.9.3) - eslint: 9.39.3(jiti@2.6.1) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/visitor-keys@8.56.1': dependencies: '@typescript-eslint/types': 8.56.1 @@ -3355,13 +3012,6 @@ snapshots: ajv: 8.18.0 fast-deep-equal: 3.1.3 - ajv@6.12.6: - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - ajv@6.14.0: dependencies: fast-deep-equal: 3.1.3 @@ -3388,8 +3038,6 @@ snapshots: arg@4.1.3: {} - argparse@2.0.1: {} - assertion-error@2.0.1: {} balanced-match@1.0.2: {} @@ -3419,8 +3067,6 @@ snapshots: buffer-from@1.1.2: {} - callsites@3.1.0: {} - caniuse-lite@1.0.30001761: {} chai@6.2.1: {} @@ -3591,10 +3237,6 @@ snapshots: dependencies: eslint: 10.0.3(jiti@2.6.1) - eslint-config-prettier@10.1.8(eslint@9.39.3(jiti@2.6.1)): - dependencies: - eslint: 9.39.3(jiti@2.6.1) - eslint-plugin-jsdoc@62.7.1(eslint@10.0.3(jiti@2.6.1)): dependencies: '@es-joy/jsdoccomment': 0.84.0 @@ -3615,26 +3257,6 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-jsdoc@62.7.1(eslint@9.39.3(jiti@2.6.1)): - dependencies: - '@es-joy/jsdoccomment': 0.84.0 - '@es-joy/resolve.exports': 1.2.0 - are-docs-informative: 0.0.2 - comment-parser: 1.4.5 - debug: 4.4.3 - escape-string-regexp: 4.0.0 - eslint: 9.39.3(jiti@2.6.1) - espree: 11.1.0 - esquery: 1.7.0 - html-entities: 2.6.0 - object-deep-merge: 2.0.0 - parse-imports-exports: 0.2.4 - semver: 7.7.4 - spdx-expression-parse: 4.0.0 - to-valid-identifier: 1.0.0 - transitivePeerDependencies: - - supports-color - eslint-plugin-prettier@5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@10.0.3(jiti@2.6.1)))(eslint@10.0.3(jiti@2.6.1))(prettier@3.8.1): dependencies: eslint: 10.0.3(jiti@2.6.1) @@ -3645,16 +3267,6 @@ snapshots: '@types/eslint': 9.6.1 eslint-config-prettier: 10.1.8(eslint@10.0.3(jiti@2.6.1)) - eslint-plugin-prettier@5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@10.0.3(jiti@2.6.1)))(eslint@9.39.3(jiti@2.6.1))(prettier@3.8.1): - dependencies: - eslint: 9.39.3(jiti@2.6.1) - prettier: 3.8.1 - prettier-linter-helpers: 1.0.1 - synckit: 0.11.12 - optionalDependencies: - '@types/eslint': 9.6.1 - eslint-config-prettier: 10.1.8(eslint@10.0.3(jiti@2.6.1)) - eslint-plugin-tsdoc@0.5.2(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3): dependencies: '@microsoft/tsdoc': 0.16.0 @@ -3665,26 +3277,11 @@ snapshots: - supports-color - typescript - eslint-plugin-tsdoc@0.5.2(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3): - dependencies: - '@microsoft/tsdoc': 0.16.0 - '@microsoft/tsdoc-config': 0.18.1 - '@typescript-eslint/utils': 8.56.1(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) - transitivePeerDependencies: - - eslint - - supports-color - - typescript - eslint-scope@5.1.1: dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 - eslint-scope@8.4.0: - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - eslint-scope@9.1.2: dependencies: '@types/esrecurse': 4.3.1 @@ -3737,47 +3334,6 @@ snapshots: transitivePeerDependencies: - supports-color - eslint@9.39.3(jiti@2.6.1): - dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.3(jiti@2.6.1)) - '@eslint-community/regexpp': 4.12.2 - '@eslint/config-array': 0.21.1 - '@eslint/config-helpers': 0.4.2 - '@eslint/core': 0.17.0 - '@eslint/eslintrc': 3.3.1 - '@eslint/js': 9.39.3 - '@eslint/plugin-kit': 0.4.1 - '@humanfs/node': 0.16.6 - '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.4.3 - '@types/estree': 1.0.8 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.6 - debug: 4.4.3 - escape-string-regexp: 4.0.0 - eslint-scope: 8.4.0 - eslint-visitor-keys: 4.2.1 - espree: 10.4.0 - esquery: 1.7.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 8.0.0 - find-up: 5.0.0 - glob-parent: 6.0.2 - ignore: 5.3.1 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - json-stable-stringify-without-jsonify: 1.0.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 - natural-compare: 1.4.0 - optionator: 0.9.3 - optionalDependencies: - jiti: 2.6.1 - transitivePeerDependencies: - - supports-color - espree@10.4.0: dependencies: acorn: 8.16.0 @@ -3857,12 +3413,6 @@ snapshots: flatted@3.3.3: {} - fs-extra@11.3.4: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.0 - fs.realpath@1.0.0: {} fsevents@2.3.3: @@ -3897,8 +3447,6 @@ snapshots: dependencies: ini: 4.1.1 - globals@14.0.0: {} - graceful-fs@4.2.11: {} has-flag@4.0.0: {} @@ -3919,11 +3467,6 @@ snapshots: ignore@7.0.5: {} - import-fresh@3.3.0: - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - import-local@3.1.0: dependencies: pkg-dir: 4.2.0 @@ -3987,10 +3530,6 @@ snapshots: jju@1.4.0: {} - js-yaml@4.1.0: - dependencies: - argparse: 2.0.1 - jsdoc-type-pratt-parser@7.1.1: {} json-buffer@3.0.1: {} @@ -4005,12 +3544,6 @@ snapshots: json5@2.2.3: {} - jsonfile@6.1.0: - dependencies: - universalify: 2.0.0 - optionalDependencies: - graceful-fs: 4.2.11 - keyv@4.5.4: dependencies: json-buffer: 3.0.1 @@ -4036,8 +3569,6 @@ snapshots: dependencies: p-locate: 5.0.0 - lodash.merge@4.6.2: {} - lookpath@1.2.3: {} lru-cache@11.1.0: {} @@ -4134,10 +3665,6 @@ snapshots: package-json-from-dist@1.0.1: {} - parent-module@1.0.1: - dependencies: - callsites: 3.1.0 - parse-imports-exports@0.2.4: dependencies: parse-statements: 1.0.11 @@ -4235,8 +3762,6 @@ snapshots: dependencies: resolve-from: 5.0.0 - resolve-from@4.0.0: {} - resolve-from@5.0.0: {} resolve@1.22.10: @@ -4358,8 +3883,6 @@ snapshots: strip-bom@3.0.0: {} - strip-json-comments@3.1.1: {} - supports-color@7.2.0: dependencies: has-flag: 4.0.0 @@ -4486,23 +4009,10 @@ snapshots: transitivePeerDependencies: - supports-color - typescript-eslint@8.57.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3): - dependencies: - '@typescript-eslint/eslint-plugin': 8.57.0(@typescript-eslint/parser@8.57.0(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/parser': 8.57.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/typescript-estree': 8.57.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.57.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) - eslint: 9.39.3(jiti@2.6.1) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - typescript@5.9.3: {} undici-types@7.18.2: {} - universalify@2.0.0: {} - untildify@4.0.0: {} update-browserslist-db@1.2.3(browserslist@4.28.1): diff --git a/src/build/build-distfiles.ts b/src/build/build-distfiles.ts index ad706a0..cf55b3c 100644 --- a/src/build/build-distfiles.ts +++ b/src/build/build-distfiles.ts @@ -36,9 +36,12 @@ export async function buildDistFiles(basePath: string, silent: boolean): Promise libObj["peerDependencies"] = JSON.parse(JSON.stringify(pkgInfo.peerDependencies).replaceAll("workspace:", "")); } - const jsonIndent = 2; + const jsonIndent = 2, + newLibPackageContents = `${JSON.stringify(libObj, undefined, jsonIndent)}\n`; - await writeFile(libPackage, `${JSON.stringify(libObj, undefined, jsonIndent)}\n`, "utf8"); + if (newLibPackageContents !== text) { + await writeFile(libPackage, newLibPackageContents, "utf8"); + } if (!silent) { console.log(`package.dist.json updated successfully to version ${pkgInfo.version}`); @@ -78,9 +81,12 @@ export async function buildDistFiles(basePath: string, silent: boolean): Promise continue; } - const contents = await readFile(file.path, "utf8"); + const contents = await readFile(file.path, "utf8"), + updatedContents = contents.replaceAll("__VERSION__", `"${pkgInfo.version}"`); - await writeFile(file.path, contents.replaceAll("__VERSION__", `"${pkgInfo.version}"`), "utf8"); + if (updatedContents !== contents) { + await writeFile(file.path, updatedContents, "utf8"); + } } /* for await (const file of klaw(path.join(distPath, "cjs"))) { diff --git a/src/build/build-eslint.ts b/src/build/build-eslint.ts index 1cab940..31b90e1 100644 --- a/src/build/build-eslint.ts +++ b/src/build/build-eslint.ts @@ -15,6 +15,9 @@ export async function lint(ci: boolean, silent: boolean): Promise { try { const eslint = new ESLint({ fix: !ci, + cache: true, + cacheLocation: ".cache/eslint/.eslintcache", + cacheStrategy: "metadata", }), results = await eslint.lintFiles(["src"]), errors = ESLint.getErrorResults(results); diff --git a/src/build/build-prettier.ts b/src/build/build-prettier.ts index 239018f..19b9b03 100644 --- a/src/build/build-prettier.ts +++ b/src/build/build-prettier.ts @@ -4,6 +4,58 @@ import klaw from "klaw"; import path from "node:path"; import prettier from "prettier"; +type PrettierSupportedParser = "typescript" | "json" | "markdown"; + +/** + * @param basePath - + * @param parser - + * @returns - + */ +async function getPrettierOptions( + basePath: string, + parser: PrettierSupportedParser, +): Promise { + const baseOptions = (await prettier.resolveConfig(basePath)) ?? {}; + + return { + ...baseOptions, + printWidth: 120, + endOfLine: "lf", + tabWidth: 2, + arrowParens: "avoid", + parser, + }; +} + +/** + * @param filePath - + * @param options - + * @param ci - + * @param errorMessage - + */ +async function formatOrCheckFile( + filePath: string, + options: prettier.Options, + ci: boolean, + errorMessage: string, +): Promise { + const contents = await readFile(filePath, "utf8"); + + if (ci) { + if (!(await prettier.check(contents, options))) { + throw new Error(errorMessage); + } + + return; + } + + const formatted = await prettier.format(contents, options); + + if (formatted !== contents) { + await writeFile(filePath, formatted, "utf8"); + } +} + /** * @param basePath - * @param srcPath - @@ -19,29 +71,14 @@ export async function prettifySrc(basePath: string, srcPath: string, ci: boolean let res: boolean; try { + const options = await getPrettierOptions(basePath, "typescript"); + for await (const file of klaw(srcPath)) { if (file.stats.isDirectory()) { continue; } - const contents = await readFile(file.path, "utf8"), - options = (await prettier.resolveConfig(basePath)) ?? {}; - - options.printWidth = 120; - options.endOfLine = "lf"; - options.parser = "typescript"; - options.tabWidth = 2; - options.arrowParens = "avoid" as const; - - if (ci) { - if (!(await prettier.check(contents, options))) { - throw new Error(`${file.path} is not formatted correctly`); - } - } else { - const formatted = await prettier.format(contents, options); - - await writeFile(file.path, formatted, "utf8"); - } + await formatOrCheckFile(file.path, options, ci, `${file.path} is not formatted correctly`); } res = true; @@ -72,23 +109,9 @@ export async function prettifyPackageJson(basePath: string, ci: boolean, silent: let res: boolean; try { - const contents = await readFile("package.json", "utf8"), - options = (await prettier.resolveConfig(basePath)) ?? {}; - - options.tabWidth = 2; - options.printWidth = 120; - options.endOfLine = "lf"; - options.parser = "json"; - - if (ci) { - if (!(await prettier.check(contents, options))) { - throw new Error(`package.json is not formatted correctly`); - } - } else { - const formatted = await prettier.format(contents, options); + const options = await getPrettierOptions(basePath, "json"); - await writeFile("package.json", formatted, "utf8"); - } + await formatOrCheckFile("package.json", options, ci, "package.json is not formatted correctly"); res = true; } catch (e) { @@ -118,23 +141,9 @@ export async function prettifyPackageDistJson(basePath: string, ci: boolean, sil let res: boolean; try { - const contents = await readFile("package.dist.json", "utf8"), - options = (await prettier.resolveConfig(basePath)) ?? {}; + const options = await getPrettierOptions(basePath, "json"); - options.tabWidth = 2; - options.printWidth = 120; - options.endOfLine = "lf"; - options.parser = "json"; - - if (ci) { - if (!(await prettier.check(contents, options))) { - throw new Error(`package.dist.json is not formatted correctly`); - } - } else { - const formatted = await prettier.format(contents, options); - - await writeFile("package.dist.json", formatted, "utf8"); - } + await formatOrCheckFile("package.dist.json", options, ci, "package.dist.json is not formatted correctly"); res = true; } catch (e) { @@ -164,22 +173,9 @@ export async function prettifyReadme(basePath: string, ci: boolean, silent: bool let res: boolean; try { - const contents = await readFile("README.md", "utf8"), - options = (await prettier.resolveConfig(basePath)) ?? {}; + const options = await getPrettierOptions(basePath, "markdown"); - options.printWidth = 120; - options.endOfLine = "lf"; - options.parser = "markdown"; - - if (ci) { - if (!(await prettier.check(contents, options))) { - throw new Error(`README.md is not formatted correctly`); - } - } else { - const formatted = await prettier.format(contents, options); - - await writeFile("README.md", formatted, "utf8"); - } + await formatOrCheckFile("README.md", options, ci, "README.md is not formatted correctly"); res = (await prettifyTraductions(basePath, ci, silent)) && (await prettifyMarkdownTypeDocFiles(basePath, ci, silent)); @@ -211,7 +207,8 @@ async function prettifyTraductions(basePath: string, ci: boolean, silent: boolea try { const folder = "traduction", - folderPath = path.join(basePath, folder); + folderPath = path.join(basePath, folder), + options = await getPrettierOptions(basePath, "markdown"); if (!existsSync(folderPath)) { res = true; @@ -223,22 +220,7 @@ async function prettifyTraductions(basePath: string, ci: boolean, silent: boolea continue; } - const contents = await readFile(file.path, "utf8"), - options = (await prettier.resolveConfig(basePath)) ?? {}; - - options.printWidth = 120; - options.endOfLine = "lf"; - options.parser = "markdown"; - - if (ci) { - if (!(await prettier.check(contents, options))) { - throw new Error(`${file.path} is not formatted correctly`); - } - } else { - const formatted = await prettier.format(contents, options); - - await writeFile(file.path, formatted, "utf8"); - } + await formatOrCheckFile(file.path, options, ci, `${file.path} is not formatted correctly`); } res = true; @@ -271,7 +253,8 @@ async function prettifyMarkdownTypeDocFiles(basePath: string, ci: boolean, silen try { const folder = "markdown", - folderPath = path.join(basePath, folder); + folderPath = path.join(basePath, folder), + options = await getPrettierOptions(basePath, "markdown"); if (!existsSync(folderPath)) { res = true; @@ -283,22 +266,7 @@ async function prettifyMarkdownTypeDocFiles(basePath: string, ci: boolean, silen continue; } - const contents = await readFile(file.path, "utf8"), - options = (await prettier.resolveConfig(basePath)) ?? {}; - - options.printWidth = 120; - options.endOfLine = "lf"; - options.parser = "markdown"; - - if (ci) { - if (!(await prettier.check(contents, options))) { - throw new Error(`${file.path} is not formatted correctly`); - } - } else { - const formatted = await prettier.format(contents, options); - - await writeFile(file.path, formatted, "utf8"); - } + await formatOrCheckFile(file.path, options, ci, `${file.path} is not formatted correctly`); } res = true;