Skip to content

Commit cac2e2d

Browse files
authored
chore: 2025 Configuration Updates and Modernization (#125)
* all but admin * admin * remove reexports * wip app * wip core * fucking finaklly * more fun stuff * final fixes * oops * chore: update to version 2025.0.0 and add changelogs Adopted new versioning scheme: year.minor.patch Added comprehensive CHANGELOG.md files for all packages * ci: update workflows to use pnpm - Replace npm with pnpm in all GitHub Actions workflows - Add pnpm/action-setup@v4 with version 9 - Update checkout action to v4 - Add Node.js setup with pnpm cache - Use frozen-lockfile for reproducible builds * more --------- Co-authored-by: Joel Meaders <joelmeaders@outlook.com>
1 parent 97cf1de commit cac2e2d

File tree

285 files changed

+44885
-36438
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

285 files changed

+44885
-36438
lines changed

.eslintignore

Lines changed: 0 additions & 9 deletions
This file was deleted.

.eslintrc.json

Lines changed: 0 additions & 76 deletions
This file was deleted.

.github/workflows/admin-firebase-hosting-merge.yml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,17 @@ jobs:
1616
build_and_deploy:
1717
runs-on: ubuntu-latest
1818
steps:
19-
- uses: actions/checkout@v2
20-
- run: npm ci && npm run ci:admin:config && npm run ci:admin:build
19+
- uses: actions/checkout@v4
20+
- uses: pnpm/action-setup@v4
21+
with:
22+
version: 9
23+
- uses: actions/setup-node@v4
24+
with:
25+
node-version: '24'
26+
cache: 'pnpm'
27+
- run: pnpm install --frozen-lockfile
28+
- run: pnpm run ci:admin:config
29+
- run: pnpm run ci:admin:build
2130
- uses: FirebaseExtended/action-hosting-deploy@v0
2231
with:
2332
repoToken: '${{ secrets.GITHUB_TOKEN }}'

.github/workflows/admin-firebase-hosting-pull-request.yml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,17 @@ jobs:
1414
build_and_preview:
1515
runs-on: ubuntu-latest
1616
steps:
17-
- uses: actions/checkout@v2
18-
- run: npm ci && npm run ci:admin:config && npm run ci:admin:build
17+
- uses: actions/checkout@v4
18+
- uses: pnpm/action-setup@v4
19+
with:
20+
version: 9
21+
- uses: actions/setup-node@v4
22+
with:
23+
node-version: '24'
24+
cache: 'pnpm'
25+
- run: pnpm install --frozen-lockfile
26+
- run: pnpm run ci:admin:config
27+
- run: pnpm run ci:admin:build
1928
- uses: FirebaseExtended/action-hosting-deploy@v0
2029
with:
2130
repoToken: '${{ secrets.GITHUB_TOKEN }}'

.github/workflows/app-firebase-hosting-merge.yml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,17 @@ jobs:
1616
build_and_deploy:
1717
runs-on: ubuntu-latest
1818
steps:
19-
- uses: actions/checkout@v2
20-
- run: npm ci && npm run ci:app:config && npm run ci:app:build
19+
- uses: actions/checkout@v4
20+
- uses: pnpm/action-setup@v4
21+
with:
22+
version: 9
23+
- uses: actions/setup-node@v4
24+
with:
25+
node-version: '24'
26+
cache: 'pnpm'
27+
- run: pnpm install --frozen-lockfile
28+
- run: pnpm run ci:app:config
29+
- run: pnpm run ci:app:build
2130
- uses: FirebaseExtended/action-hosting-deploy@v0
2231
with:
2332
repoToken: '${{ secrets.GITHUB_TOKEN }}'

.github/workflows/app-firebase-hosting-pull-request.yml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,17 @@ jobs:
1414
build_and_preview:
1515
runs-on: ubuntu-latest
1616
steps:
17-
- uses: actions/checkout@v2
18-
- run: npm ci && npm run ci:app:config && npm run ci:app:build
17+
- uses: actions/checkout@v4
18+
- uses: pnpm/action-setup@v4
19+
with:
20+
version: 9
21+
- uses: actions/setup-node@v4
22+
with:
23+
node-version: '24'
24+
cache: 'pnpm'
25+
- run: pnpm install --frozen-lockfile
26+
- run: pnpm run ci:app:config
27+
- run: pnpm run ci:app:build
1928
- uses: FirebaseExtended/action-hosting-deploy@v0
2029
with:
2130
repoToken: '${{ secrets.GITHUB_TOKEN }}'

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ $RECYCLE.BIN/
3838
.firebase/**
3939
# Firebase
4040
.firebase
41+
firebase/
4142
.firebase*
4243
*-debug.log
4344
.runtimeconfig.json

CHANGELOG.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to a versioning scheme of `year.minor.patch`.
7+
8+
## [2025.0.0] - 2025-11-09
9+
10+
### Added
11+
- **E2E Testing**: New Playwright-based end-to-end testing framework (`santashop-e2e` package)
12+
- **Workspace Support**: Migrated to pnpm with workspace configuration for better monorepo management
13+
- **Test Helpers**: New shared test helper utilities in `test-helpers/` directory
14+
- E2E test scripts for automated testing workflows
15+
- Concurrent task execution support for parallel builds
16+
17+
### Changed
18+
- **Breaking**: Migrated from npm to pnpm package manager
19+
- **Breaking**: Updated to ESLint flat config format (eslint.config.js)
20+
- **Dependencies**: Updated Angular to v20.3.10
21+
- **Dependencies**: Updated Ionic to v8.7.9
22+
- **Dependencies**: Updated Firebase to v11.10.0
23+
- **Dependencies**: Updated all major dependencies to latest versions
24+
- **Versioning**: Changed version scheme from semantic versioning to `year.minor.patch` format
25+
- Improved build scripts with workspace-aware commands
26+
- Enhanced CI/CD configuration for admin and app builds
27+
28+
### Removed
29+
- Legacy `.eslintrc.json` configuration files
30+
- Legacy `.eslintignore` files
31+
- `package-lock.json` (replaced by `pnpm-lock.yaml`)
32+
33+
### Fixed
34+
- Various TypeScript type errors and linting issues
35+
- Build configuration inconsistencies across packages
36+
- Import path optimizations
37+
38+
---
39+
40+
## Previous Versions
41+
42+
### [4.3.1] - Previous Release
43+
- Last release using semantic versioning and npm
44+
- See git history for details of changes prior to 2025.0.0

angular.json

Lines changed: 62 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,11 @@
2828
"builder": "@angular-devkit/build-angular:karma",
2929
"options": {
3030
"tsConfig": "santashop-core/tsconfig.spec.json",
31-
"polyfills": ["zone.js", "zone.js/testing"]
31+
"polyfills": ["zone.js", "zone.js/testing"],
32+
"browsers": "ChromeHeadless",
33+
"codeCoverage": true,
34+
"watch": false,
35+
"reporters": ["progress", "kjhtml"]
3236
}
3337
},
3438
"lint": {
@@ -67,7 +71,11 @@
6771
"builder": "@angular-devkit/build-angular:karma",
6872
"options": {
6973
"tsConfig": "santashop-core/tsconfig.spec.json",
70-
"polyfills": ["zone.js", "zone.js/testing"]
74+
"polyfills": ["zone.js", "zone.js/testing"],
75+
"browsers": "ChromeHeadless",
76+
"codeCoverage": true,
77+
"watch": false,
78+
"reporters": ["progress", "kjhtml"]
7179
}
7280
},
7381
"lint": {
@@ -199,10 +207,17 @@
199207
"test": {
200208
"builder": "@angular-devkit/build-angular:karma",
201209
"options": {
202-
"main": "santashop-app/src/test.ts",
210+
"main": "santashop-admin/src/test.ts",
203211
"tsConfig": "santashop-admin/tsconfig.spec.json",
204-
"karmaConfig": "santashop-app/karma.conf.js",
205-
"codeCoverage": true
212+
"polyfills": ["zone.js", "zone.js/testing"],
213+
"browsers": "ChromeHeadless",
214+
"codeCoverage": true,
215+
"watch": false,
216+
"reporters": ["progress", "kjhtml"],
217+
"styles": [
218+
"node_modules/@ionic/angular/css/core.css",
219+
"santashop-admin/src/global.scss"
220+
]
206221
}
207222
},
208223
"lint": {
@@ -336,8 +351,22 @@
336351
"options": {
337352
"main": "santashop-app/src/test.ts",
338353
"tsConfig": "santashop-app/tsconfig.spec.json",
339-
"karmaConfig": "santashop-app/karma.conf.js",
340-
"codeCoverage": true
354+
"polyfills": ["zone.js", "zone.js/testing"],
355+
"browsers": "ChromeHeadless",
356+
"codeCoverage": true,
357+
"watch": false,
358+
"reporters": ["progress", "kjhtml"],
359+
"styles": [
360+
"node_modules/@ionic/angular/css/core.css",
361+
"santashop-app/src/global.scss"
362+
],
363+
"assets": [
364+
{
365+
"glob": "**/*",
366+
"input": "santashop-app/src/assets",
367+
"output": "./assets"
368+
}
369+
]
341370
}
342371
},
343372
"lint": {
@@ -355,5 +384,31 @@
355384
"cli": {
356385
"analytics": "fa8b7a02-8b82-49e4-8561-3c9e78ed7e13",
357386
"schematicCollections": ["@ionic/angular-toolkit"]
387+
},
388+
"schematics": {
389+
"@schematics/angular:component": {
390+
"type": "component"
391+
},
392+
"@schematics/angular:directive": {
393+
"type": "directive"
394+
},
395+
"@schematics/angular:service": {
396+
"type": "service"
397+
},
398+
"@schematics/angular:guard": {
399+
"typeSeparator": "."
400+
},
401+
"@schematics/angular:interceptor": {
402+
"typeSeparator": "."
403+
},
404+
"@schematics/angular:module": {
405+
"typeSeparator": "."
406+
},
407+
"@schematics/angular:pipe": {
408+
"typeSeparator": "."
409+
},
410+
"@schematics/angular:resolver": {
411+
"typeSeparator": "."
412+
}
358413
}
359414
}

config.admin.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ const envConfigFile = `export const environment = {
1212
};
1313
1414
export const firebaseConfig = {
15-
apiKey: '${process.env.FIREBASE_API_KEY}',
15+
apiKey: '${process.env['FIREBASE_API_KEY']}',
1616
authDomain: 'santas-workshop-193b5.firebaseapp.com',
1717
databaseURL: 'https://santas-workshop-193b5.firebaseio.com',
1818
projectId: 'santas-workshop-193b5',

0 commit comments

Comments
 (0)