Skip to content

Commit 559e1ab

Browse files
committed
minify bundle, use node 22
1 parent e632ccd commit 559e1ab

File tree

5 files changed

+55
-67
lines changed

5 files changed

+55
-67
lines changed

cloudformation/main.yml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,14 +120,27 @@ Resources:
120120
Type: AWS::Serverless::Function
121121
DependsOn:
122122
- AppLogGroups
123+
Metadata:
124+
BuildMethod: esbuild
125+
BuildProperties:
126+
Format: esm
127+
Minify: true
128+
OutExtension:
129+
- .js=.js
130+
Target: "node22"
131+
Sourcemap: false
132+
EntryPoints:
133+
- api/lambda.js
134+
External:
135+
- aws-sdk
123136
Properties:
124137
Architectures: [arm64]
125138
CodeUri: ../dist
126139
AutoPublishAlias: live
127140
Runtime: nodejs22.x
128141
Description: !Sub "${ApplicationFriendlyName} API Lambda"
129142
FunctionName: !Sub ${ApplicationPrefix}-lambda
130-
Handler: api/lambda.handler
143+
Handler: lambda.handler
131144
MemorySize: 512
132145
Role: !GetAtt AppSecurityRoles.Outputs.MainFunctionRoleArn
133146
Timeout: 60

package.json

Lines changed: 4 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"scripts": {
1212
"build": "yarn workspaces run build && yarn lockfile-manage",
1313
"dev": "concurrently --names 'api,ui' 'yarn workspace infra-core-api run dev' 'yarn workspace infra-core-ui run dev'",
14-
"lockfile-manage": "synp --with-workspace --source-file yarn.lock && cp package-lock.json dist/ && cp package.json dist/ && rm package-lock.json",
14+
"lockfile-manage": "synp --with-workspace --source-file yarn.lock && cp package-lock.json dist/ && cp src/api/package.json dist/ && rm package-lock.json",
1515
"prettier": "yarn workspaces run prettier && prettier --check tests/**/*.ts",
1616
"prettier:write": "yarn workspaces run prettier:write && prettier --write tests/**/*.ts",
1717
"lint": "yarn workspaces run lint",
@@ -25,35 +25,11 @@
2525
"test:e2e": "playwright test",
2626
"test:e2e-ui": "playwright test --ui"
2727
},
28-
"dependencies": {
29-
"@aws-sdk/client-dynamodb": "^3.624.0",
30-
"@aws-sdk/client-secrets-manager": "^3.624.0",
31-
"@aws-sdk/util-dynamodb": "^3.624.0",
32-
"@azure/msal-node": "^2.16.1",
33-
"@fastify/auth": "^5.0.1",
34-
"@fastify/aws-lambda": "^5.0.0",
35-
"@fastify/caching": "^9.0.1",
36-
"@fastify/cors": "^10.0.1",
37-
"@touch4it/ical-timezones": "^1.9.0",
38-
"discord.js": "^14.15.3",
39-
"dotenv": "^16.4.5",
40-
"fastify": "^5.1.0",
41-
"fastify-plugin": "^4.5.1",
42-
"ical-generator": "^7.2.0",
43-
"jsonwebtoken": "^9.0.2",
44-
"jwks-rsa": "^3.1.0",
45-
"moment": "^2.30.1",
46-
"moment-timezone": "^0.5.45",
47-
"node-cache": "^5.1.2",
48-
"pluralize": "^8.0.0",
49-
"zod": "^3.23.8",
50-
"zod-to-json-schema": "^3.23.2",
51-
"zod-validation-error": "^3.3.1"
52-
},
28+
"dependencies": {},
5329
"devDependencies": {
5430
"@eslint/compat": "^1.1.1",
5531
"@playwright/test": "^1.49.1",
56-
"@tsconfig/node20": "^20.1.4",
32+
"@tsconfig/node22": "^22.0.0",
5733
"@types/node": "^22.1.0",
5834
"@types/pluralize": "^0.0.33",
5935
"@types/react": "^18.3.3",
@@ -82,7 +58,6 @@
8258
"husky": "^9.1.4",
8359
"identity-obj-proxy": "^3.0.0",
8460
"jsdom": "^24.1.1",
85-
"node-ical": "^0.18.0",
8661
"postcss": "^8.4.41",
8762
"postcss-preset-mantine": "^1.17.0",
8863
"postcss-simple-vars": "^7.0.1",
@@ -106,4 +81,4 @@
10681
"resolutions": {
10782
"pdfjs-dist": "^4.8.69"
10883
}
109-
}
84+
}

