@quatrain/app 1.1.3 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/Infra.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export declare class AppInfra {
2
- static start(config?: any, targetDir?: string): Promise<void>;
3
- static stop(targetDir?: string): Promise<void>;
2
+ static start(config: Record<string, any>): Promise<void>;
3
+ static stop(config: Record<string, any>): Promise<void>;
4
4
  private static getComposeCommand;
5
5
  private static runCompose;
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Infra.d.ts","sourceRoot":"","sources":["../src/Infra.ts"],"names":[],"mappings":"AAOA,qBAAa,QAAQ;WAME,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,SAAS,GAAE,MAAc,GAAG,OAAO,CAAC,IAAI,CAAC;WA6B7D,IAAI,CAAC,SAAS,GAAE,MAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlE,OAAO,CAAC,MAAM,CAAC,iBAAiB;mBAKX,UAAU;CA2CjC"}
1
+ {"version":3,"file":"Infra.d.ts","sourceRoot":"","sources":["../src/Infra.ts"],"names":[],"mappings":"AAOA,qBAAa,QAAQ;WAME,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;WA+BjD,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAYpE,OAAO,CAAC,MAAM,CAAC,iBAAiB;mBAKX,UAAU;CA2CjC"}
package/dist/Infra.js CHANGED
@@ -11,10 +11,11 @@ const fs_1 = __importDefault(require("fs"));
11
11
  const InfraBuilder_1 = require("./InfraBuilder");
12
12
  const CodeGenerator_1 = require("./CodeGenerator");
13
13
  class AppInfra {
14
- static async start(config, targetDir = 'app') {
15
- let composeFile = path_1.default.resolve(process.cwd(), targetDir, 'compose.yaml');
16
- if (config) {
14
+ static async start(config) {
15
+ try {
16
+ const targetDir = config.path || './app';
17
17
  const fullTargetDir = path_1.default.resolve(process.cwd(), targetDir);
18
+ const composeFile = path_1.default.join(fullTargetDir, 'compose.yaml');
18
19
  if (!fs_1.default.existsSync(fullTargetDir)) {
19
20
  fs_1.default.mkdirSync(fullTargetDir, { recursive: true });
20
21
  }
@@ -24,12 +25,22 @@ class AppInfra {
24
25
  fs_1.default.writeFileSync(path_1.default.resolve(fullTargetDir, '.env'), env, 'utf8');
25
26
  fs_1.default.writeFileSync(path_1.default.resolve(fullTargetDir, 'Containerfile'), dockerfile, 'utf8');
26
27
  log_1.Log.info(`[Infra] Dynamically generated compose.yaml and .env in ${fullTargetDir}`);
28
+ await this.runCompose('up -d --build', composeFile);
29
+ }
30
+ catch (e) {
31
+ log_1.Log.error(`[Infra] Failed to start infrastructure: ${e.message}`);
27
32
  }
28
- return this.runCompose('up -d --build', composeFile);
29
33
  }
30
- static async stop(targetDir = 'app') {
31
- const composeFile = path_1.default.resolve(process.cwd(), targetDir, 'compose.yaml');
32
- return this.runCompose('down', composeFile);
34
+ static async stop(config) {
35
+ try {
36
+ const targetDir = config.path || './app';
37
+ const composeFile = path_1.default.resolve(process.cwd(), targetDir, 'compose.yaml');
38
+ log_1.Log.info(`[Infra] Stopping infrastructure...`);
39
+ await this.runCompose('down', composeFile);
40
+ }
41
+ catch (e) {
42
+ log_1.Log.error(`[Infra] Failed to stop infrastructure: ${e.message}`);
43
+ }
33
44
  }
34
45
  static getComposeCommand() {
35
46
  return 'podman compose';
package/dist/Infra.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Infra.js","sourceRoot":"","sources":["../src/Infra.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Infra.js","sourceRoot":"","sources":["../src/Infra.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quatrain/app",
3
- "version": "1.1.3",
3
+ "version": "1.1.4",
4
4
  "license": "AGPL-3.0-only",
5
5
  "description": "Quatrain App Bootloader and configuration helpers",
6
6
  "main": "dist/index.js",
package/src/Infra.ts CHANGED
@@ -11,12 +11,12 @@ export class AppInfra {
11
11
  * via podman-compose ou docker-compose
12
12
  * Si une configuration est fournie, génère d'abord les fichiers compose.yaml et .env dans le dossier app/
13
13
  */
14
- public static async start(config?: any, targetDir: string = 'app'): Promise<void> {
15
- let composeFile = path.resolve(process.cwd(), targetDir, 'compose.yaml')
16
-
17
- if (config) {
18
- // Générer dynamiquement les fichiers de déploiement
14
+ public static async start(config: Record<string, any>): Promise<void> {
15
+ try {
16
+ const targetDir = config.path || './app'
19
17
  const fullTargetDir = path.resolve(process.cwd(), targetDir)
18
+ const composeFile = path.join(fullTargetDir, 'compose.yaml')
19
+
20
20
  if (!fs.existsSync(fullTargetDir)) {
21
21
  fs.mkdirSync(fullTargetDir, { recursive: true })
22
22
  }
@@ -32,17 +32,26 @@ export class AppInfra {
32
32
  fs.writeFileSync(path.resolve(fullTargetDir, 'Containerfile'), dockerfile, 'utf8')
33
33
 
34
34
  Log.info(`[Infra] Dynamically generated compose.yaml and .env in ${fullTargetDir}`)
35
- }
36
35
 
37
- return this.runCompose('up -d --build', composeFile)
36
+ await this.runCompose('up -d --build', composeFile)
37
+ } catch (e: any) {
38
+ Log.error(`[Infra] Failed to start infrastructure: ${e.message}`)
39
+ }
38
40
  }
39
41
 
40
42
  /**
41
43
  * Arrêter l'infrastructure locale
42
44
  */
43
- public static async stop(targetDir: string = 'app'): Promise<void> {
44
- const composeFile = path.resolve(process.cwd(), targetDir, 'compose.yaml')
45
- return this.runCompose('down', composeFile)
45
+ public static async stop(config: Record<string, any>): Promise<void> {
46
+ try {
47
+ const targetDir = config.path || './app'
48
+ const composeFile = path.resolve(process.cwd(), targetDir, 'compose.yaml')
49
+
50
+ Log.info(`[Infra] Stopping infrastructure...`)
51
+ await this.runCompose('down', composeFile)
52
+ } catch (e: any) {
53
+ Log.error(`[Infra] Failed to stop infrastructure: ${e.message}`)
54
+ }
46
55
  }
47
56
 
48
57
  private static getComposeCommand(): string {