From f549e1818f6923b0c061a9d8e4833e2bc6be5b4b Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 10 Jul 2026 13:07:25 -0700 Subject: [PATCH] Chore: move to esbuild, ditch webpack --- .github/workflows/ci-frontend.yml | 17 +- src-ui/angular.json | 21 +- src-ui/extra-webpack.config.ts | 24 -- src-ui/package.json | 5 +- src-ui/pnpm-lock.yaml | 495 ++---------------------------- 5 files changed, 49 insertions(+), 513 deletions(-) delete mode 100644 src-ui/extra-webpack.config.ts diff --git a/.github/workflows/ci-frontend.yml b/.github/workflows/ci-frontend.yml index ed9d28011..83f1165fe 100644 --- a/.github/workflows/ci-frontend.yml +++ b/.github/workflows/ci-frontend.yml @@ -229,12 +229,11 @@ jobs: run: cd src-ui && pnpm install --no-frozen-lockfile - name: Run Playwright E2E tests run: cd src-ui && pnpm exec playwright test --shard ${{ matrix.shard-index }}/${{ matrix.shard-count }} - bundle-analysis: - name: Bundle Analysis + frontend-build: + name: Frontend Build needs: [changes, unit-tests, e2e-tests] if: needs.changes.outputs.frontend_changed == 'true' runs-on: ubuntu-24.04 - environment: bundle-analysis permissions: contents: read steps: @@ -262,19 +261,17 @@ jobs: key: ${{ runner.os }}-frontend-${{ hashFiles('src-ui/pnpm-lock.yaml') }} - name: Re-link Angular CLI run: cd src-ui && pnpm link @angular/cli - - name: Build and analyze - env: - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + - name: Build run: cd src-ui && pnpm run build --configuration=production gate: name: Frontend CI Gate - needs: [changes, install-dependencies, lint, unit-tests, e2e-tests, bundle-analysis] + needs: [changes, install-dependencies, lint, unit-tests, e2e-tests, frontend-build] if: always() runs-on: ubuntu-slim steps: - name: Check gate env: - BUNDLE_ANALYSIS_RESULT: ${{ needs['bundle-analysis'].result }} + BUILD_RESULT: ${{ needs['frontend-build'].result }} E2E_RESULT: ${{ needs['e2e-tests'].result }} FRONTEND_CHANGED: ${{ needs.changes.outputs.frontend_changed }} INSTALL_RESULT: ${{ needs['install-dependencies'].result }} @@ -306,8 +303,8 @@ jobs: exit 1 fi - if [[ "${BUNDLE_ANALYSIS_RESULT}" != "success" ]]; then - echo "::error::Frontend bundle-analysis job result: ${BUNDLE_ANALYSIS_RESULT}" + if [[ "${BUILD_RESULT}" != "success" ]]; then + echo "::error::Frontend build job result: ${BUILD_RESULT}" exit 1 fi diff --git a/src-ui/angular.json b/src-ui/angular.json index 391dcc710..833b98700 100644 --- a/src-ui/angular.json +++ b/src-ui/angular.json @@ -56,13 +56,13 @@ }, "architect": { "build": { - "builder": "@angular-builders/custom-webpack:browser", + "builder": "@angular/build:application", "options": { - "customWebpackConfig": { - "path": "./extra-webpack.config.ts" + "outputPath": { + "base": "dist/paperless-ui", + "browser": "" }, - "outputPath": "dist/paperless-ui", - "main": "src/main.ts", + "browser": "src/main.ts", "outputHashing": "none", "index": "src/index.html", "polyfills": [ @@ -87,6 +87,7 @@ "scripts": [], "allowedCommonJsDependencies": [ "file-saver", + "mime-names", "utif" ], "extractLicenses": false, @@ -107,11 +108,13 @@ "with": "src/environments/environment.prod.ts" } ], - "outputPath": "../src/documents/static/frontend/", + "outputPath": { + "base": "../src/documents/static/frontend/", + "browser": "" + }, "optimization": true, "outputHashing": "none", "sourceMap": false, - "namedChunks": false, "extractLicenses": true, "budgets": [ { @@ -135,7 +138,7 @@ "defaultConfiguration": "" }, "serve": { - "builder": "@angular-builders/custom-webpack:dev-server", + "builder": "@angular/build:dev-server", "options": { "buildTarget": "paperless-ui:build:en-US" }, @@ -146,7 +149,7 @@ } }, "extract-i18n": { - "builder": "@angular-builders/custom-webpack:extract-i18n", + "builder": "@angular/build:extract-i18n", "options": { "buildTarget": "paperless-ui:build" } diff --git a/src-ui/extra-webpack.config.ts b/src-ui/extra-webpack.config.ts deleted file mode 100644 index f19a84df4..000000000 --- a/src-ui/extra-webpack.config.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { - CustomWebpackBrowserSchema, - TargetOptions, -} from '@angular-builders/custom-webpack' -import * as webpack from 'webpack' -const { codecovWebpackPlugin } = require('@codecov/webpack-plugin') - -export default ( - config: webpack.Configuration, - options: CustomWebpackBrowserSchema, - targetOptions: TargetOptions -) => { - if (config.plugins) { - config.plugins.push( - codecovWebpackPlugin({ - enableBundleAnalysis: process.env.CODECOV_TOKEN !== undefined, - bundleName: 'paperless-ngx', - uploadToken: process.env.CODECOV_TOKEN, - }) - ) - } - - return config -} diff --git a/src-ui/package.json b/src-ui/package.json index 53ba8f999..5a101336a 100644 --- a/src-ui/package.json +++ b/src-ui/package.json @@ -39,7 +39,6 @@ "uuid": "^14.0.1" }, "devDependencies": { - "@angular-builders/custom-webpack": "^22.0.1", "@angular-builders/jest": "^22.0.1", "@angular-devkit/core": "^22.0.5", "@angular-devkit/schematics": "^22.0.5", @@ -51,7 +50,6 @@ "@angular/build": "^22.0.5", "@angular/cli": "~22.0.5", "@angular/compiler-cli": "~22.0.5", - "@codecov/webpack-plugin": "^2.0.1", "@playwright/test": "^1.61.1", "@types/jest": "^30.0.0", "@types/node": "^26.0.0", @@ -66,8 +64,7 @@ "jest-websocket-mock": "^2.5.0", "prettier-plugin-organize-imports": "^4.3.0", "ts-node": "~10.9.1", - "typescript": "^6.0.3", - "webpack": "^5.107.2" + "typescript": "^6.0.3" }, "packageManager": "pnpm@10.26.0" } diff --git a/src-ui/pnpm-lock.yaml b/src-ui/pnpm-lock.yaml index 605ac92d5..33ad03ffe 100644 --- a/src-ui/pnpm-lock.yaml +++ b/src-ui/pnpm-lock.yaml @@ -87,9 +87,6 @@ importers: specifier: ^14.0.1 version: 14.0.1 devDependencies: - '@angular-builders/custom-webpack': - specifier: ^22.0.1 - version: 22.0.1(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.0)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.16)(rxjs@7.8.2)(terser@5.48.0)(tslib@2.8.1)(typescript@6.0.3) '@angular-builders/jest': specifier: ^22.0.1 version: 22.0.1(6d3d466dba72c0eacaf0a456e8063975) @@ -123,9 +120,6 @@ importers: '@angular/compiler-cli': specifier: ~22.0.5 version: 22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3) - '@codecov/webpack-plugin': - specifier: ^2.0.1 - version: 2.0.1(webpack@5.108.3(postcss@8.5.16)) '@playwright/test': specifier: ^1.61.1 version: 1.61.1 @@ -171,30 +165,9 @@ importers: typescript: specifier: ^6.0.3 version: 6.0.3 - webpack: - specifier: ^5.107.2 - version: 5.108.3(postcss@8.5.16) packages: - '@actions/core@3.0.1': - resolution: {integrity: sha512-a6d/Nwahm9fliVGRhdhofo40HjHQasUPusmc7vBfyky+7Z+P2A1J68zyFVaNcEclc/Se+eO595oAr5nwEIoIUA==} - - '@actions/exec@3.0.0': - resolution: {integrity: sha512-6xH/puSoNBXb72VPlZVm7vQ+svQpFyA96qdDBvhB8eNZOE8LtPf9L4oAsfzK/crCL8YZ+19fKYVnM63Sl+Xzlw==} - - '@actions/github@9.1.1': - resolution: {integrity: sha512-tL5JbYOBZHc0ngEnCsaDcryUizIUIlQyIMwy1Wkx93H5HzbBJ7TbiPx2PnFjBwZW0Vh05JmfFZhecE6gglYegA==} - - '@actions/http-client@3.0.2': - resolution: {integrity: sha512-JP38FYYpyqvUsz+Igqlc/JG6YO9PaKuvqjM3iGvaLqFnJ7TFmcLyy2IDrY0bI0qCQug8E9K+elv5ZNfw62ZJzA==} - - '@actions/http-client@4.0.1': - resolution: {integrity: sha512-+Nvd1ImaOZBSoPbsUtEhv+1z99H12xzncCkz0a3RuehINE81FZSe2QTj3uvAPTcJX/SCzUQHQ0D1GrPMbrPitg==} - - '@actions/io@3.0.2': - resolution: {integrity: sha512-nRBchcMM+QK1pdjO7/idu86rbJI5YHUKCvKs0KxnSYbVe3F51UfGxuZX4Qy/fWlp6l7gWFwIkrOzN+oUK03kfw==} - '@algolia/abtesting@1.18.0': resolution: {integrity: sha512-8siuLG+FIns1AjZ/g2SDVwHz9S+ObacDQISEJvS8XsNei1zl3FXqfqQrBpmrG7ACWCyesXHbicMJtvRbg00FEw==} engines: {node: '>= 14.0.0'} @@ -259,13 +232,6 @@ packages: resolution: {integrity: sha512-7qZDXSS3CmN4W7z/p+VwH38id4Tq++pjl0GqH6XVp7Jj7RZGH+d4vPfsqF/ePG4N1XEJjL9ieG0vP6MNtf9UMQ==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} - '@angular-builders/custom-webpack@22.0.1': - resolution: {integrity: sha512-0wTSs9eH8LJjQYfuwySV9xOTxhfekbSaCFPHQv+GKsG0sAC/rjFG3sgRzObOd3ae3R8DW2389yZwu9juOWqRug==} - engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} - peerDependencies: - '@angular/compiler-cli': ^22.0.0 - rxjs: '>=7.0.0' - '@angular-builders/jest@22.0.1': resolution: {integrity: sha512-bSsV1a8A7KJs1RwsmKH5C9/K3j9GqRYQKiXPgrKOLUJ7dzsAvvlF58n5NX0Pn975ZCrGa1wY3tx8iwQpo+aj3g==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} @@ -1143,16 +1109,6 @@ packages: '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - '@codecov/bundler-plugin-core@2.0.1': - resolution: {integrity: sha512-TkdKn/rEwZQ723M7DDUmHe5r0IJa23rUT4TAx5jXmg12wGZGAHGWWU7LKeQsYCsKdLMxK7bLaGk9M++4wSRD5w==} - engines: {node: '>=20.0.0'} - - '@codecov/webpack-plugin@2.0.1': - resolution: {integrity: sha512-BC5+SOt8Z7mSAQnEZnmXuu8R//rYVWwQ0/CAglXAK6esY23Js8lLHU5fUo6fJL9e5iDCPSKJzxlAjFIsFMzimw==} - engines: {node: '>=20.0.0'} - peerDependencies: - webpack: 5.x - '@cspotcode/source-map-support@0.8.1': resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} @@ -2330,48 +2286,6 @@ packages: resolution: {integrity: sha512-mGUWr1uMnf0le2TwfOZY4SFxZGXGfm4Jtay/nwAa2FLNAKXUoUwaGwBMNH36UHPtinWfTSJ3nqFQr0091CxVGg==} engines: {node: ^20.17.0 || >=22.9.0} - '@octokit/auth-token@6.0.0': - resolution: {integrity: sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==} - engines: {node: '>= 20'} - - '@octokit/core@7.0.6': - resolution: {integrity: sha512-DhGl4xMVFGVIyMwswXeyzdL4uXD5OGILGX5N8Y+f6W7LhC1Ze2poSNrkF/fedpVDHEEZ+PHFW0vL14I+mm8K3Q==} - engines: {node: '>= 20'} - - '@octokit/endpoint@11.0.3': - resolution: {integrity: sha512-FWFlNxghg4HrXkD3ifYbS/IdL/mDHjh9QcsNyhQjN8dplUoZbejsdpmuqdA76nxj2xoWPs7p8uX2SNr9rYu0Ag==} - engines: {node: '>= 20'} - - '@octokit/graphql@9.0.3': - resolution: {integrity: sha512-grAEuupr/C1rALFnXTv6ZQhFuL1D8G5y8CN04RgrO4FIPMrtm+mcZzFG7dcBm+nq+1ppNixu+Jd78aeJOYxlGA==} - engines: {node: '>= 20'} - - '@octokit/openapi-types@27.0.0': - resolution: {integrity: sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==} - - '@octokit/plugin-paginate-rest@14.0.0': - resolution: {integrity: sha512-fNVRE7ufJiAA3XUrha2omTA39M6IXIc6GIZLvlbsm8QOQCYvpq/LkMNGyFlB1d8hTDzsAXa3OKtybdMAYsV/fw==} - engines: {node: '>= 20'} - peerDependencies: - '@octokit/core': '>=6' - - '@octokit/plugin-rest-endpoint-methods@17.0.0': - resolution: {integrity: sha512-B5yCyIlOJFPqUUeiD0cnBJwWJO8lkJs5d8+ze9QDP6SvfiXSz1BF+91+0MeI1d2yxgOhU/O+CvtiZ9jSkHhFAw==} - engines: {node: '>= 20'} - peerDependencies: - '@octokit/core': '>=6' - - '@octokit/request-error@7.1.0': - resolution: {integrity: sha512-KMQIfq5sOPpkQYajXHwnhjCC0slzCNScLHs9JafXc4RAJI+9f+jNDlBNaIMTvazOPLgb4BnlhGJOTbnN0wIjPw==} - engines: {node: '>= 20'} - - '@octokit/request@10.0.11': - resolution: {integrity: sha512-+s7HUxjfFqOMS9VlIwDffq0MikjSAK0gSpG73W+meAvVAvX4MBrHYTK5Bj3Uot55qFT4gzUtfzE4mGWY4Br8/Q==} - engines: {node: '>= 20'} - - '@octokit/types@16.0.0': - resolution: {integrity: sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==} - '@parcel/watcher-android-arm64@2.5.6': resolution: {integrity: sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==} engines: {node: '>= 10.0.0'} @@ -3297,9 +3211,6 @@ packages: resolution: {integrity: sha512-NvcGjG/7AVUAfRbvrJmHunDQS9uHnE6Q/7AkaPr8oKE8HjOlpjRG5075z/th2Tmlezk3VlaaS8+X9I1RwHJMQw==} engines: {node: '>=18.0.0'} - before-after-hook@4.0.0: - resolution: {integrity: sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==} - big.js@5.2.2: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} @@ -4624,9 +4535,6 @@ packages: json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - json-with-bigint@3.5.8: - resolution: {integrity: sha512-eq/4KP6K34kwa7TcFdtvnftvHCD9KvHOGGICWwMFc4dOOKF5t4iYqnfLK8otCRCRv06FXOzGGyqE8h8ElMvvdw==} - json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} @@ -4861,49 +4769,6 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - minimizer-webpack-plugin@5.6.1: - resolution: {integrity: sha512-DoeAZz8Q1C1znwsUzej1fdoi4jCf7/+Em27ouLqfK/+3m8G+D7yDhUwrc3CNhjSzGUN1kn7Iv4sWmjflQHenpw==} - engines: {node: '>= 10.13.0'} - peerDependencies: - '@minify-html/node': '*' - '@swc/core': '*' - '@swc/css': '*' - '@swc/html': '*' - clean-css: '*' - cssnano: '*' - csso: '*' - esbuild: '*' - html-minifier-terser: '*' - lightningcss: '*' - postcss: '*' - uglify-js: '*' - webpack: ^5.1.0 - peerDependenciesMeta: - '@minify-html/node': - optional: true - '@swc/core': - optional: true - '@swc/css': - optional: true - '@swc/html': - optional: true - clean-css: - optional: true - cssnano: - optional: true - csso: - optional: true - esbuild: - optional: true - html-minifier-terser: - optional: true - lightningcss: - optional: true - postcss: - optional: true - uglify-js: - optional: true - minipass-collect@2.0.1: resolution: {integrity: sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==} engines: {node: '>=16 || 14 >=14.17'} @@ -6045,10 +5910,6 @@ packages: resolution: {integrity: sha512-50QV99kCKH5P/Vs4E2Gzp7BopNV+KzTXqWeaxrfu5IQJBOULRsTIS9seSsOVT8ZnGXzCyx55nYWAi4qJzpZKEQ==} engines: {node: ^20.17.0 || >=22.9.0} - tunnel@0.0.6: - resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} - engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} - type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -6109,17 +5970,10 @@ packages: resolution: {integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==} engines: {node: '>=4'} - universal-user-agent@7.0.3: - resolution: {integrity: sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==} - unpipe@1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - unplugin@1.16.1: - resolution: {integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==} - engines: {node: '>=14.0.0'} - unrs-resolver@1.12.2: resolution: {integrity: sha512-dmlRxBJJayXjqTwC+JtF1HhJmgf3ftQ3YejFcZrf4+KKtJv0qDsK1pjqaaVjG7wJ5NJ6UVP1OqRMQ71Z4C3rxQ==} @@ -6280,9 +6134,6 @@ packages: html-webpack-plugin: optional: true - webpack-virtual-modules@0.6.2: - resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} - webpack@5.106.2: resolution: {integrity: sha512-wGN3qcrBQIFmQ/c0AiOAQBvrZ5lmY8vbbMv4Mxfgzqd/B6+9pXtLo73WuS1dSGXM5QYY3hZnIbvx+K1xxe6FyA==} engines: {node: '>=10.13.0'} @@ -6293,16 +6144,6 @@ packages: webpack-cli: optional: true - webpack@5.108.3: - resolution: {integrity: sha512-hOpaCHmQVVY66IVTjofnH14IgSdmod2aquSGHGuYig/OIdWge01Hk2Wt988DZcwXumFUT4+FvJY5N+ikl8o/ww==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true - websocket-driver@0.7.5: resolution: {integrity: sha512-ZL2+3c7kMBdIRCMz6l8jQMHyGVxj+UL+xVk74Ombiciboca8rHa15L86B19E5oh1pL9Ii/uj54gtsIrZGMo6zA==} engines: {node: '>=0.8.0'} @@ -6444,9 +6285,6 @@ packages: peerDependencies: zod: ^3.25.28 || ^4 - zod@3.25.76: - resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} - zod@4.4.2: resolution: {integrity: sha512-IynmDyxsEsb9RKzO3J9+4SxXnl2FTFSzNBaKKaMV6tsSk0rw9gYw9gs+JFCq/qk2LCZ78KDwyj+Z289TijSkUw==} @@ -6455,37 +6293,6 @@ packages: snapshots: - '@actions/core@3.0.1': - dependencies: - '@actions/exec': 3.0.0 - '@actions/http-client': 4.0.1 - - '@actions/exec@3.0.0': - dependencies: - '@actions/io': 3.0.2 - - '@actions/github@9.1.1': - dependencies: - '@actions/http-client': 3.0.2 - '@octokit/core': 7.0.6 - '@octokit/plugin-paginate-rest': 14.0.0(@octokit/core@7.0.6) - '@octokit/plugin-rest-endpoint-methods': 17.0.0(@octokit/core@7.0.6) - '@octokit/request': 10.0.11 - '@octokit/request-error': 7.1.0 - undici: 6.27.0 - - '@actions/http-client@3.0.2': - dependencies: - tunnel: 0.0.6 - undici: 6.27.0 - - '@actions/http-client@4.0.1': - dependencies: - tunnel: 0.0.6 - undici: 6.27.0 - - '@actions/io@3.0.2': {} - '@algolia/abtesting@1.18.0': dependencies: '@algolia/client-common': 5.52.0 @@ -6585,65 +6392,6 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-builders/custom-webpack@22.0.1(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.0)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.16)(rxjs@7.8.2)(terser@5.48.0)(tslib@2.8.1)(typescript@6.0.3)': - dependencies: - '@angular-builders/common': 6.0.1(chokidar@5.0.0) - '@angular-devkit/architect': 0.2200.5(chokidar@5.0.0) - '@angular-devkit/build-angular': 22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.0)(chokidar@5.0.0)(jiti@2.7.0)(typescript@6.0.3) - '@angular-devkit/core': 22.0.5(chokidar@5.0.0) - '@angular-devkit/schematics': 22.0.5(chokidar@5.0.0) - '@angular/build': 22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.0)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.16)(terser@5.48.0)(tslib@2.8.1)(typescript@6.0.3) - '@angular/compiler-cli': 22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3) - '@schematics/angular': 22.0.5(chokidar@5.0.0) - lodash: 4.18.1 - rxjs: 7.8.2 - webpack-merge: 6.0.1 - transitivePeerDependencies: - - '@angular/compiler' - - '@angular/core' - - '@angular/localize' - - '@angular/platform-browser' - - '@angular/platform-server' - - '@angular/service-worker' - - '@angular/ssr' - - '@minify-html/node' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - '@types/node' - - browser-sync - - bufferutil - - chokidar - - clean-css - - cssnano - - csso - - debug - - html-minifier-terser - - html-webpack-plugin - - istanbul-lib-instrument - - jiti - - karma - - less - - lightningcss - - ng-packagr - - node-sass - - postcss - - sass-embedded - - stylus - - sugarss - - supports-color - - tailwindcss - - terser - - tslib - - tsx - - typescript - - uglify-js - - utf-8-validate - - vitest - - webpack-cli - - yaml - '@angular-builders/jest@22.0.1(6d3d466dba72c0eacaf0a456e8063975)': dependencies: '@angular-builders/common': 6.0.1(chokidar@5.0.0) @@ -6681,7 +6429,7 @@ snapshots: dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.5(chokidar@5.0.0) - '@angular-devkit/build-webpack': 0.2200.5(chokidar@5.0.0)(webpack-dev-server@5.2.3(tslib@2.8.1)(webpack@5.108.3(postcss@8.5.16)))(webpack@5.106.2(esbuild@0.28.1)(postcss@8.5.13)) + '@angular-devkit/build-webpack': 0.2200.5(chokidar@5.0.0)(webpack-dev-server@5.2.3(tslib@2.8.1)(webpack@5.106.2(esbuild@0.28.1)(postcss@8.5.13)))(webpack@5.106.2(esbuild@0.28.1)(postcss@8.5.13)) '@angular-devkit/core': 22.0.5(chokidar@5.0.0) '@angular/build': 22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.0)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/compiler-cli': 22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3) @@ -6769,12 +6517,12 @@ snapshots: - webpack-cli - yaml - '@angular-devkit/build-webpack@0.2200.5(chokidar@5.0.0)(webpack-dev-server@5.2.3(tslib@2.8.1)(webpack@5.108.3(postcss@8.5.16)))(webpack@5.106.2(esbuild@0.28.1)(postcss@8.5.13))': + '@angular-devkit/build-webpack@0.2200.5(chokidar@5.0.0)(webpack-dev-server@5.2.3(tslib@2.8.1)(webpack@5.106.2(esbuild@0.28.1)(postcss@8.5.13)))(webpack@5.106.2(esbuild@0.28.1)(postcss@8.5.13))': dependencies: '@angular-devkit/architect': 0.2200.5(chokidar@5.0.0) rxjs: 7.8.2 webpack: 5.106.2(esbuild@0.28.1)(postcss@8.5.13) - webpack-dev-server: 5.2.3(tslib@2.8.1)(webpack@5.108.3(postcss@8.5.16)) + webpack-dev-server: 5.2.3(tslib@2.8.1)(webpack@5.106.2(esbuild@0.28.1)(postcss@8.5.13)) transitivePeerDependencies: - chokidar @@ -7894,21 +7642,6 @@ snapshots: '@bcoe/v8-coverage@0.2.3': {} - '@codecov/bundler-plugin-core@2.0.1': - dependencies: - '@actions/core': 3.0.1 - '@actions/github': 9.1.1 - chalk: 4.1.2 - semver: 7.8.5 - unplugin: 1.16.1 - zod: 3.25.76 - - '@codecov/webpack-plugin@2.0.1(webpack@5.108.3(postcss@8.5.16))': - dependencies: - '@codecov/bundler-plugin-core': 2.0.1 - unplugin: 1.16.1 - webpack: 5.108.3(postcss@8.5.16) - '@cspotcode/source-map-support@0.8.1': dependencies: '@jridgewell/trace-mapping': 0.3.9 @@ -8950,58 +8683,6 @@ snapshots: node-gyp: 12.4.0 proc-log: 6.1.0 - '@octokit/auth-token@6.0.0': {} - - '@octokit/core@7.0.6': - dependencies: - '@octokit/auth-token': 6.0.0 - '@octokit/graphql': 9.0.3 - '@octokit/request': 10.0.11 - '@octokit/request-error': 7.1.0 - '@octokit/types': 16.0.0 - before-after-hook: 4.0.0 - universal-user-agent: 7.0.3 - - '@octokit/endpoint@11.0.3': - dependencies: - '@octokit/types': 16.0.0 - universal-user-agent: 7.0.3 - - '@octokit/graphql@9.0.3': - dependencies: - '@octokit/request': 10.0.11 - '@octokit/types': 16.0.0 - universal-user-agent: 7.0.3 - - '@octokit/openapi-types@27.0.0': {} - - '@octokit/plugin-paginate-rest@14.0.0(@octokit/core@7.0.6)': - dependencies: - '@octokit/core': 7.0.6 - '@octokit/types': 16.0.0 - - '@octokit/plugin-rest-endpoint-methods@17.0.0(@octokit/core@7.0.6)': - dependencies: - '@octokit/core': 7.0.6 - '@octokit/types': 16.0.0 - - '@octokit/request-error@7.1.0': - dependencies: - '@octokit/types': 16.0.0 - - '@octokit/request@10.0.11': - dependencies: - '@octokit/endpoint': 11.0.3 - '@octokit/request-error': 7.1.0 - '@octokit/types': 16.0.0 - content-type: 2.0.0 - json-with-bigint: 3.5.8 - universal-user-agent: 7.0.3 - - '@octokit/types@16.0.0': - dependencies: - '@octokit/openapi-types': 27.0.0 - '@parcel/watcher-android-arm64@2.5.6': optional: true @@ -9962,8 +9643,6 @@ snapshots: postcss-media-query-parser: 0.2.3 postcss-safe-parser: 7.0.1(postcss@8.5.16) - before-after-hook@4.0.0: {} - big.js@5.2.2: {} binary-extensions@2.3.0: {} @@ -10218,7 +9897,7 @@ snapshots: normalize-path: 3.0.0 schema-utils: 4.3.3 serialize-javascript: 7.0.7 - tinyglobby: 0.2.16 + tinyglobby: 0.2.17 webpack: 5.106.2(esbuild@0.28.1)(postcss@8.5.13) core-js-compat@3.49.0: @@ -10251,14 +9930,14 @@ snapshots: css-loader@7.1.4(webpack@5.106.2(esbuild@0.28.1)(postcss@8.5.13)): dependencies: - icss-utils: 5.1.0(postcss@8.5.13) - postcss: 8.5.13 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.13) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.13) - postcss-modules-scope: 3.2.1(postcss@8.5.13) - postcss-modules-values: 4.0.0(postcss@8.5.13) + icss-utils: 5.1.0(postcss@8.5.16) + postcss: 8.5.16 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.16) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.16) + postcss-modules-scope: 3.2.1(postcss@8.5.16) + postcss-modules-values: 4.0.0(postcss@8.5.16) postcss-value-parser: 4.2.0 - semver: 7.7.4 + semver: 7.8.5 optionalDependencies: webpack: 5.106.2(esbuild@0.28.1)(postcss@8.5.13) @@ -10990,9 +10669,9 @@ snapshots: dependencies: safer-buffer: 2.1.2 - icss-utils@5.1.0(postcss@8.5.13): + icss-utils@5.1.0(postcss@8.5.16): dependencies: - postcss: 8.5.13 + postcss: 8.5.16 ignore-walk@8.0.0: dependencies: @@ -11569,8 +11248,6 @@ snapshots: json-stable-stringify-without-jsonify@1.0.1: {} - json-with-bigint@3.5.8: {} - json5@2.2.3: {} jsonc-parser@3.3.1: {} @@ -11816,16 +11493,6 @@ snapshots: minimist@1.2.8: {} - minimizer-webpack-plugin@5.6.1(postcss@8.5.16)(webpack@5.108.3(postcss@8.5.16)): - dependencies: - '@jridgewell/trace-mapping': 0.3.31 - jest-worker: 27.5.1 - schema-utils: 4.3.3 - terser: 5.48.0 - webpack: 5.108.3(postcss@8.5.16) - optionalDependencies: - postcss: 8.5.16 - minipass-collect@2.0.1: dependencies: minipass: 7.1.3 @@ -12268,7 +11935,7 @@ snapshots: cosmiconfig: 9.0.2(typescript@6.0.3) jiti: 2.7.0 postcss: 8.5.13 - semver: 7.7.4 + semver: 7.8.5 optionalDependencies: webpack: 5.106.2(esbuild@0.28.1)(postcss@8.5.13) transitivePeerDependencies: @@ -12276,26 +11943,26 @@ snapshots: postcss-media-query-parser@0.2.3: {} - postcss-modules-extract-imports@3.1.0(postcss@8.5.13): + postcss-modules-extract-imports@3.1.0(postcss@8.5.16): dependencies: - postcss: 8.5.13 + postcss: 8.5.16 - postcss-modules-local-by-default@4.2.0(postcss@8.5.13): + postcss-modules-local-by-default@4.2.0(postcss@8.5.16): dependencies: - icss-utils: 5.1.0(postcss@8.5.13) - postcss: 8.5.13 + icss-utils: 5.1.0(postcss@8.5.16) + postcss: 8.5.16 postcss-selector-parser: 7.1.4 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.2.1(postcss@8.5.13): + postcss-modules-scope@3.2.1(postcss@8.5.16): dependencies: - postcss: 8.5.13 + postcss: 8.5.16 postcss-selector-parser: 7.1.4 - postcss-modules-values@4.0.0(postcss@8.5.13): + postcss-modules-values@4.0.0(postcss@8.5.16): dependencies: - icss-utils: 5.1.0(postcss@8.5.13) - postcss: 8.5.13 + icss-utils: 5.1.0(postcss@8.5.16) + postcss: 8.5.16 postcss-safe-parser@7.0.1(postcss@8.5.16): dependencies: @@ -12463,7 +12130,7 @@ snapshots: adjust-sourcemap-loader: 4.0.0 convert-source-map: 1.9.0 loader-utils: 2.0.4 - postcss: 8.5.13 + postcss: 8.5.16 source-map: 0.6.1 resolve@1.22.12: @@ -12884,16 +12551,15 @@ snapshots: minizlib: 3.1.0 yallist: 5.0.0 - terser-webpack-plugin@5.6.1(esbuild@0.28.1)(postcss@8.5.13)(webpack@5.106.2(esbuild@0.28.1)(postcss@8.5.13)): + terser-webpack-plugin@5.6.1(postcss@8.5.16)(webpack@5.106.2(esbuild@0.28.1)(postcss@8.5.13)): dependencies: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 - terser: 5.46.2 + terser: 5.48.0 webpack: 5.106.2(esbuild@0.28.1)(postcss@8.5.13) optionalDependencies: - esbuild: 0.28.1 - postcss: 8.5.13 + postcss: 8.5.16 terser@5.46.2: dependencies: @@ -13016,8 +12682,6 @@ snapshots: transitivePeerDependencies: - supports-color - tunnel@0.0.6: {} - type-check@0.4.0: dependencies: prelude-ls: 1.2.1 @@ -13061,15 +12725,8 @@ snapshots: unicode-property-aliases-ecmascript@2.2.0: {} - universal-user-agent@7.0.3: {} - unpipe@1.0.0: {} - unplugin@1.16.1: - dependencies: - acorn: 8.17.0 - webpack-virtual-modules: 0.6.2 - unrs-resolver@1.12.2: dependencies: napi-postinstall: 0.3.4 @@ -13202,19 +12859,6 @@ snapshots: transitivePeerDependencies: - tslib - webpack-dev-middleware@7.4.5(tslib@2.8.1)(webpack@5.108.3(postcss@8.5.16)): - dependencies: - colorette: 2.0.20 - memfs: 4.57.8(tslib@2.8.1) - mime-types: 3.0.2 - on-finished: 2.4.1 - range-parser: 1.3.0 - schema-utils: 4.3.3 - optionalDependencies: - webpack: 5.108.3(postcss@8.5.16) - transitivePeerDependencies: - - tslib - webpack-dev-middleware@8.0.3(tslib@2.8.1)(webpack@5.106.2(esbuild@0.28.1)(postcss@8.5.13)): dependencies: memfs: 4.57.8(tslib@2.8.1) @@ -13266,45 +12910,6 @@ snapshots: - tslib - utf-8-validate - webpack-dev-server@5.2.3(tslib@2.8.1)(webpack@5.108.3(postcss@8.5.16)): - dependencies: - '@types/bonjour': 3.5.13 - '@types/connect-history-api-fallback': 1.5.4 - '@types/express': 4.17.25 - '@types/express-serve-static-core': 4.19.8 - '@types/serve-index': 1.9.4 - '@types/serve-static': 1.15.10 - '@types/sockjs': 0.3.36 - '@types/ws': 8.18.1 - ansi-html-community: 0.0.8 - bonjour-service: 1.4.2 - chokidar: 3.6.0 - colorette: 2.0.20 - compression: 1.8.1 - connect-history-api-fallback: 2.0.0 - express: 4.22.2 - graceful-fs: 4.2.11 - http-proxy-middleware: 2.0.10(@types/express@4.17.25) - ipaddr.js: 2.4.0 - launch-editor: 2.14.1 - open: 10.2.0 - p-retry: 6.2.1 - schema-utils: 4.3.3 - selfsigned: 5.5.0 - serve-index: 1.9.2 - sockjs: 0.3.24 - spdy: 4.0.2 - webpack-dev-middleware: 7.4.5(tslib@2.8.1)(webpack@5.108.3(postcss@8.5.16)) - ws: 8.21.0 - optionalDependencies: - webpack: 5.108.3(postcss@8.5.16) - transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - tslib - - utf-8-validate - webpack-merge@6.0.1: dependencies: clone-deep: 4.0.1 @@ -13318,8 +12923,6 @@ snapshots: typed-assert: 1.0.9 webpack: 5.106.2(esbuild@0.28.1)(postcss@8.5.13) - webpack-virtual-modules@0.6.2: {} - webpack@5.106.2(esbuild@0.28.1)(postcss@8.5.13): dependencies: '@types/eslint-scope': 3.7.7 @@ -13343,45 +12946,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.3 tapable: 2.3.3 - terser-webpack-plugin: 5.6.1(esbuild@0.28.1)(postcss@8.5.13)(webpack@5.106.2(esbuild@0.28.1)(postcss@8.5.13)) - watchpack: 2.5.2 - webpack-sources: 3.5.0 - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - uglify-js - - webpack@5.108.3(postcss@8.5.16): - dependencies: - '@types/estree': 1.0.9 - '@types/json-schema': 7.0.15 - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/wasm-edit': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 - acorn: 8.17.0 - acorn-import-phases: 1.0.4(acorn@8.17.0) - browserslist: 4.28.4 - chrome-trace-event: 1.0.4 - enhanced-resolve: 5.24.1 - es-module-lexer: 2.3.0 - eslint-scope: 5.1.1 - events: 3.3.0 - graceful-fs: 4.2.11 - loader-runner: 4.3.2 - mime-db: 1.54.0 - minimizer-webpack-plugin: 5.6.1(postcss@8.5.16)(webpack@5.108.3(postcss@8.5.16)) - neo-async: 2.6.2 - schema-utils: 4.3.3 - tapable: 2.3.3 + terser-webpack-plugin: 5.6.1(postcss@8.5.16)(webpack@5.106.2(esbuild@0.28.1)(postcss@8.5.13)) watchpack: 2.5.2 webpack-sources: 3.5.0 transitivePeerDependencies: @@ -13520,8 +13085,6 @@ snapshots: dependencies: zod: 4.4.2 - zod@3.25.76: {} - zod@4.4.2: {} zod@4.4.3: {}