From b6039da21806bb21c868da143d1ac7f36ba496b2 Mon Sep 17 00:00:00 2001 From: Jon Andre Briones Date: Tue, 5 May 2026 16:59:28 -0700 Subject: [PATCH 1/4] feat(officers): prep the page for the new administration --- src/app/pages/officers/officers.data.ts | 19 +++++++++++++------ src/app/utils/type-utils.ts | 7 +++++++ 2 files changed, 20 insertions(+), 6 deletions(-) create mode 100644 src/app/utils/type-utils.ts diff --git a/src/app/pages/officers/officers.data.ts b/src/app/pages/officers/officers.data.ts index b84e96a3..c345cade 100644 --- a/src/app/pages/officers/officers.data.ts +++ b/src/app/pages/officers/officers.data.ts @@ -1,3 +1,9 @@ +import { Indices } from 'utils/type-utils'; + +export const SEMESTERS = ['Spring', 'Summer', 'Fall'] as const; + +type Semester = Indices; + type ExecPosition = | 'President' | 'Vice President' @@ -9,14 +15,13 @@ type ExecPosition = | 'Director of Communications' | 'Director of Multimedia' | 'Director of Archives' + | 'Secretary' | 'SFSS Council Representative' - | 'Executive at Large' - | 'First-Year Representative'; + | 'First-Year Representative' + | 'Executive at Large'; type ElectedRep = 'Elections Officer' | 'Frosh Week Chair'; -type Semester = 'Spring' | 'Summer' | 'Fall'; - interface Executive { name: string; position: ExecPosition; @@ -219,12 +224,14 @@ export const executives: ExecutiveAdministration[] = [ { name: 'Arielle Felicia', position: 'Executive at Large', - photoName: 'eal-1.jpg' + photoName: 'eal-1.jpg', + semester: 2 }, { name: 'Barsin Tafazzoli', position: 'Executive at Large', - photoName: 'eal-2.jpg' + photoName: 'eal-2.jpg', + semester: 2 } ] } diff --git a/src/app/utils/type-utils.ts b/src/app/utils/type-utils.ts new file mode 100644 index 00000000..18ac97de --- /dev/null +++ b/src/app/utils/type-utils.ts @@ -0,0 +1,7 @@ +/** + * Use this type to get the indices of a tuple as a union type. + * For example, if you have a tuple type `const myTuple = ['a', 'b', 'c'] as const`, + * then `Indices` will be `0 | 1 | 2`. + * This is useful for creating types that depend on the indices of a tuple. + */ +export type Indices = Exclude['length'], T['length']>; From 8abd78c68e3c623619f199cdc4725e2430456452 Mon Sep 17 00:00:00 2001 From: Jon Andre Briones Date: Thu, 21 May 2026 10:03:02 -0700 Subject: [PATCH 2/4] wip: add 2026-2027 administration --- src/app/pages/officers/officers.data.ts | 68 +++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/src/app/pages/officers/officers.data.ts b/src/app/pages/officers/officers.data.ts index c345cade..acd51e74 100644 --- a/src/app/pages/officers/officers.data.ts +++ b/src/app/pages/officers/officers.data.ts @@ -157,6 +157,74 @@ export const ELECTED_DESCRIPTIONS: Array = [ ]; export const executives: ExecutiveAdministration[] = [ + // { + // startYear: 2026, + // endYear: 2027, + // members: [ + // { + // name: 'Samantha Gan', + // position: 'President', + // photoName: 'president.jpg' + // }, + // { + // name: 'Mengna Ma', + // position: 'Vice President', + // photoName: 'vp.jpg' + // }, + // { + // name: '', + // position: 'Treasurer', + // photoName: 'treasurer.jpg' + // }, + // { + // name: '', + // position: 'Director of Resources', + // photoName: 'dor.jpg' + // }, + // { + // name: '', + // position: 'Director of Events', + // photoName: 'doe.jpg' + // }, + // { + // name: '', + // position: 'Director of Educational Events', + // photoName: 'doee.jpg' + // }, + // { + // name: '', + // position: 'Assistant Director of Events', + // photoName: 'adoe.jpg' + // }, + // { + // name: '', + // position: 'Director of Communications', + // photoName: 'doc.jpg' + // }, + // { + // name: '', + // position: 'Secretary', + // photoName: 'doa.jpg' + // }, + // { + // name: 'Melody Oh', + // position: 'SFSS Council Representative', + // photoName: 'doa.jpg' + // }, + // { + // name: '', + // position: 'Executive at Large', + // photoName: 'eal-1.jpg', + // semester: 2 + // }, + // { + // name: '', + // position: 'Executive at Large', + // photoName: 'eal-2.jpg', + // semester: 2 + // } + // ] + // }, { startYear: 2025, endYear: 2026, From 8b3c295a4bb7ffb1b6bec3238ba40d4958ea7e7b Mon Sep 17 00:00:00 2001 From: Jon Andre Briones Date: Thu, 21 May 2026 10:04:25 -0700 Subject: [PATCH 3/4] update: Angular 21.2.14 --- package-lock.json | 188 +++++++++++++++++++++++----------------------- package.json | 26 +++---- 2 files changed, 107 insertions(+), 107 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4f530ccd..6e307730 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,16 +8,16 @@ "name": "csss-ng-frontend", "version": "2.2.0", "dependencies": { - "@angular/cdk": "^21.2.8", - "@angular/common": "^21.2.10", - "@angular/compiler": "^21.2.10", - "@angular/core": "^21.2.10", - "@angular/forms": "^21.2.10", - "@angular/platform-browser": "^21.2.10", - "@angular/platform-browser-dynamic": "^21.2.10", - "@angular/platform-server": "^21.2.10", - "@angular/router": "^21.2.10", - "@angular/ssr": "^21.2.8", + "@angular/cdk": "^21.2.12", + "@angular/common": "^21.2.14", + "@angular/compiler": "^21.2.14", + "@angular/core": "^21.2.14", + "@angular/forms": "^21.2.14", + "@angular/platform-browser": "^21.2.14", + "@angular/platform-browser-dynamic": "^21.2.14", + "@angular/platform-server": "^21.2.14", + "@angular/router": "^21.2.14", + "@angular/ssr": "^21.2.12", "@fortawesome/angular-fontawesome": "^4.0.0", "@fortawesome/free-brands-svg-icons": "^6.7.1", "@fortawesome/free-regular-svg-icons": "^6.7.1", @@ -28,9 +28,9 @@ "tslib": "^2.3.0" }, "devDependencies": { - "@angular/build": "^21.2.8", - "@angular/cli": "^21.2.8", - "@angular/compiler-cli": "^21.2.10", + "@angular/build": "^21.2.12", + "@angular/cli": "^21.2.12", + "@angular/compiler-cli": "^21.2.14", "@eslint/js": "^9.30.1", "@types/express": "^5.0.1", "@types/jasmine": "~5.1.0", @@ -278,13 +278,13 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.2102.8", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2102.8.tgz", - "integrity": "sha512-b7su7AHIO5F2I6InEu/Bx/oXvGjdCP7kos2tGX73he/lPrTuizooils62OgAzgJ2UeKscyRNUjBPieFCy6XvHQ==", + "version": "0.2102.12", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2102.12.tgz", + "integrity": "sha512-w9FSMHYeeHkk0kRSAOCvNqEVyOHqpC1SUf3iN7tDnXBOA0dtc6JYvJU7O4joiwf7wMPZDK8LKc/6eu8/Tx87Fw==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "21.2.8", + "@angular-devkit/core": "21.2.12", "rxjs": "7.8.2" }, "bin": { @@ -297,9 +297,9 @@ } }, "node_modules/@angular-devkit/core": { - "version": "21.2.8", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.8.tgz", - "integrity": "sha512-DyxCILaaic/hfcfiBjAC/SdKE1ybSQIrU62/K5Msn3gZtThZj/T7cG0VHfbmpEFcgYkrQ9caUt6MCg8OoOVDzw==", + "version": "21.2.12", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.12.tgz", + "integrity": "sha512-nXms0jVWwHOJK+z6vHvhw7HYFBelxh2gEnkij0OQMABXZN5hoUlTD0DDP1lYR7hQNi8Yb2Ar0UN9ihyUFVM5Kg==", "dev": true, "license": "MIT", "dependencies": { @@ -325,13 +325,13 @@ } }, "node_modules/@angular-devkit/schematics": { - "version": "21.2.8", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.2.8.tgz", - "integrity": "sha512-UTEMM1JXzzxufLsTGDsWth2E7+8e9PaFT7nbjUvJ2qevltACkiqAbHEpiD2ISzrSRIO3OirJ+cZtnzXO0FyoBQ==", + "version": "21.2.12", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.2.12.tgz", + "integrity": "sha512-29xe6C9nwHejV9zBcu0js7NmzLWuCFzBGBTmL6eD4JN1NcxEZ/nO1JuaGINjPjzb/UDXPZIqEwHbnFNcGS5v1A==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "21.2.8", + "@angular-devkit/core": "21.2.12", "jsonc-parser": "3.3.1", "magic-string": "0.30.21", "ora": "9.3.0", @@ -344,14 +344,14 @@ } }, "node_modules/@angular/build": { - "version": "21.2.8", - "resolved": "https://registry.npmjs.org/@angular/build/-/build-21.2.8.tgz", - "integrity": "sha512-t0PHT7ONDMLwcjC9GaClNF+gsUKN78ofBikw4huiu6np5Rwmxp8KKCrdoRx20lOiibSolXgjZ2Ny0xxjNdNdQA==", + "version": "21.2.12", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-21.2.12.tgz", + "integrity": "sha512-zYfo21RuldDWXnshuPfWYtmh5ltlO9+XFHpNObdIInQTFxKD6grLNVNOblFFpi+oIIm4Km+CGSXvBHs/aH0ufA==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.2102.8", + "@angular-devkit/architect": "0.2102.12", "@babel/core": "7.29.0", "@babel/helper-annotate-as-pure": "7.27.3", "@babel/helper-split-export-declaration": "7.24.7", @@ -394,7 +394,7 @@ "@angular/platform-browser": "^21.0.0", "@angular/platform-server": "^21.0.0", "@angular/service-worker": "^21.0.0", - "@angular/ssr": "^21.2.8", + "@angular/ssr": "^21.2.12", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^21.0.0", @@ -444,9 +444,9 @@ } }, "node_modules/@angular/cdk": { - "version": "21.2.8", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-21.2.8.tgz", - "integrity": "sha512-WdvMLpuFcRgDWLDyin3sw5a65PQYdI0Y+4BxiMxOkesoZ2RZTBAlLKIfQ9Nz5CY3LamUTO3Qel2T8ZhJ+Cqfuw==", + "version": "21.2.12", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-21.2.12.tgz", + "integrity": "sha512-wB4FLlAdYzQp5htHVKn+fXlNxkFSNw89jPfsJKc15UiadCay6GdzYASLyLqtbk6D4Jz1pBHUpI2ib3mjkCcwxg==", "license": "MIT", "dependencies": { "parse5": "^8.0.0", @@ -460,19 +460,19 @@ } }, "node_modules/@angular/cli": { - "version": "21.2.8", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.2.8.tgz", - "integrity": "sha512-Y+/US12o+7X2774oeKPsEfHeeYM2SxwnyoXfcaLR8vrMn0zxUrhHebmlz9h83th4EJEuex1Qk0JtF7j5vcwrqQ==", + "version": "21.2.12", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.2.12.tgz", + "integrity": "sha512-oLEL1C1fI39b1eQo5f2cyQhQfE+QMv7dm8z2MmxbP7YR7jAdQPVfGU8CXECR5g7mrYi9WgvIRKB+9Oeq2aH6Jw==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.2102.8", - "@angular-devkit/core": "21.2.8", - "@angular-devkit/schematics": "21.2.8", + "@angular-devkit/architect": "0.2102.12", + "@angular-devkit/core": "21.2.12", + "@angular-devkit/schematics": "21.2.12", "@inquirer/prompts": "7.10.1", "@listr2/prompt-adapter-inquirer": "3.0.5", "@modelcontextprotocol/sdk": "1.26.0", - "@schematics/angular": "21.2.8", + "@schematics/angular": "21.2.12", "@yarnpkg/lockfile": "1.1.0", "algoliasearch": "5.48.1", "ini": "6.0.0", @@ -495,9 +495,9 @@ } }, "node_modules/@angular/common": { - "version": "21.2.10", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.2.10.tgz", - "integrity": "sha512-WLyi/CRLtgALg2mmaqIuKuPnE4i+8PGt/uuz26pVqx+ASh28/TWr5KSCAMomgxEc8kt4OE7lopoQsTihrQCfEw==", + "version": "21.2.14", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.2.14.tgz", + "integrity": "sha512-J6K7cE7uKOKmg4+sxLeGfsmaYDjP5l1XCiMMI0WPT0t68uxLk8g3MzV5Trqfb6ZnRxWcfp9c4c+XxAvMBB7ymA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -506,14 +506,14 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/core": "21.2.10", + "@angular/core": "21.2.14", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "21.2.10", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.2.10.tgz", - "integrity": "sha512-IrgdFuzzD7NTK3WQaSfowjAPxPbnTqsgR92NsOs5ZaWu3RgLl21dHThNc0BK1KwVwppLUSWmD4qePbcLW71VzQ==", + "version": "21.2.14", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.2.14.tgz", + "integrity": "sha512-8mqgwRYfn2Z1vg/5YVt60dDBattnZL45nNJd2vTMwAiDTzhWhgKgRWKOeVL0aj2JqHeHiwuIlrLnz46acJMulQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -523,9 +523,9 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "21.2.10", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.2.10.tgz", - "integrity": "sha512-FDcnj3ogRmnTca4m2GbKP2khFOCtoVvWDZyfw2ZCPAf+zsQlKTyscKvx4GpTFo+KHrYXpawUpDIWHORFpuqFEA==", + "version": "21.2.14", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.2.14.tgz", + "integrity": "sha512-h+WQfPKFxaDfDhMqUUdOQ1TsDMccav8kLFERmKTRfD4MNOczSMpOMyeXJHCL0Rq4I8WDQvaBJGMG7DXRDefSog==", "dev": true, "license": "MIT", "dependencies": { @@ -546,7 +546,7 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/compiler": "21.2.10", + "@angular/compiler": "21.2.14", "typescript": ">=5.9 <6.1" }, "peerDependenciesMeta": { @@ -556,9 +556,9 @@ } }, "node_modules/@angular/core": { - "version": "21.2.10", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-21.2.10.tgz", - "integrity": "sha512-uxH+mbPiCE7rInWKYOPe9Ytas97+mFM6FhFORoN234yBK3b8he+iDuxX6dsbhEFCxhRmfS6hLxe7BdLY6U6kIA==", + "version": "21.2.14", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-21.2.14.tgz", + "integrity": "sha512-Z1Ivjh7L2lT//8LA7vQ3tj7Rg6wl2XRA5kPSAukgn8u0Yu0XxG8NE8KG0Eypb3v9CEcbwATwpgnxzbJFZ8TFcw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -567,7 +567,7 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/compiler": "21.2.10", + "@angular/compiler": "21.2.14", "rxjs": "^6.5.3 || ^7.4.0", "zone.js": "~0.15.0 || ~0.16.0" }, @@ -581,9 +581,9 @@ } }, "node_modules/@angular/forms": { - "version": "21.2.10", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.2.10.tgz", - "integrity": "sha512-XOo9qkuBqCLzSBXmyga9ke2tSulxWl+E7Y9Uwqgz8sJtQUlyP/0GYJfu60jiC3NAYobk9K/6h6MsU8zftQKdaA==", + "version": "21.2.14", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.2.14.tgz", + "integrity": "sha512-HQYIybyMt0CrI31rW6vXbiDsSM2DDtTcOVeT/nWDRNCoqBrREDg8rVsm2Y+fUMsiQVJNa6dCXPwvYhjzJ4r7ug==", "license": "MIT", "dependencies": { "@standard-schema/spec": "^1.0.0", @@ -593,16 +593,16 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "21.2.10", - "@angular/core": "21.2.10", - "@angular/platform-browser": "21.2.10", + "@angular/common": "21.2.14", + "@angular/core": "21.2.14", + "@angular/platform-browser": "21.2.14", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/platform-browser": { - "version": "21.2.10", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.2.10.tgz", - "integrity": "sha512-5WMoHGU8BOV3eO9h3vGMIUDPf+3SHis7+X2dHKMtKfFBUtiO8m/lq2x3PzkkKj1782i7KYt92EqPHuADd/eWOw==", + "version": "21.2.14", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.2.14.tgz", + "integrity": "sha512-34tBwxh86yN2YifBDhCesm6N+nn9WcbuXjRwfo0mTme15OZ/zt56yw7v1mcK3UFLegIIALtsIgpXXrPWWQoKkA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -611,9 +611,9 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/animations": "21.2.10", - "@angular/common": "21.2.10", - "@angular/core": "21.2.10" + "@angular/animations": "21.2.14", + "@angular/common": "21.2.14", + "@angular/core": "21.2.14" }, "peerDependenciesMeta": { "@angular/animations": { @@ -622,9 +622,9 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "21.2.10", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-21.2.10.tgz", - "integrity": "sha512-+/HMJSLnF87EODkHj0AKE3Q8AfYO/8jpTfr731QmplqBtCoLlA/1XR8aYow2hB9YKL9HZWDb2qGkRtCXhrtt+w==", + "version": "21.2.14", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-21.2.14.tgz", + "integrity": "sha512-m5U4zX8JFnxTAIGpsBXIAyefSmYqdORY/OfHC0aMmZovuFCbXXIYqYRQDBB7+YVNpSDSHllCrKEZFu/CC6dq3g==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -633,16 +633,16 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "21.2.10", - "@angular/compiler": "21.2.10", - "@angular/core": "21.2.10", - "@angular/platform-browser": "21.2.10" + "@angular/common": "21.2.14", + "@angular/compiler": "21.2.14", + "@angular/core": "21.2.14", + "@angular/platform-browser": "21.2.14" } }, "node_modules/@angular/platform-server": { - "version": "21.2.10", - "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-21.2.10.tgz", - "integrity": "sha512-R7IfNVvUHqgSkio6+I15ZaPaMzIaNUfHn+vMnPpd5z6hNV4Eo1Y42jvUxqtH+DobudWHQYhMO2gYK3yGt4LorA==", + "version": "21.2.14", + "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-21.2.14.tgz", + "integrity": "sha512-NRaaZ0gvXA9C60Y610MaFp921gB81Uffqk0gJxaPTYQ887/b1of21UZvFOZo0unMaislSrx+KQ3yhRB74DqcKg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0", @@ -652,17 +652,17 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "21.2.10", - "@angular/compiler": "21.2.10", - "@angular/core": "21.2.10", - "@angular/platform-browser": "21.2.10", + "@angular/common": "21.2.14", + "@angular/compiler": "21.2.14", + "@angular/core": "21.2.14", + "@angular/platform-browser": "21.2.14", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/router": { - "version": "21.2.10", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-21.2.10.tgz", - "integrity": "sha512-4cHHwewIhFEAAaRgJ80371EOtNlydFHbjj/UENLZitjU0azal0mfFCBdkaEdVehd7+mH5xO7MRjy6eFTcTYR5Q==", + "version": "21.2.14", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-21.2.14.tgz", + "integrity": "sha512-Yo3LdgcqkfMu2/Ycl8o/4QjCBqZhtA+a7B8JVdW5cWdrpFTxKCOrzm+YRUMuIFmH5nzSv9oGnUuz64uk1+7r5Q==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -671,16 +671,16 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "21.2.10", - "@angular/core": "21.2.10", - "@angular/platform-browser": "21.2.10", + "@angular/common": "21.2.14", + "@angular/core": "21.2.14", + "@angular/platform-browser": "21.2.14", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/ssr": { - "version": "21.2.8", - "resolved": "https://registry.npmjs.org/@angular/ssr/-/ssr-21.2.8.tgz", - "integrity": "sha512-drCtujdTkYuIENKDzyU/2QAc/E4FwzZ1QIiouwy52+9Ij6DyI5pe75XdM4WD1FOssAa84DhPE7Rb0Zs9nsqhHg==", + "version": "21.2.12", + "resolved": "https://registry.npmjs.org/@angular/ssr/-/ssr-21.2.12.tgz", + "integrity": "sha512-g3GZXWlS73TX87awmFUBuviWALida9t5g0iWZ2KZF+e3oaDFOp4JeA5eOsrHlNfd6CBIJItRTiy5SRXUuV1fjA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -4256,14 +4256,14 @@ ] }, "node_modules/@schematics/angular": { - "version": "21.2.8", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.2.8.tgz", - "integrity": "sha512-Kx3PmuZIXhwQqAqoERAXqDCORHFbKTMd+eflXwZfpKkrbWJTVPqKpL4R9RVdEr2E6/VEXDFrdL1whIvGd1xmDg==", + "version": "21.2.12", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.2.12.tgz", + "integrity": "sha512-eHoAbxd6Kdw9YIQeZO/6lBXTmKKi10t4WTujY8CM5v4qv1zoJu9yiwVeQp9y3e7/Sybz5Ec3m4FmQ0Tw8iVDiA==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "21.2.8", - "@angular-devkit/schematics": "21.2.8", + "@angular-devkit/core": "21.2.12", + "@angular-devkit/schematics": "21.2.12", "jsonc-parser": "3.3.1" }, "engines": { diff --git a/package.json b/package.json index 2404a6b4..72b02f53 100644 --- a/package.json +++ b/package.json @@ -15,16 +15,16 @@ }, "private": true, "dependencies": { - "@angular/cdk": "^21.2.8", - "@angular/common": "^21.2.10", - "@angular/compiler": "^21.2.10", - "@angular/core": "^21.2.10", - "@angular/forms": "^21.2.10", - "@angular/platform-browser": "^21.2.10", - "@angular/platform-browser-dynamic": "^21.2.10", - "@angular/platform-server": "^21.2.10", - "@angular/router": "^21.2.10", - "@angular/ssr": "^21.2.8", + "@angular/cdk": "^21.2.12", + "@angular/common": "^21.2.14", + "@angular/compiler": "^21.2.14", + "@angular/core": "^21.2.14", + "@angular/forms": "^21.2.14", + "@angular/platform-browser": "^21.2.14", + "@angular/platform-browser-dynamic": "^21.2.14", + "@angular/platform-server": "^21.2.14", + "@angular/router": "^21.2.14", + "@angular/ssr": "^21.2.12", "@fortawesome/angular-fontawesome": "^4.0.0", "@fortawesome/free-brands-svg-icons": "^6.7.1", "@fortawesome/free-regular-svg-icons": "^6.7.1", @@ -35,9 +35,9 @@ "tslib": "^2.3.0" }, "devDependencies": { - "@angular/build": "^21.2.8", - "@angular/cli": "^21.2.8", - "@angular/compiler-cli": "^21.2.10", + "@angular/build": "^21.2.12", + "@angular/cli": "^21.2.12", + "@angular/compiler-cli": "^21.2.14", "@eslint/js": "^9.30.1", "@types/express": "^5.0.1", "@types/jasmine": "~5.1.0", From 9e1669aabbc68cfd9d9599b2d994b93b9323d55c Mon Sep 17 00:00:00 2001 From: Jon Andre Briones Date: Thu, 21 May 2026 10:23:59 -0700 Subject: [PATCH 4/4] fix: ran up to date, audited 600 packages in 537ms 145 packages are looking for funding run `npm fund` for details found 0 vulnerabilities --- package-lock.json | 56 +++++++++++++++++++++++------------------------ 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6e307730..f4d7e68f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4393,9 +4393,9 @@ } }, "node_modules/@tufjs/models/node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", + "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", "dev": true, "license": "MIT", "dependencies": { @@ -4768,9 +4768,9 @@ } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", + "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", "dev": true, "license": "MIT", "dependencies": { @@ -6401,13 +6401,13 @@ } }, "node_modules/express-rate-limit": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.3.2.tgz", - "integrity": "sha512-77VmFeJkO0/rvimEDuUC5H30oqUC4EyOhyGccfqoLebB0oiEYfM7nwPrsDsBL1gsTpwfzX8SFy2MT3TDyRq+bg==", + "version": "8.5.2", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.5.2.tgz", + "integrity": "sha512-5Kb34ipNX694DH48vN9irak1Qx30nb0PLYHXfJgw4YEjiC3ZEmZJhwOp+VfiCYwFzvFTdB9QkArYS5kXa2cx2A==", "dev": true, "license": "MIT", "dependencies": { - "ip-address": "10.1.0" + "ip-address": "^10.2.0" }, "engines": { "node": ">= 16" @@ -6441,9 +6441,9 @@ "license": "MIT" }, "node_modules/fast-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", - "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.2.tgz", + "integrity": "sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==", "dev": true, "funding": [ { @@ -6734,9 +6734,9 @@ } }, "node_modules/glob/node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", + "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", "dev": true, "license": "MIT", "dependencies": { @@ -6829,9 +6829,9 @@ } }, "node_modules/hono": { - "version": "4.12.14", - "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.14.tgz", - "integrity": "sha512-am5zfg3yu6sqn5yjKBNqhnTX7Cv+m00ox+7jbaKkrLMRJ4rAdldd1xPd/JzbBWspqaQv6RSTrgFN95EsfhC+7w==", + "version": "4.12.21", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.21.tgz", + "integrity": "sha512-uV63apnb0kyPtAUwoWgaGh9HyIFcv8lgmzPZSiTBQAFOFGIzka5EZ1dZocmGnn0XdX0+XTqJ6Tqv7selMuGLRQ==", "dev": true, "license": "MIT", "engines": { @@ -7012,9 +7012,9 @@ } }, "node_modules/ignore-walk/node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", + "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", "dev": true, "license": "MIT", "dependencies": { @@ -7091,9 +7091,9 @@ } }, "node_modules/ip-address": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.1.0.tgz", - "integrity": "sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.2.0.tgz", + "integrity": "sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==", "dev": true, "license": "MIT", "engines": { @@ -10184,9 +10184,9 @@ "license": "ISC" }, "node_modules/ws": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz", - "integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==", + "version": "8.20.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.1.tgz", + "integrity": "sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==", "dev": true, "license": "MIT", "engines": {