src/api/package.json

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,33 @@
1515
"prettier:write": "prettier --write *.ts **/*.ts"
1616
},
1717
"dependencies": {
18+
"@aws-sdk/client-dynamodb": "^3.624.0",
19+
"@aws-sdk/client-secrets-manager": "^3.624.0",
1820
"@aws-sdk/client-sts": "^3.726.0",
19-
"node-cache": "^5.1.2"
21+
"@aws-sdk/util-dynamodb": "^3.624.0",
22+
"@azure/msal-node": "^2.16.1",
23+
"@fastify/auth": "^5.0.1",
24+
"@fastify/aws-lambda": "^5.0.0",
25+
"@fastify/caching": "^9.0.1",
26+
"@fastify/cors": "^10.0.1",
27+
"@touch4it/ical-timezones": "^1.9.0",
28+
"discord.js": "^14.15.3",
29+
"dotenv": "^16.4.5",
30+
"esbuild": "^0.24.2",
31+
"fastify": "^5.1.0",
32+
"fastify-plugin": "^4.5.1",
33+
"ical-generator": "^7.2.0",
34+
"jsonwebtoken": "^9.0.2",
35+
"jwks-rsa": "^3.1.0",
36+
"moment": "^2.30.1",
37+
"moment-timezone": "^0.5.45",
38+
"node-cache": "^5.1.2",
39+
"pluralize": "^8.0.0",
40+
"zod": "^3.23.8",
41+
"zod-to-json-schema": "^3.23.2",
42+
"zod-validation-error": "^3.3.1"
43+
},
44+
"devDependencies": {
45+
"@tsconfig/node22": "^22.0.0"
2046
}
21-
}
47+
}

