tangled
alpha
login
or
join now
graham.systems
/
statusphere-react
forked from
samuel.fm/statusphere-react
0
fork
atom
the statusphere demo reworked into a vite/react app in a monorepo
0
fork
atom
overview
issues
pulls
pipelines
react compiler
samuel.fm
1 year ago
fb32b132
52e6f7b5
+150
-1
3 changed files
expand all
collapse all
unified
split
packages
client
package.json
vite.config.ts
pnpm-lock.yaml
+2
packages/client/package.json
···
28
"@typescript-eslint/parser": "^8.25.0",
29
"@vitejs/plugin-react": "^4.3.4",
30
"autoprefixer": "^10.4.20",
0
31
"eslint": "^9.21.0",
0
32
"eslint-plugin-react-hooks": "^5.2.0",
33
"eslint-plugin-react-refresh": "^0.4.19",
34
"postcss": "^8.5.3",
···
28
"@typescript-eslint/parser": "^8.25.0",
29
"@vitejs/plugin-react": "^4.3.4",
30
"autoprefixer": "^10.4.20",
31
+
"babel-plugin-react-compiler": "19.0.0-beta-e1e972c-20250221",
32
"eslint": "^9.21.0",
33
+
"eslint-plugin-react-compiler": "19.0.0-beta-e1e972c-20250221",
34
"eslint-plugin-react-hooks": "^5.2.0",
35
"eslint-plugin-react-refresh": "^0.4.19",
36
"postcss": "^8.5.3",
+8
-1
packages/client/vite.config.ts
···
5
6
// https://vitejs.dev/config/
7
export default defineConfig({
8
-
plugins: [react(), tailwindcss()],
0
0
0
0
0
0
0
9
server: {
10
port: 3000,
11
// allow ngrok
···
5
6
// https://vitejs.dev/config/
7
export default defineConfig({
8
+
plugins: [
9
+
react({
10
+
babel: {
11
+
plugins: [['babel-plugin-react-compiler', { target: '19' }]],
12
+
},
13
+
}),
14
+
tailwindcss(),
15
+
],
16
server: {
17
port: 3000,
18
// allow ngrok
+140
pnpm-lock.yaml
···
160
autoprefixer:
161
specifier: ^10.4.20
162
version: 10.4.20(postcss@8.5.3)
0
0
0
163
eslint:
164
specifier: ^9.21.0
165
version: 9.21.0(jiti@2.4.2)
0
0
0
166
eslint-plugin-react-hooks:
167
specifier: ^5.2.0
168
version: 5.2.0(eslint@9.21.0(jiti@2.4.2))
···
333
resolution: {integrity: sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==}
334
engines: {node: '>=6.9.0'}
335
0
0
0
0
336
'@babel/helper-compilation-targets@7.26.5':
337
resolution: {integrity: sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==}
338
engines: {node: '>=6.9.0'}
339
0
0
0
0
0
0
0
0
0
0
340
'@babel/helper-module-imports@7.25.9':
341
resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==}
342
engines: {node: '>=6.9.0'}
···
347
peerDependencies:
348
'@babel/core': ^7.0.0
349
0
0
0
0
350
'@babel/helper-plugin-utils@7.26.5':
351
resolution: {integrity: sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==}
0
0
0
0
0
0
0
0
0
0
352
engines: {node: '>=6.9.0'}
353
354
'@babel/helper-string-parser@7.25.9':
···
372
engines: {node: '>=6.0.0'}
373
hasBin: true
374
0
0
0
0
0
0
0
375
'@babel/plugin-transform-react-jsx-self@7.25.9':
376
resolution: {integrity: sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==}
377
engines: {node: '>=6.9.0'}
···
1082
await-lock@2.2.2:
1083
resolution: {integrity: sha512-aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw==}
1084
0
0
0
1085
balanced-match@1.0.2:
1086
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
1087
···
1372
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
1373
engines: {node: '>=10'}
1374
0
0
0
0
0
0
1375
eslint-plugin-react-hooks@5.2.0:
1376
resolution: {integrity: sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==}
1377
engines: {node: '>=10'}
···
1606
help-me@5.0.0:
1607
resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==}
1608
0
0
0
0
0
0
1609
http-errors@2.0.0:
1610
resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
1611
engines: {node: '>= 0.8'}
···
2695
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
2696
engines: {node: '>=10'}
2697
0
0
0
0
0
0
2698
zod@3.24.2:
2699
resolution: {integrity: sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==}
2700
···
2955
'@jridgewell/trace-mapping': 0.3.25
2956
jsesc: 3.1.0
2957
0
0
0
0
2958
'@babel/helper-compilation-targets@7.26.5':
2959
dependencies:
2960
'@babel/compat-data': 7.26.8
···
2963
lru-cache: 5.1.1
2964
semver: 6.3.1
2965
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2966
'@babel/helper-module-imports@7.25.9':
2967
dependencies:
2968
'@babel/traverse': 7.26.9
···
2979
transitivePeerDependencies:
2980
- supports-color
2981
0
0
0
0
2982
'@babel/helper-plugin-utils@7.26.5': {}
2983
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2984
'@babel/helper-string-parser@7.25.9': {}
2985
2986
'@babel/helper-validator-identifier@7.25.9': {}
···
2995
'@babel/parser@7.26.9':
2996
dependencies:
2997
'@babel/types': 7.26.9
0
0
0
0
0
0
0
0
2998
2999
'@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.26.9)':
3000
dependencies:
···
3630
3631
await-lock@2.2.2: {}
3632
0
0
0
0
3633
balanced-match@1.0.2: {}
3634
3635
base64-js@1.5.1: {}
···
3918
3919
escape-string-regexp@4.0.0: {}
3920
0
0
0
0
0
0
0
0
0
0
0
0
3921
eslint-plugin-react-hooks@5.2.0(eslint@9.21.0(jiti@2.4.2)):
3922
dependencies:
3923
eslint: 9.21.0(jiti@2.4.2)
···
4193
function-bind: 1.1.2
4194
4195
help-me@5.0.0: {}
0
0
0
0
0
0
4196
4197
http-errors@2.0.0:
4198
dependencies:
···
5148
yn@3.1.1: {}
5149
5150
yocto-queue@0.1.0: {}
0
0
0
0
5151
5152
zod@3.24.2: {}
···
160
autoprefixer:
161
specifier: ^10.4.20
162
version: 10.4.20(postcss@8.5.3)
163
+
babel-plugin-react-compiler:
164
+
specifier: 19.0.0-beta-e1e972c-20250221
165
+
version: 19.0.0-beta-e1e972c-20250221
166
eslint:
167
specifier: ^9.21.0
168
version: 9.21.0(jiti@2.4.2)
169
+
eslint-plugin-react-compiler:
170
+
specifier: 19.0.0-beta-e1e972c-20250221
171
+
version: 19.0.0-beta-e1e972c-20250221(eslint@9.21.0(jiti@2.4.2))
172
eslint-plugin-react-hooks:
173
specifier: ^5.2.0
174
version: 5.2.0(eslint@9.21.0(jiti@2.4.2))
···
339
resolution: {integrity: sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==}
340
engines: {node: '>=6.9.0'}
341
342
+
'@babel/helper-annotate-as-pure@7.25.9':
343
+
resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==}
344
+
engines: {node: '>=6.9.0'}
345
+
346
'@babel/helper-compilation-targets@7.26.5':
347
resolution: {integrity: sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==}
348
engines: {node: '>=6.9.0'}
349
350
+
'@babel/helper-create-class-features-plugin@7.26.9':
351
+
resolution: {integrity: sha512-ubbUqCofvxPRurw5L8WTsCLSkQiVpov4Qx0WMA+jUN+nXBK8ADPlJO1grkFw5CWKC5+sZSOfuGMdX1aI1iT9Sg==}
352
+
engines: {node: '>=6.9.0'}
353
+
peerDependencies:
354
+
'@babel/core': ^7.0.0
355
+
356
+
'@babel/helper-member-expression-to-functions@7.25.9':
357
+
resolution: {integrity: sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==}
358
+
engines: {node: '>=6.9.0'}
359
+
360
'@babel/helper-module-imports@7.25.9':
361
resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==}
362
engines: {node: '>=6.9.0'}
···
367
peerDependencies:
368
'@babel/core': ^7.0.0
369
370
+
'@babel/helper-optimise-call-expression@7.25.9':
371
+
resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==}
372
+
engines: {node: '>=6.9.0'}
373
+
374
'@babel/helper-plugin-utils@7.26.5':
375
resolution: {integrity: sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==}
376
+
engines: {node: '>=6.9.0'}
377
+
378
+
'@babel/helper-replace-supers@7.26.5':
379
+
resolution: {integrity: sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==}
380
+
engines: {node: '>=6.9.0'}
381
+
peerDependencies:
382
+
'@babel/core': ^7.0.0
383
+
384
+
'@babel/helper-skip-transparent-expression-wrappers@7.25.9':
385
+
resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==}
386
engines: {node: '>=6.9.0'}
387
388
'@babel/helper-string-parser@7.25.9':
···
406
engines: {node: '>=6.0.0'}
407
hasBin: true
408
409
+
'@babel/plugin-proposal-private-methods@7.18.6':
410
+
resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==}
411
+
engines: {node: '>=6.9.0'}
412
+
deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.
413
+
peerDependencies:
414
+
'@babel/core': ^7.0.0-0
415
+
416
'@babel/plugin-transform-react-jsx-self@7.25.9':
417
resolution: {integrity: sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==}
418
engines: {node: '>=6.9.0'}
···
1123
await-lock@2.2.2:
1124
resolution: {integrity: sha512-aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw==}
1125
1126
+
babel-plugin-react-compiler@19.0.0-beta-e1e972c-20250221:
1127
+
resolution: {integrity: sha512-m3Y8KdwBwKj9l6bf1XPO2xm0WWzv/cYJPurkwP5j8SADGor6l9CdQVksrcOGzU/4Rylfa+tXW6+xaR3vAKs7Hg==}
1128
+
1129
balanced-match@1.0.2:
1130
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
1131
···
1416
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
1417
engines: {node: '>=10'}
1418
1419
+
eslint-plugin-react-compiler@19.0.0-beta-e1e972c-20250221:
1420
+
resolution: {integrity: sha512-qdkOo4TJqFfK5td7EVNxDG2zAY44qK+ew7GKZ+nybOS/ONHFVRnluMfC+yjqyBexlfDZJul5ZFzsANJDQa3WSw==}
1421
+
engines: {node: ^14.17.0 || ^16.0.0 || >= 18.0.0}
1422
+
peerDependencies:
1423
+
eslint: '>=7'
1424
+
1425
eslint-plugin-react-hooks@5.2.0:
1426
resolution: {integrity: sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==}
1427
engines: {node: '>=10'}
···
1656
help-me@5.0.0:
1657
resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==}
1658
1659
+
hermes-estree@0.25.1:
1660
+
resolution: {integrity: sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==}
1661
+
1662
+
hermes-parser@0.25.1:
1663
+
resolution: {integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==}
1664
+
1665
http-errors@2.0.0:
1666
resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
1667
engines: {node: '>= 0.8'}
···
2751
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
2752
engines: {node: '>=10'}
2753
2754
+
zod-validation-error@3.4.0:
2755
+
resolution: {integrity: sha512-ZOPR9SVY6Pb2qqO5XHt+MkkTRxGXb4EVtnjc9JpXUOtUB1T9Ru7mZOT361AN3MsetVe7R0a1KZshJDZdgp9miQ==}
2756
+
engines: {node: '>=18.0.0'}
2757
+
peerDependencies:
2758
+
zod: ^3.18.0
2759
+
2760
zod@3.24.2:
2761
resolution: {integrity: sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==}
2762
···
3017
'@jridgewell/trace-mapping': 0.3.25
3018
jsesc: 3.1.0
3019
3020
+
'@babel/helper-annotate-as-pure@7.25.9':
3021
+
dependencies:
3022
+
'@babel/types': 7.26.9
3023
+
3024
'@babel/helper-compilation-targets@7.26.5':
3025
dependencies:
3026
'@babel/compat-data': 7.26.8
···
3029
lru-cache: 5.1.1
3030
semver: 6.3.1
3031
3032
+
'@babel/helper-create-class-features-plugin@7.26.9(@babel/core@7.26.9)':
3033
+
dependencies:
3034
+
'@babel/core': 7.26.9
3035
+
'@babel/helper-annotate-as-pure': 7.25.9
3036
+
'@babel/helper-member-expression-to-functions': 7.25.9
3037
+
'@babel/helper-optimise-call-expression': 7.25.9
3038
+
'@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.9)
3039
+
'@babel/helper-skip-transparent-expression-wrappers': 7.25.9
3040
+
'@babel/traverse': 7.26.9
3041
+
semver: 6.3.1
3042
+
transitivePeerDependencies:
3043
+
- supports-color
3044
+
3045
+
'@babel/helper-member-expression-to-functions@7.25.9':
3046
+
dependencies:
3047
+
'@babel/traverse': 7.26.9
3048
+
'@babel/types': 7.26.9
3049
+
transitivePeerDependencies:
3050
+
- supports-color
3051
+
3052
'@babel/helper-module-imports@7.25.9':
3053
dependencies:
3054
'@babel/traverse': 7.26.9
···
3065
transitivePeerDependencies:
3066
- supports-color
3067
3068
+
'@babel/helper-optimise-call-expression@7.25.9':
3069
+
dependencies:
3070
+
'@babel/types': 7.26.9
3071
+
3072
'@babel/helper-plugin-utils@7.26.5': {}
3073
3074
+
'@babel/helper-replace-supers@7.26.5(@babel/core@7.26.9)':
3075
+
dependencies:
3076
+
'@babel/core': 7.26.9
3077
+
'@babel/helper-member-expression-to-functions': 7.25.9
3078
+
'@babel/helper-optimise-call-expression': 7.25.9
3079
+
'@babel/traverse': 7.26.9
3080
+
transitivePeerDependencies:
3081
+
- supports-color
3082
+
3083
+
'@babel/helper-skip-transparent-expression-wrappers@7.25.9':
3084
+
dependencies:
3085
+
'@babel/traverse': 7.26.9
3086
+
'@babel/types': 7.26.9
3087
+
transitivePeerDependencies:
3088
+
- supports-color
3089
+
3090
'@babel/helper-string-parser@7.25.9': {}
3091
3092
'@babel/helper-validator-identifier@7.25.9': {}
···
3101
'@babel/parser@7.26.9':
3102
dependencies:
3103
'@babel/types': 7.26.9
3104
+
3105
+
'@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.26.9)':
3106
+
dependencies:
3107
+
'@babel/core': 7.26.9
3108
+
'@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.26.9)
3109
+
'@babel/helper-plugin-utils': 7.26.5
3110
+
transitivePeerDependencies:
3111
+
- supports-color
3112
3113
'@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.26.9)':
3114
dependencies:
···
3744
3745
await-lock@2.2.2: {}
3746
3747
+
babel-plugin-react-compiler@19.0.0-beta-e1e972c-20250221:
3748
+
dependencies:
3749
+
'@babel/types': 7.26.9
3750
+
3751
balanced-match@1.0.2: {}
3752
3753
base64-js@1.5.1: {}
···
4036
4037
escape-string-regexp@4.0.0: {}
4038
4039
+
eslint-plugin-react-compiler@19.0.0-beta-e1e972c-20250221(eslint@9.21.0(jiti@2.4.2)):
4040
+
dependencies:
4041
+
'@babel/core': 7.26.9
4042
+
'@babel/parser': 7.26.9
4043
+
'@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.26.9)
4044
+
eslint: 9.21.0(jiti@2.4.2)
4045
+
hermes-parser: 0.25.1
4046
+
zod: 3.24.2
4047
+
zod-validation-error: 3.4.0(zod@3.24.2)
4048
+
transitivePeerDependencies:
4049
+
- supports-color
4050
+
4051
eslint-plugin-react-hooks@5.2.0(eslint@9.21.0(jiti@2.4.2)):
4052
dependencies:
4053
eslint: 9.21.0(jiti@2.4.2)
···
4323
function-bind: 1.1.2
4324
4325
help-me@5.0.0: {}
4326
+
4327
+
hermes-estree@0.25.1: {}
4328
+
4329
+
hermes-parser@0.25.1:
4330
+
dependencies:
4331
+
hermes-estree: 0.25.1
4332
4333
http-errors@2.0.0:
4334
dependencies:
···
5284
yn@3.1.1: {}
5285
5286
yocto-queue@0.1.0: {}
5287
+
5288
+
zod-validation-error@3.4.0(zod@3.24.2):
5289
+
dependencies:
5290
+
zod: 3.24.2
5291
5292
zod@3.24.2: {}