+2
-1
package.json
+2
-1
package.json
···
3
3
"private": true,
4
4
"scripts": {
5
5
"dev": "vite",
6
-
"build": "vite build",
6
+
"build": "tsc -b && vite build",
7
7
"preview": "vite preview",
8
8
"fmt": "PRETTIER_EXPERIMENTAL_CLI=1 prettier --cache --write ."
9
9
},
···
46
46
"@trivago/prettier-plugin-sort-imports": "^5.2.2",
47
47
"@types/dom-close-watcher": "^1.0.0",
48
48
"@types/dom-webcodecs": "^0.1.15",
49
+
"@types/node": "^24.3.0",
49
50
"autoprefixer": "^10.4.21",
50
51
"babel-plugin-transform-typescript-const-enums": "^0.1.0",
51
52
"prettier": "^3.6.0",
+27
-11
pnpm-lock.yaml
+27
-11
pnpm-lock.yaml
···
139
139
'@types/dom-webcodecs':
140
140
specifier: ^0.1.15
141
141
version: 0.1.15
142
+
'@types/node':
143
+
specifier: ^24.3.0
144
+
version: 24.3.0
142
145
autoprefixer:
143
146
specifier: ^10.4.21
144
147
version: 10.4.21(postcss@8.5.6)
···
162
165
version: 5.8.3
163
166
vite:
164
167
specifier: ^6.3.5
165
-
version: 6.3.5(jiti@1.21.7)(terser@5.43.1)(yaml@2.8.0)
168
+
version: 6.3.5(@types/node@24.3.0)(jiti@1.21.7)(terser@5.43.1)(yaml@2.8.0)
166
169
vite-plugin-pwa:
167
170
specifier: 0.21.0
168
-
version: 0.21.0(patch_hash=003379ded749ad87080f87b428b17f04c4c88b6b64544df4d928aab76fbf6325)(@types/babel__core@7.20.5)(vite@6.3.5(jiti@1.21.7)(terser@5.43.1)(yaml@2.8.0))
171
+
version: 0.21.0(patch_hash=003379ded749ad87080f87b428b17f04c4c88b6b64544df4d928aab76fbf6325)(@types/babel__core@7.20.5)(vite@6.3.5(@types/node@24.3.0)(jiti@1.21.7)(terser@5.43.1)(yaml@2.8.0))
169
172
vite-plugin-solid:
170
173
specifier: ^2.11.6
171
-
version: 2.11.6(solid-js@1.9.7(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7))(vite@6.3.5(jiti@1.21.7)(terser@5.43.1)(yaml@2.8.0))
174
+
version: 2.11.6(solid-js@1.9.7(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7))(vite@6.3.5(@types/node@24.3.0)(jiti@1.21.7)(terser@5.43.1)(yaml@2.8.0))
172
175
wrangler:
173
176
specifier: ^4.20.5
174
177
version: 4.20.5
···
1503
1506
'@types/estree@1.0.8':
1504
1507
resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
1505
1508
1509
+
'@types/node@24.3.0':
1510
+
resolution: {integrity: sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==}
1511
+
1506
1512
'@types/resolve@1.20.2':
1507
1513
resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
1508
1514
···
2497
2503
2498
2504
ufo@1.6.1:
2499
2505
resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==}
2506
+
2507
+
undici-types@7.10.0:
2508
+
resolution: {integrity: sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==}
2500
2509
2501
2510
undici@5.29.0:
2502
2511
resolution: {integrity: sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==}
···
4002
4011
'@types/estree@0.0.39': {}
4003
4012
4004
4013
'@types/estree@1.0.8': {}
4014
+
4015
+
'@types/node@24.3.0':
4016
+
dependencies:
4017
+
undici-types: 7.10.0
4005
4018
4006
4019
'@types/resolve@1.20.2': {}
4007
4020
···
4950
4963
4951
4964
ufo@1.6.1: {}
4952
4965
4966
+
undici-types@7.10.0: {}
4967
+
4953
4968
undici@5.29.0:
4954
4969
dependencies:
4955
4970
'@fastify/busboy': 2.1.1
···
4991
5006
4992
5007
validate-html-nesting@1.2.3: {}
4993
5008
4994
-
vite-plugin-pwa@0.21.0(patch_hash=003379ded749ad87080f87b428b17f04c4c88b6b64544df4d928aab76fbf6325)(@types/babel__core@7.20.5)(vite@6.3.5(jiti@1.21.7)(terser@5.43.1)(yaml@2.8.0)):
5009
+
vite-plugin-pwa@0.21.0(patch_hash=003379ded749ad87080f87b428b17f04c4c88b6b64544df4d928aab76fbf6325)(@types/babel__core@7.20.5)(vite@6.3.5(@types/node@24.3.0)(jiti@1.21.7)(terser@5.43.1)(yaml@2.8.0)):
4995
5010
dependencies:
4996
5011
debug: 4.4.1
4997
5012
pretty-bytes: 6.1.1
4998
5013
tinyglobby: 0.2.14
4999
-
vite: 6.3.5(jiti@1.21.7)(terser@5.43.1)(yaml@2.8.0)
5014
+
vite: 6.3.5(@types/node@24.3.0)(jiti@1.21.7)(terser@5.43.1)(yaml@2.8.0)
5000
5015
workbox-build: 7.3.0(@types/babel__core@7.20.5)
5001
5016
workbox-window: 7.3.0
5002
5017
transitivePeerDependencies:
5003
5018
- '@types/babel__core'
5004
5019
- supports-color
5005
5020
5006
-
vite-plugin-solid@2.11.6(solid-js@1.9.7(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7))(vite@6.3.5(jiti@1.21.7)(terser@5.43.1)(yaml@2.8.0)):
5021
+
vite-plugin-solid@2.11.6(solid-js@1.9.7(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7))(vite@6.3.5(@types/node@24.3.0)(jiti@1.21.7)(terser@5.43.1)(yaml@2.8.0)):
5007
5022
dependencies:
5008
5023
'@babel/core': 7.27.4
5009
5024
'@types/babel__core': 7.20.5
···
5011
5026
merge-anything: 5.1.7
5012
5027
solid-js: 1.9.7(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7)
5013
5028
solid-refresh: 0.6.3(solid-js@1.9.7(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7))
5014
-
vite: 6.3.5(jiti@1.21.7)(terser@5.43.1)(yaml@2.8.0)
5015
-
vitefu: 1.0.7(vite@6.3.5(jiti@1.21.7)(terser@5.43.1)(yaml@2.8.0))
5029
+
vite: 6.3.5(@types/node@24.3.0)(jiti@1.21.7)(terser@5.43.1)(yaml@2.8.0)
5030
+
vitefu: 1.0.7(vite@6.3.5(@types/node@24.3.0)(jiti@1.21.7)(terser@5.43.1)(yaml@2.8.0))
5016
5031
transitivePeerDependencies:
5017
5032
- supports-color
5018
5033
5019
-
vite@6.3.5(jiti@1.21.7)(terser@5.43.1)(yaml@2.8.0):
5034
+
vite@6.3.5(@types/node@24.3.0)(jiti@1.21.7)(terser@5.43.1)(yaml@2.8.0):
5020
5035
dependencies:
5021
5036
esbuild: 0.25.5
5022
5037
fdir: 6.4.6(picomatch@4.0.2)
···
5025
5040
rollup: 4.44.0
5026
5041
tinyglobby: 0.2.14
5027
5042
optionalDependencies:
5043
+
'@types/node': 24.3.0
5028
5044
fsevents: 2.3.3
5029
5045
jiti: 1.21.7
5030
5046
terser: 5.43.1
5031
5047
yaml: 2.8.0
5032
5048
5033
-
vitefu@1.0.7(vite@6.3.5(jiti@1.21.7)(terser@5.43.1)(yaml@2.8.0)):
5049
+
vitefu@1.0.7(vite@6.3.5(@types/node@24.3.0)(jiti@1.21.7)(terser@5.43.1)(yaml@2.8.0)):
5034
5050
optionalDependencies:
5035
-
vite: 6.3.5(jiti@1.21.7)(terser@5.43.1)(yaml@2.8.0)
5051
+
vite: 6.3.5(@types/node@24.3.0)(jiti@1.21.7)(terser@5.43.1)(yaml@2.8.0)
5036
5052
5037
5053
webidl-conversions@4.0.2: {}
5038
5054
+1
-1
src/views/_error/index.tsx
+1
-1
src/views/_error/index.tsx
+40
tsconfig.app.json
+40
tsconfig.app.json
···
1
+
{
2
+
"compilerOptions": {
3
+
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
4
+
5
+
"target": "ESNext",
6
+
"lib": ["ESNext", "DOM", "DOM.Iterable"],
7
+
"types": [
8
+
"dom-close-watcher",
9
+
"dom-webcodecs",
10
+
"@atcute/atproto",
11
+
"@atcute/bluemoji",
12
+
"@atcute/bluesky",
13
+
"@kelinci/basa-lexicons"
14
+
],
15
+
"skipLibCheck": true,
16
+
17
+
"module": "ESNext",
18
+
"moduleResolution": "bundler",
19
+
"moduleDetection": "force",
20
+
"allowImportingTsExtensions": true,
21
+
"noEmit": true,
22
+
"jsx": "preserve",
23
+
"jsxImportSource": "solid-js",
24
+
25
+
"incremental": true,
26
+
"strict": true,
27
+
"verbatimModuleSyntax": true,
28
+
"noUnusedLocals": true,
29
+
"noUnusedParameters": true,
30
+
"noFallthroughCasesInSwitch": true,
31
+
"noUncheckedSideEffectImports": true,
32
+
33
+
"useDefineForClassFields": false,
34
+
35
+
"paths": {
36
+
"~/*": ["./src/*"]
37
+
}
38
+
},
39
+
"include": ["src"]
40
+
}
+2
-35
tsconfig.json
+2
-35
tsconfig.json
···
1
1
{
2
-
"compilerOptions": {
3
-
"target": "ESNext",
4
-
"lib": ["DOM", "DOM.Iterable", "ESNext"],
5
-
"types": [
6
-
"dom-close-watcher",
7
-
"dom-webcodecs",
8
-
"@atcute/atproto",
9
-
"@atcute/bluemoji",
10
-
"@atcute/bluesky",
11
-
"@kelinci/basa-lexicons",
12
-
],
13
-
"skipLibCheck": true,
14
-
15
-
"module": "ESNext",
16
-
"moduleResolution": "Bundler",
17
-
"allowImportingTsExtensions": true,
18
-
"resolveJsonModule": true,
19
-
"noEmit": true,
20
-
"jsx": "preserve",
21
-
"jsxImportSource": "solid-js",
22
-
23
-
"incremental": true,
24
-
"strict": true,
25
-
"verbatimModuleSyntax": true,
26
-
"noUnusedLocals": true,
27
-
"noUnusedParameters": true,
28
-
"noFallthroughCasesInSwitch": true,
29
-
30
-
"useDefineForClassFields": false,
31
-
32
-
"paths": {
33
-
"~/*": ["./src/*"],
34
-
},
35
-
},
36
-
"include": ["src"],
2
+
"files": [],
3
+
"references": [{ "path": "./tsconfig.app.json" }, { "path": "./tsconfig.node.json" }],
37
4
}
+27
tsconfig.node.json
+27
tsconfig.node.json
···
1
+
{
2
+
"compilerOptions": {
3
+
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
4
+
5
+
"target": "ESNext",
6
+
"lib": ["ESNext"],
7
+
"types": ["node"],
8
+
"skipLibCheck": true,
9
+
10
+
"module": "ESNext",
11
+
"moduleResolution": "bundler",
12
+
"moduleDetection": "force",
13
+
"allowImportingTsExtensions": true,
14
+
"noEmit": true,
15
+
16
+
"incremental": true,
17
+
"strict": true,
18
+
"verbatimModuleSyntax": true,
19
+
"noUnusedLocals": true,
20
+
"noUnusedParameters": true,
21
+
"noFallthroughCasesInSwitch": true,
22
+
"noUncheckedSideEffectImports": true,
23
+
24
+
"useDefineForClassFields": false
25
+
},
26
+
"include": ["vite.config.ts"]
27
+
}
+3
-1
vite.config.js
vite.config.ts
+3
-1
vite.config.js
vite.config.ts
···
100
100
101
101
// Transform the icon components to remove the `() => _tmpl$()` wrapper
102
102
{
103
+
name: 'aglais-icon-transform',
103
104
transform(code, id) {
104
105
if (!id.includes('/icons-central/')) {
105
106
return;
···
107
108
108
109
const transformed = code.replace(
109
110
/(?<=createIcon\()\(\)\s*=>*.([\w$]+)\(\)(?=\))/g,
110
-
(match, id) => id,
111
+
(_match, id) => id,
111
112
);
112
113
113
114
return { code: transformed, map: null };
···
116
117
117
118
// Injects OAuth-related variables
118
119
{
120
+
name: 'aglais-oauth-inject',
119
121
config(_conf, { command }) {
120
122
if (command === 'build') {
121
123
process.env.VITE_OAUTH_CLIENT_ID = metadata.client_id;