src/api/tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"extends": "@tsconfig/node20/tsconfig.json",
2+
"extends": "@tsconfig/node22/tsconfig.json",
33
"compilerOptions": {
44
"module": "Node16",
55
"rootDir": "../",

yarn.lock

Lines changed: 8 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -3212,10 +3212,10 @@
32123212
resolved "https://registry.yarnpkg.com/@touch4it/ical-timezones/-/ical-timezones-1.9.0.tgz#bbd85014f55b5cc3e9079ed7caccd8649b5170a3"
32133213
integrity sha512-UAiZMrFlgMdOIaJDPsKu5S7OecyMLr3GGALJTYkRgHmsHAA/8Ixm1qD09ELP2X7U1lqgrctEgvKj9GzMbczC+g==
32143214

3215-
"@tsconfig/node20@^20.1.4":
3216-
version "20.1.4"
3217-
resolved "https://registry.yarnpkg.com/@tsconfig/node20/-/node20-20.1.4.tgz#3457d42eddf12d3bde3976186ab0cd22b85df928"
3218-
integrity sha512-sqgsT69YFeLWf5NtJ4Xq/xAF8p4ZQHlmGW74Nu2tD4+g5fAsposc4ZfaaPixVu4y01BEiDCWLRDCvDM5JOsRxg==
3215+
"@tsconfig/node22@^22.0.0":
3216+
version "22.0.0"
3217+
resolved "https://registry.yarnpkg.com/@tsconfig/node22/-/node22-22.0.0.tgz#0bdaf702f2b7594383d24d7b2b8d557dcfdca1ed"
3218+
integrity sha512-twLQ77zevtxobBOD4ToAtVmuYrpeYUh3qh+TEp+08IWhpsrIflVHqQ1F1CiPxQGL7doCdBIOOCF+1Tm833faNg==
32193219

32203220
"@types/aria-query@^5.0.1":
32213221
version "5.0.4"
@@ -4044,15 +4044,6 @@ axe-core@^4.10.0:
40444044
resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.10.2.tgz#85228e3e1d8b8532a27659b332e39b7fa0e022df"
40454045
integrity sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w==
40464046

4047-
4048-
version "1.6.7"
4049-
resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.7.tgz#7b48c2e27c96f9c68a2f8f31e2ab19f59b06b0a7"
4050-
integrity sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==
4051-
dependencies:
4052-
follow-redirects "^1.15.4"
4053-
form-data "^4.0.0"
4054-
proxy-from-env "^1.1.0"
4055-
40564047
axios@^1.7.3:
40574048
version "1.7.9"
40584049
resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.9.tgz#d7d071380c132a24accda1b2cfc1535b79ec650a"
@@ -5012,7 +5003,7 @@ esbuild-register@^3.5.0:
50125003
dependencies:
50135004
debug "^4.3.4"
50145005

5015-
"esbuild@^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0":
5006+
"esbuild@^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0", esbuild@^0.24.2:
50165007
version "0.24.2"
50175008
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.24.2.tgz#b5b55bee7de017bff5fb8a4e3e44f2ebe2c3567d"
50185009
integrity sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==
@@ -5745,7 +5736,7 @@ flatted@^3.2.9, flatted@^3.3.1:
57455736
resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.2.tgz#adba1448a9841bec72b42c532ea23dbbedef1a27"
57465737
integrity sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==
57475738

5748-
follow-redirects@^1.15.4, follow-redirects@^1.15.6:
5739+
follow-redirects@^1.15.6:
57495740
version "1.15.9"
57505741
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1"
57515742
integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==
@@ -7090,7 +7081,7 @@ [email protected]:
70907081
dependencies:
70917082
obliterator "^2.0.1"
70927083

7093-
moment-timezone@^0.5.44, moment-timezone@^0.5.45:
7084+
moment-timezone@^0.5.45:
70947085
version "0.5.46"
70957086
resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.46.tgz#a21aa6392b3c6b3ed916cd5e95858a28d893704a"
70967087
integrity sha512-ZXm9b36esbe7OmdABqIWJuBBiLLwAjrN7CE+7sYdCCx82Nabt1wHDj8TVseS59QIlfFPbOoiBPm6ca9BioG4hw==
@@ -7167,16 +7158,6 @@ node-cache@^5.1.2:
71677158
dependencies:
71687159
clone "2.x"
71697160

7170-
node-ical@^0.18.0:
7171-
version "0.18.0"
7172-
resolved "https://registry.yarnpkg.com/node-ical/-/node-ical-0.18.0.tgz#919ab65f43cdfebb4ac9a1c2acca2b5e62cc003f"
7173-
integrity sha512-FrOUPztjw9OUgSB9o/ffhl86BiVClQTut97C2NqCwKIgOAcKPEw5UQMuSuNJO/Y4hqTyJdKZh2TCqNHQnE9YFg==
7174-
dependencies:
7175-
axios "1.6.7"
7176-
moment-timezone "^0.5.44"
7177-
rrule "2.8.1"
7178-
uuid "^9.0.0"
7179-
71807161
node-releases@^2.0.19:
71817162
version "2.0.19"
71827163
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314"
@@ -8121,13 +8102,6 @@ rollup@^4.20.0:
81218102
"@rollup/rollup-win32-x64-msvc" "4.29.2"
81228103
fsevents "~2.3.2"
81238104

8124-
8125-
version "2.8.1"
8126-
resolved "https://registry.yarnpkg.com/rrule/-/rrule-2.8.1.tgz#e8341a9ce3e68ce5b8da4d502e893cd9f286805e"
8127-
integrity sha512-hM3dHSBMeaJ0Ktp7W38BJZ7O1zOgaFEsn41PDk+yHoEtfLV+PoJt9E9xAlZiWgf/iqEqionN0ebHFZIDAp+iGw==
8128-
dependencies:
8129-
tslib "^2.4.0"
8130-
81318105
rrweb-cssom@^0.7.1:
81328106
version "0.7.1"
81338107
resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz#c73451a484b86dd7cfb1e0b2898df4b703183e4b"
@@ -9059,7 +9033,7 @@ tslib@^1.9.0:
90599033
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
90609034
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
90619035

9062-
tslib@^2.0.0, tslib@^2.0.1, tslib@^2.1.0, tslib@^2.4.0, tslib@^2.6.2, tslib@^2.6.3:
9036+
tslib@^2.0.0, tslib@^2.0.1, tslib@^2.1.0, tslib@^2.6.2, tslib@^2.6.3:
90639037
version "2.8.1"
90649038
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f"
90659039
integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==

0 commit comments

Comments
 (0)