feat(erp): manifeste d'exercice, rejeu à blanc, gardes manquantes, trunk réconcilié (#92)

Co-authored-by: Gabriel Radureau <[email protected]>
This commit was merged in pull request #92.
This commit is contained in:
2026-08-14 22:05:44 +02:00
committed by arcodange
parent cefba7b367
commit c00cf948ed
9 changed files with 1702 additions and 37 deletions
+11 -4
View File
@@ -2,6 +2,7 @@ import "load_dotenv";
import { chromium } from "playwright";
import initialSetup from "./scripts/admin/initialSetup.ts";
import login from "./scripts/login.ts";
import { assertSandbox } from "./scripts/guard.ts";
import companySetup, { Company } from "./scripts/admin/companySetup.ts";
import path from "node:path";
import displaySetup from "./scripts/admin/displaySetup.ts";
@@ -10,8 +11,14 @@ import moduleSetup from "./scripts/admin/moduleSetup.ts";
/*
Initialisation
*/
const dolibarrAddress = Deno.env.get("DOLIBARR_ADDRESS") ||
"https://erp.arcodange.duckdns.org";
// GARDE D'HÔTE. main.ts pilote l'ASSISTANT D'INSTALLATION (`/install/`) : c'est
// le script le plus destructeur du dépôt. Pointé sur la production avec
// l'environnement ambiant — et `test/.env` porte justement DOLIBARR_ADDRESS sur
// la PRODUCTION — il relancerait l'installeur sur l'ERP réel.
// assertSandbox() n'autorise que le bac à sable, sauf double opt-in explicite
// (ARCO_ALLOW_PRODUCTION + ARCO_PROD_CONFIRM) pour l'installation initiale d'un
// nouvel environnement, qui reste un geste d'opérateur.
const dolibarrAddress = assertSandbox();
const debug = true;
const DBpassword = Deno.env.get("DOLI_DB_PASSWORD") || "undefined";
const adminCredentials = {
@@ -20,7 +27,7 @@ const adminCredentials = {
};
const rootFolderPath = Deno.env.get("ROOT_FOLDER") ||
"/Users/gabrielradureau/Desktop/ARCODANGE/erp";
"/Users/gabrielradureau/Work/Arcodange/erp";
const imgFolderPath = Deno.env.get("IMG_FOLDER") ||
path.join(rootFolderPath, "static/img");
const configFolderPath = Deno.env.get("CONFIG_FOLDER") ||
@@ -71,7 +78,7 @@ const globalCtx = {
try {
// await displaySetup.setupDisplay(globalCtx);
await moduleSetup.configureModule(globalCtx, {moduleName: 'TIERS' ,enabled: false, onConfiguration: async () => {
await moduleSetup.configureModule(globalCtx, {moduleName: 'TIERS' , enabled: true, onConfiguration: async () => {
await globalCtx.page.screenshot({path: 'save.png'})
}});
} catch (error) {