chore: scaffolding mono-package jalon 1 (APT)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,9 @@
|
|||||||
|
# Clé maître de chiffrement des credentials (32 octets en hex = 64 caractères).
|
||||||
|
# Générer avec: openssl rand -hex 32
|
||||||
|
SU_MASTER_KEY=0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
# Chemin du fichier SQLite
|
||||||
|
SU_DB_PATH=./data/system-update.db
|
||||||
|
# Répertoire d'archivage des rapports + logs
|
||||||
|
SU_REPORTS_DIR=./reports
|
||||||
|
# Port HTTP du serveur
|
||||||
|
SU_PORT=8787
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
node_modules/
|
||||||
|
dist/
|
||||||
|
data/
|
||||||
|
.env
|
||||||
|
reports/*
|
||||||
|
!reports/.gitkeep
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
{
|
||||||
|
"name": "system-update",
|
||||||
|
"version": "0.1.0",
|
||||||
|
"type": "module",
|
||||||
|
"packageManager": "pnpm@10.33.0",
|
||||||
|
"engines": { "node": ">=22" },
|
||||||
|
"scripts": {
|
||||||
|
"dev": "pnpm run dev:server & pnpm run dev:client",
|
||||||
|
"dev:server": "tsx watch server/index.ts",
|
||||||
|
"dev:client": "vite",
|
||||||
|
"build": "vite build && tsup",
|
||||||
|
"start": "node dist/index.js",
|
||||||
|
"test": "vitest run",
|
||||||
|
"check": "tsc --noEmit",
|
||||||
|
"db:generate": "drizzle-kit generate"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@hono/node-server": "^1.13.0",
|
||||||
|
"better-sqlite3": "^11.8.0",
|
||||||
|
"croner": "^9.0.0",
|
||||||
|
"drizzle-orm": "^0.38.0",
|
||||||
|
"hono": "^4.6.0",
|
||||||
|
"mustache": "^4.2.0",
|
||||||
|
"ssh2": "^1.16.0",
|
||||||
|
"ws": "^8.18.0"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@types/better-sqlite3": "^7.6.12",
|
||||||
|
"@types/mustache": "^4.2.5",
|
||||||
|
"@types/node": "^22.10.0",
|
||||||
|
"@types/react": "^19.0.0",
|
||||||
|
"@types/react-dom": "^19.0.0",
|
||||||
|
"@types/ssh2": "^1.15.1",
|
||||||
|
"@types/ws": "^8.5.13",
|
||||||
|
"@vitejs/plugin-react": "^4.3.4",
|
||||||
|
"@xterm/addon-fit": "^0.10.0",
|
||||||
|
"@xterm/xterm": "^5.5.0",
|
||||||
|
"drizzle-kit": "^0.30.0",
|
||||||
|
"react": "^19.0.0",
|
||||||
|
"react-dom": "^19.0.0",
|
||||||
|
"tsup": "^8.3.5",
|
||||||
|
"tsx": "^4.19.2",
|
||||||
|
"typescript": "^5.7.0",
|
||||||
|
"vite": "^6.0.0",
|
||||||
|
"vitest": "^2.1.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
Generated
+3688
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"target": "ES2022",
|
||||||
|
"module": "ESNext",
|
||||||
|
"moduleResolution": "Bundler",
|
||||||
|
"lib": ["ES2022", "DOM", "DOM.Iterable"],
|
||||||
|
"jsx": "react-jsx",
|
||||||
|
"strict": true,
|
||||||
|
"noUncheckedIndexedAccess": true,
|
||||||
|
"esModuleInterop": true,
|
||||||
|
"skipLibCheck": true,
|
||||||
|
"resolveJsonModule": true,
|
||||||
|
"types": ["node", "vitest/globals"],
|
||||||
|
"paths": { "@shared/*": ["./shared/*"] },
|
||||||
|
"baseUrl": "."
|
||||||
|
},
|
||||||
|
"include": ["server", "client", "shared", "*.ts"]
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
import { defineConfig } from "vitest/config";
|
||||||
|
|
||||||
|
export default defineConfig({
|
||||||
|
test: {
|
||||||
|
globals: true,
|
||||||
|
include: ["server/**/*.test.ts", "shared/**/*.test.ts"],
|
||||||
|
environment: "node",
|
||||||
|
},
|
||||||
|
resolve: { alias: { "@shared": new URL("./shared", import.meta.url).pathname } },
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user