Compare commits

...

3 Commits

Author SHA1 Message Date
ca72e94e3c update node and playwright 2024-08-23 11:02:30 +02:00
dbcb3870aa fix tests 2024-08-23 11:01:57 +02:00
3ea176cc1f add build cli 2024-08-23 09:59:06 +02:00
9 changed files with 76 additions and 55 deletions

2
.nvmrc
View File

@ -1 +1 @@
v20.11.1 v22.7.0

View File

@ -1,5 +1,5 @@
# FRONTEND # FRONTEND
FROM node:20-alpine as client FROM node:22-alpine as client
ENV PNPM_HOME="/pnpm" ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH" ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable RUN corepack enable

View File

@ -14,7 +14,7 @@
<a href=""><img src="./.github/lokalise.png" height="50"> <a href=""><img src="./.github/lokalise.png" height="50">
<br/><br/> <br/><br/>
EN | [简体中文](README_zh-CN.md) | [ES](README_ES.md) EN | [简体中文](README_zh-CN.md) | [ES](README_ES.md)
## About? ## About?
@ -149,8 +149,8 @@ There is a [guide](https://mariushosting.com/how-to-install-cryptgeon-on-your-sy
**Requirements** **Requirements**
- `pnpm`: `>=6` - `pnpm`: `>=9`
- `node`: `>=18` - `node`: `>=22`
- `rust`: edition `2021` - `rust`: edition `2021`
**Install** **Install**

View File

@ -1,6 +1,6 @@
{ {
"scripts": { "scripts": {
"dev:docker": "docker-compose -f docker-compose.dev.yaml up redis", "dev:docker": "docker compose -f docker-compose.dev.yaml up redis",
"dev:packages": "pnpm --parallel run dev", "dev:packages": "pnpm --parallel run dev",
"dev": "run-p dev:*", "dev": "run-p dev:*",
"docker:up": "docker compose -f docker-compose.dev.yaml up", "docker:up": "docker compose -f docker-compose.dev.yaml up",
@ -12,8 +12,8 @@
"build": "pnpm run --recursive --filter=!@cryptgeon/backend build" "build": "pnpm run --recursive --filter=!@cryptgeon/backend build"
}, },
"devDependencies": { "devDependencies": {
"@playwright/test": "^1.42.1", "@playwright/test": "^1.46.1",
"@types/node": "^20.11.28", "@types/node": "^22.5.0",
"npm-run-all": "^4.1.5", "npm-run-all": "^4.1.5",
"shelljs": "^0.8.5" "shelljs": "^0.8.5"
}, },

14
packages/cli/build.js Normal file
View File

@ -0,0 +1,14 @@
import pkg from './package.json' with { type: 'json' }
import { build } from 'tsup'
const watch = process.argv.slice(2)[0] === '--watch'
await build({
entry: ['src/index.ts', 'src/cli.ts'],
dts: true,
minify: true,
format: ['esm', 'cjs'],
clean: true,
define: { VERSION: `"${pkg.version}"` },
watch,
})

View File

@ -20,7 +20,8 @@
], ],
"scripts": { "scripts": {
"bin": "run-s build package", "bin": "run-s build package",
"build": "rm -rf dist && tsc && tsup ./src/index.ts ./src/cli.ts --dts --format esm,cjs --minify", "build": "tsc && node build.js",
"dev": "node build.js --watch",
"prepublishOnly": "run-s build" "prepublishOnly": "run-s build"
}, },
"devDependencies": { "devDependencies": {

View File

@ -36,7 +36,7 @@ type CallOptions = {
export class PayloadToLargeError extends Error {} export class PayloadToLargeError extends Error {}
export let client: ClientOptions = { export let client: ClientOptions = {
server: 'https://cryptgeon.org', server: '',
} }
export function setOptions(options: Partial<ClientOptions>) { export function setOptions(options: Partial<ClientOptions>) {

View File

@ -4,12 +4,13 @@ const config: PlaywrightTestConfig = {
use: { use: {
video: 'retain-on-failure', video: 'retain-on-failure',
baseURL: 'http://localhost:1234', baseURL: 'http://localhost:1234',
actionTimeout: 60_000, actionTimeout: 10_000,
}, },
outputDir: './test-results', outputDir: './test-results',
testDir: './test', testDir: './test',
timeout: 60_000, timeout: 10_000,
fullyParallel: true,
webServer: { webServer: {
command: 'docker compose -f docker-compose.dev.yaml up', command: 'docker compose -f docker-compose.dev.yaml up',

91
pnpm-lock.yaml generated
View File

@ -9,11 +9,11 @@ importers:
.: .:
devDependencies: devDependencies:
'@playwright/test': '@playwright/test':
specifier: ^1.42.1 specifier: ^1.46.1
version: 1.42.1 version: 1.46.1
'@types/node': '@types/node':
specifier: ^20.11.28 specifier: ^22.5.0
version: 20.11.28 version: 22.5.0
npm-run-all: npm-run-all:
specifier: ^4.1.5 specifier: ^4.1.5
version: 4.1.5 version: 4.1.5
@ -91,13 +91,13 @@ importers:
version: 12.1.0 version: 12.1.0
'@sveltejs/adapter-static': '@sveltejs/adapter-static':
specifier: ^3.0.1 specifier: ^3.0.1
version: 3.0.1(@sveltejs/kit@2.5.2(@sveltejs/vite-plugin-svelte@3.0.2(svelte@4.2.12)(vite@5.1.7(@types/node@20.11.28)))(svelte@4.2.12)(vite@5.1.7(@types/node@20.11.28))) version: 3.0.1(@sveltejs/kit@2.5.2(@sveltejs/vite-plugin-svelte@3.0.2(svelte@4.2.12)(vite@5.1.7(@types/node@22.5.0)))(svelte@4.2.12)(vite@5.1.7(@types/node@22.5.0)))
'@sveltejs/kit': '@sveltejs/kit':
specifier: ^2.5.2 specifier: ^2.5.2
version: 2.5.2(@sveltejs/vite-plugin-svelte@3.0.2(svelte@4.2.12)(vite@5.1.7(@types/node@20.11.28)))(svelte@4.2.12)(vite@5.1.7(@types/node@20.11.28)) version: 2.5.2(@sveltejs/vite-plugin-svelte@3.0.2(svelte@4.2.12)(vite@5.1.7(@types/node@22.5.0)))(svelte@4.2.12)(vite@5.1.7(@types/node@22.5.0))
'@sveltejs/vite-plugin-svelte': '@sveltejs/vite-plugin-svelte':
specifier: ^3.0.2 specifier: ^3.0.2
version: 3.0.2(svelte@4.2.12)(vite@5.1.7(@types/node@20.11.28)) version: 3.0.2(svelte@4.2.12)(vite@5.1.7(@types/node@22.5.0))
'@types/file-saver': '@types/file-saver':
specifier: ^2.0.7 specifier: ^2.0.7
version: 2.0.7 version: 2.0.7
@ -127,7 +127,7 @@ importers:
version: 5.3.3 version: 5.3.3
vite: vite:
specifier: ^5.1.7 specifier: ^5.1.7
version: 5.1.7(@types/node@20.11.28) version: 5.1.7(@types/node@22.5.0)
packages/proxy: packages/proxy:
dependencies: dependencies:
@ -590,9 +590,9 @@ packages:
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
engines: {node: '>=14'} engines: {node: '>=14'}
'@playwright/test@1.42.1': '@playwright/test@1.46.1':
resolution: {integrity: sha512-Gq9rmS54mjBL/7/MvBaNOBwbfnh7beHvS6oS4srqXFcQHpQCV1+c8JXWE8VLPyRDhgS3H8x8A7hztqI9VnwrAQ==} resolution: {integrity: sha512-Fq6SwLujA/DOIvNC2EL/SojJnkKf/rAwJ//APpJJHRyMi1PdKrY3Az+4XNQ51N4RTbItbIByQ0jgd1tayq1aeA==}
engines: {node: '>=16'} engines: {node: '>=18'}
hasBin: true hasBin: true
'@polka/url@1.0.0-next.24': '@polka/url@1.0.0-next.24':
@ -790,8 +790,8 @@ packages:
'@types/node@20.11.24': '@types/node@20.11.24':
resolution: {integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==} resolution: {integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==}
'@types/node@20.11.28': '@types/node@22.5.0':
resolution: {integrity: sha512-M/GPWVS2wLkSkNHVeLkrF2fD5Lx5UC4PxA0uZcKc6QqbIQUJyW1jVjueJYi1z8n0I5PxYrtpnPnWglE+y9A0KA==} resolution: {integrity: sha512-DkFrJOe+rfdHTqqMg0bSNlGlQ85hSoh2TPzZyhHsXnMtligRWpxUySiyw8FY14ITt24HVCiQPWxS3KO/QlGmWg==}
'@types/pug@2.0.10': '@types/pug@2.0.10':
resolution: {integrity: sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA==} resolution: {integrity: sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA==}
@ -1705,14 +1705,14 @@ packages:
resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
engines: {node: '>= 6'} engines: {node: '>= 6'}
playwright-core@1.42.1: playwright-core@1.46.1:
resolution: {integrity: sha512-mxz6zclokgrke9p1vtdy/COWBH+eOZgYUVVU34C73M+4j4HLlQJHtfcqiqqxpP0o8HhMkflvfbquLX5dg6wlfA==} resolution: {integrity: sha512-h9LqIQaAv+CYvWzsZ+h3RsrqCStkBHlgo6/TJlFst3cOTlLghBQlJwPOZKQJTKNaD3QIB7aAVQ+gfWbN3NXB7A==}
engines: {node: '>=16'} engines: {node: '>=18'}
hasBin: true hasBin: true
playwright@1.42.1: playwright@1.46.1:
resolution: {integrity: sha512-PgwB03s2DZBcNRoW+1w9E+VkLBxweib6KTXM0M3tkiT4jVxKSi6PmVJ591J+0u10LUrgxB7dLRbiJqO5s2QPMg==} resolution: {integrity: sha512-oPcr1yqoXLCkgKtD5eNUPLiN40rYEM39odNpIb6VE6S7/15gJmA1NzVv6zJYusV0e7tzvkU/utBFNa/Kpxmwng==}
engines: {node: '>=16'} engines: {node: '>=18'}
hasBin: true hasBin: true
possible-typed-array-names@1.0.0: possible-typed-array-names@1.0.0:
@ -2149,6 +2149,9 @@ packages:
undici-types@5.26.5: undici-types@5.26.5:
resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
undici-types@6.19.8:
resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
update-browserslist-db@1.0.13: update-browserslist-db@1.0.13:
resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
hasBin: true hasBin: true
@ -2588,9 +2591,9 @@ snapshots:
'@pkgjs/parseargs@0.11.0': '@pkgjs/parseargs@0.11.0':
optional: true optional: true
'@playwright/test@1.42.1': '@playwright/test@1.46.1':
dependencies: dependencies:
playwright: 1.42.1 playwright: 1.46.1
'@polka/url@1.0.0-next.24': {} '@polka/url@1.0.0-next.24': {}
@ -2681,13 +2684,13 @@ snapshots:
'@rollup/rollup-win32-x64-msvc@4.21.0': '@rollup/rollup-win32-x64-msvc@4.21.0':
optional: true optional: true
'@sveltejs/adapter-static@3.0.1(@sveltejs/kit@2.5.2(@sveltejs/vite-plugin-svelte@3.0.2(svelte@4.2.12)(vite@5.1.7(@types/node@20.11.28)))(svelte@4.2.12)(vite@5.1.7(@types/node@20.11.28)))': '@sveltejs/adapter-static@3.0.1(@sveltejs/kit@2.5.2(@sveltejs/vite-plugin-svelte@3.0.2(svelte@4.2.12)(vite@5.1.7(@types/node@22.5.0)))(svelte@4.2.12)(vite@5.1.7(@types/node@22.5.0)))':
dependencies: dependencies:
'@sveltejs/kit': 2.5.2(@sveltejs/vite-plugin-svelte@3.0.2(svelte@4.2.12)(vite@5.1.7(@types/node@20.11.28)))(svelte@4.2.12)(vite@5.1.7(@types/node@20.11.28)) '@sveltejs/kit': 2.5.2(@sveltejs/vite-plugin-svelte@3.0.2(svelte@4.2.12)(vite@5.1.7(@types/node@22.5.0)))(svelte@4.2.12)(vite@5.1.7(@types/node@22.5.0))
'@sveltejs/kit@2.5.2(@sveltejs/vite-plugin-svelte@3.0.2(svelte@4.2.12)(vite@5.1.7(@types/node@20.11.28)))(svelte@4.2.12)(vite@5.1.7(@types/node@20.11.28))': '@sveltejs/kit@2.5.2(@sveltejs/vite-plugin-svelte@3.0.2(svelte@4.2.12)(vite@5.1.7(@types/node@22.5.0)))(svelte@4.2.12)(vite@5.1.7(@types/node@22.5.0))':
dependencies: dependencies:
'@sveltejs/vite-plugin-svelte': 3.0.2(svelte@4.2.12)(vite@5.1.7(@types/node@20.11.28)) '@sveltejs/vite-plugin-svelte': 3.0.2(svelte@4.2.12)(vite@5.1.7(@types/node@22.5.0))
'@types/cookie': 0.6.0 '@types/cookie': 0.6.0
cookie: 0.6.0 cookie: 0.6.0
devalue: 4.3.2 devalue: 4.3.2
@ -2701,28 +2704,28 @@ snapshots:
sirv: 2.0.4 sirv: 2.0.4
svelte: 4.2.12 svelte: 4.2.12
tiny-glob: 0.2.9 tiny-glob: 0.2.9
vite: 5.1.7(@types/node@20.11.28) vite: 5.1.7(@types/node@22.5.0)
'@sveltejs/vite-plugin-svelte-inspector@2.0.0(@sveltejs/vite-plugin-svelte@3.0.2(svelte@4.2.12)(vite@5.1.7(@types/node@20.11.28)))(svelte@4.2.12)(vite@5.1.7(@types/node@20.11.28))': '@sveltejs/vite-plugin-svelte-inspector@2.0.0(@sveltejs/vite-plugin-svelte@3.0.2(svelte@4.2.12)(vite@5.1.7(@types/node@22.5.0)))(svelte@4.2.12)(vite@5.1.7(@types/node@22.5.0))':
dependencies: dependencies:
'@sveltejs/vite-plugin-svelte': 3.0.2(svelte@4.2.12)(vite@5.1.7(@types/node@20.11.28)) '@sveltejs/vite-plugin-svelte': 3.0.2(svelte@4.2.12)(vite@5.1.7(@types/node@22.5.0))
debug: 4.3.4 debug: 4.3.4
svelte: 4.2.12 svelte: 4.2.12
vite: 5.1.7(@types/node@20.11.28) vite: 5.1.7(@types/node@22.5.0)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@sveltejs/vite-plugin-svelte@3.0.2(svelte@4.2.12)(vite@5.1.7(@types/node@20.11.28))': '@sveltejs/vite-plugin-svelte@3.0.2(svelte@4.2.12)(vite@5.1.7(@types/node@22.5.0))':
dependencies: dependencies:
'@sveltejs/vite-plugin-svelte-inspector': 2.0.0(@sveltejs/vite-plugin-svelte@3.0.2(svelte@4.2.12)(vite@5.1.7(@types/node@20.11.28)))(svelte@4.2.12)(vite@5.1.7(@types/node@20.11.28)) '@sveltejs/vite-plugin-svelte-inspector': 2.0.0(@sveltejs/vite-plugin-svelte@3.0.2(svelte@4.2.12)(vite@5.1.7(@types/node@22.5.0)))(svelte@4.2.12)(vite@5.1.7(@types/node@22.5.0))
debug: 4.3.4 debug: 4.3.4
deepmerge: 4.3.1 deepmerge: 4.3.1
kleur: 4.1.5 kleur: 4.1.5
magic-string: 0.30.7 magic-string: 0.30.7
svelte: 4.2.12 svelte: 4.2.12
svelte-hmr: 0.15.3(svelte@4.2.12) svelte-hmr: 0.15.3(svelte@4.2.12)
vite: 5.1.7(@types/node@20.11.28) vite: 5.1.7(@types/node@22.5.0)
vitefu: 0.2.5(vite@5.1.7(@types/node@20.11.28)) vitefu: 0.2.5(vite@5.1.7(@types/node@22.5.0))
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -2743,15 +2746,15 @@ snapshots:
dependencies: dependencies:
undici-types: 5.26.5 undici-types: 5.26.5
'@types/node@20.11.28': '@types/node@22.5.0':
dependencies: dependencies:
undici-types: 5.26.5 undici-types: 6.19.8
'@types/pug@2.0.10': {} '@types/pug@2.0.10': {}
'@types/through@0.0.33': '@types/through@0.0.33':
dependencies: dependencies:
'@types/node': 20.11.24 '@types/node': 22.5.0
'@zerodevx/svelte-toast@0.9.5(svelte@4.2.12)': '@zerodevx/svelte-toast@0.9.5(svelte@4.2.12)':
dependencies: dependencies:
@ -3694,11 +3697,11 @@ snapshots:
pirates@4.0.6: {} pirates@4.0.6: {}
playwright-core@1.42.1: {} playwright-core@1.46.1: {}
playwright@1.42.1: playwright@1.46.1:
dependencies: dependencies:
playwright-core: 1.42.1 playwright-core: 1.46.1
optionalDependencies: optionalDependencies:
fsevents: 2.3.2 fsevents: 2.3.2
@ -4200,6 +4203,8 @@ snapshots:
undici-types@5.26.5: {} undici-types@5.26.5: {}
undici-types@6.19.8: {}
update-browserslist-db@1.0.13(browserslist@4.23.0): update-browserslist-db@1.0.13(browserslist@4.23.0):
dependencies: dependencies:
browserslist: 4.23.0 browserslist: 4.23.0
@ -4213,18 +4218,18 @@ snapshots:
spdx-correct: 3.2.0 spdx-correct: 3.2.0
spdx-expression-parse: 3.0.1 spdx-expression-parse: 3.0.1
vite@5.1.7(@types/node@20.11.28): vite@5.1.7(@types/node@22.5.0):
dependencies: dependencies:
esbuild: 0.19.12 esbuild: 0.19.12
postcss: 8.4.35 postcss: 8.4.35
rollup: 4.12.0 rollup: 4.12.0
optionalDependencies: optionalDependencies:
'@types/node': 20.11.28 '@types/node': 22.5.0
fsevents: 2.3.3 fsevents: 2.3.3
vitefu@0.2.5(vite@5.1.7(@types/node@20.11.28)): vitefu@0.2.5(vite@5.1.7(@types/node@22.5.0)):
optionalDependencies: optionalDependencies:
vite: 5.1.7(@types/node@20.11.28) vite: 5.1.7(@types/node@22.5.0)
wcwidth@1.0.1: wcwidth@1.0.1:
dependencies: dependencies: