@akago/akago_backend_commands 1.0.1 → 1.2.0

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/README.md CHANGED
@@ -1,16 +1,23 @@
1
- This subdirectory contains a minimal AdonisJS app used only for its commands.
1
+ A minimal AdonisJS console app containing various commands for akago backend administration.
2
2
 
3
3
  # Install
4
4
 
5
5
  ```
6
- npm install
7
- npm run build
8
- npm link
6
+ npm install -g @akago/akago_backend_commands
7
+ ```
8
+
9
+ # Usage
10
+
11
+ `akago` (alias: `ak`) command is available. You can list all the subcommands :
12
+
13
+ ```
14
+ ak list
9
15
  ```
10
16
 
11
17
  # Develop
12
18
 
13
19
  ```
20
+ npm install
14
21
  npm run build:watch
15
22
  # In another shell
16
23
  npm link
@@ -1,5 +1,6 @@
1
1
  import { Ignitor, prettyPrintError } from '@adonisjs/core';
2
2
  import 'reflect-metadata';
3
+ import { loadConfig } from '../lib/config.js';
3
4
  const APP_ROOT = new URL('../', import.meta.url);
4
5
  const IMPORTER = (filePath) => {
5
6
  if (filePath.startsWith('./') || filePath.startsWith('../')) {
@@ -8,8 +9,8 @@ const IMPORTER = (filePath) => {
8
9
  return import(filePath);
9
10
  };
10
11
  new Ignitor(APP_ROOT, { importer: IMPORTER })
11
- .tap((app) => {
12
- app.booting(async () => { });
12
+ .tap(async (app) => {
13
+ await loadConfig();
13
14
  app.listen('SIGTERM', () => app.terminate());
14
15
  app.listenIf(app.managedByPm2, 'SIGINT', () => app.terminate());
15
16
  })
@@ -1 +1 @@
1
- {"version":3,"file":"console.js","sourceRoot":"","sources":["../../bin/console.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,kBAAkB,CAAA;AAMzB,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAMhD,MAAM,QAAQ,GAAG,CAAC,QAAgB,EAAE,EAAE;IACpC,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5D,OAAO,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAA;IACjD,CAAC;IACD,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAA;AACzB,CAAC,CAAA;AAED,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;KAC1C,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;IACX,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC,CAAA;IAC3B,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAA;IAC5C,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAA;AACjE,CAAC,CAAC;KACD,GAAG,EAAE;KACL,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;KAC9B,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACf,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;IACpB,gBAAgB,CAAC,KAAK,CAAC,CAAA;AACzB,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"console.js","sourceRoot":"","sources":["../../bin/console.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,kBAAkB,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAM7C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAMhD,MAAM,QAAQ,GAAG,CAAC,QAAgB,EAAE,EAAE;IACpC,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5D,OAAO,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAA;IACjD,CAAC;IACD,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAA;AACzB,CAAC,CAAA;AAED,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;KAC1C,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACjB,MAAM,UAAU,EAAE,CAAA;IAElB,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAA;IAC5C,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAA;AACjE,CAAC,CAAC;KACD,GAAG,EAAE;KACL,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;KAC9B,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACf,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;IACpB,gBAAgB,CAAC,KAAK,CAAC,CAAA;AACzB,CAAC,CAAC,CAAA"}
@@ -3,8 +3,9 @@ export default class Ace extends EnvCommand {
3
3
  static commandName = 'health';
4
4
  async runInEnv(env) {
5
5
  this.logger.info(`Running health check`);
6
- const health = (await this
7
- .$ilent `docker -c ${env.serverName} exec -t ${env.apiService} curl http://localhost/health`).json();
6
+ const healthRawOutput = await this
7
+ .$ilent `docker -c ${env.serverName} exec -t ${env.apiService} curl http://localhost/health`;
8
+ const health = healthRawOutput.json();
8
9
  if (health.isHealthy)
9
10
  this.logger.success('API is healthy');
10
11
  else
@@ -1 +1 @@
1
- {"version":3,"file":"health.js","sourceRoot":"","sources":["../../commands/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAOlD,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,UAAU;IACzC,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAA;IAE7B,KAAK,CAAC,QAAQ,CAAC,GAAgB;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;QACxC,MAAM,MAAM,GAAG,CACb,MAAM,IAAI;aACP,MAAM,CAAA,aAAa,GAAG,CAAC,UAAU,YAAY,GAAG,CAAC,UAAU,+BAA+B,CAC9F,CAAC,IAAI,EAAE,CAAA;QAER,IAAI,MAAM,CAAC,SAAS;YAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;;YACtD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAE5C,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;YAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;aAC9D,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAA;aAChF,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO;YAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAE/E,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;YACtC,MAAM,CAAC,MAAM;iBACV,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC;iBAC9C,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACzD,CAAC;IACH,CAAC"}
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../../commands/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAOlD,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,UAAU;IACzC,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAA;IAE7B,KAAK,CAAC,QAAQ,CAAC,GAAgB;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;QACxC,MAAM,eAAe,GAAG,MAAM,IAAI;aAC/B,MAAM,CAAA,aAAa,GAAG,CAAC,UAAU,YAAY,GAAG,CAAC,UAAU,+BAA+B,CAAA;QAC7F,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,EAAE,CAAA;QAErC,IAAI,MAAM,CAAC,SAAS;YAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;;YACtD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAE5C,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;YAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;aAC9D,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAA;aAChF,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO;YAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAE/E,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;YACtC,MAAM,CAAC,MAAM;iBACV,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC;iBAC9C,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACzD,CAAC;IACH,CAAC"}
@@ -2,7 +2,8 @@ import { EnvCommand } from '../lib/env_command.js';
2
2
  export default class Logs extends EnvCommand {
3
3
  static commandName = 'logs';
4
4
  async runInEnv(env) {
5
- const containers = (await this.$ilent `docker -c ${env.serverName} ps --format "{{.Names}}"`).lines();
5
+ const psRawOutput = await this.$ilent `docker -c ${env.serverName} ps --format "{{.Names}}"`;
6
+ const containers = psRawOutput.lines();
6
7
  const container = await this.prompt.choice('Which containers ?', containers);
7
8
  if (container.length > 0)
8
9
  await this.$ `docker -c ${env.serverName} logs --tail 100 -f ${container}`;
@@ -1 +1 @@
1
- {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../commands/logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAGlD,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,UAAU;IAC1C,MAAM,CAAC,WAAW,GAAG,MAAM,CAAA;IAE3B,KAAK,CAAC,QAAQ,CAAC,GAAgB;QAC7B,MAAM,UAAU,GAAG,CACjB,MAAM,IAAI,CAAC,MAAM,CAAA,aAAa,GAAG,CAAC,UAAU,2BAA2B,CACxE,CAAC,KAAK,EAAE,CAAA;QACT,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAA;QAC5E,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YACtB,MAAM,IAAI,CAAC,CAAC,CAAA,aAAa,GAAG,CAAC,UAAU,uBAAuB,SAAS,EAAE,CAAA;IAC7E,CAAC"}
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../commands/logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAGlD,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,UAAU;IAC1C,MAAM,CAAC,WAAW,GAAG,MAAM,CAAA;IAE3B,KAAK,CAAC,QAAQ,CAAC,GAAgB;QAC7B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAA,aAAa,GAAG,CAAC,UAAU,2BAA2B,CAAA;QAC3F,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,EAAE,CAAA;QACtC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAA;QAC5E,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YACtB,MAAM,IAAI,CAAC,CAAC,CAAA,aAAa,GAAG,CAAC,UAAU,uBAAuB,SAAS,EAAE,CAAA;IAC7E,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { EnvCommand } from '../lib/env_command.js';
2
+ export default class Tests extends EnvCommand {
3
+ static commandName = 'tests';
4
+ async run() {
5
+ const context = await this.getLocalDockerContextName();
6
+ this.logger.info('Running tests in watch mode');
7
+ await this
8
+ .$ `doppler run -c test -- docker -c ${context} compose up --build --no-log-prefix api-local`;
9
+ }
10
+ }
11
+ //# sourceMappingURL=serve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../commands/serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,UAAU;IAC3C,MAAM,CAAC,WAAW,GAAG,OAAO,CAAA;IAE5B,KAAK,CAAC,GAAG;QACP,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAA;QAEtD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;QAC/C,MAAM,IAAI;aACP,CAAC,CAAA,oCAAoC,OAAO,+CAA+C,CAAA;IAChG,CAAC"}
@@ -1,10 +1,10 @@
1
- import { Database } from '../config.js';
1
+ import { config } from '../lib/config.js';
2
2
  import { EnvCommand } from '../lib/env_command.js';
3
3
  export default class SQL extends EnvCommand {
4
4
  static commandName = 'sql';
5
5
  async runInEnv(env) {
6
6
  this.logger.info('Connecting to database...');
7
- await this.$ `docker -c ${env.serverName} exec -it db psql -U postgres -d ${Database.name}`;
7
+ await this.$ `docker -c ${env.serverName} exec -it db psql -U postgres -d ${config.databaseName}`;
8
8
  }
9
9
  }
10
10
  //# sourceMappingURL=sql.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../commands/sql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAGlD,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,UAAU;IACzC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAA;IAE1B,KAAK,CAAC,QAAQ,CAAC,GAAgB;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;QAC7C,MAAM,IAAI,CAAC,CAAC,CAAA,aAAa,GAAG,CAAC,UAAU,oCAAoC,QAAQ,CAAC,IAAI,EAAE,CAAA;IAC5F,CAAC"}
1
+ {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../commands/sql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAGlD,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,UAAU;IACzC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAA;IAE1B,KAAK,CAAC,QAAQ,CAAC,GAAgB;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;QAC7C,MAAM,IAAI,CAAC,CAAC,CAAA,aAAa,GAAG,CAAC,UAAU,oCAAoC,MAAM,CAAC,YAAY,EAAE,CAAA;IAClG,CAAC"}
@@ -1,16 +1,8 @@
1
1
  import { EnvCommand } from '../lib/env_command.js';
2
2
  export default class Tests extends EnvCommand {
3
3
  static commandName = 'tests';
4
- macosContextName = 'desktop-linux';
5
4
  async run() {
6
- const localAnimation = this.logger.await('Retrieving local docker context');
7
- localAnimation.start();
8
- const contexts = (await this.$ilent `docker context ls --format "{{ .Name }}"`).lines();
9
- const context = contexts.includes(this.macosContextName) ? this.macosContextName : 'default';
10
- localAnimation.update('Retrived docker local context', {
11
- suffix: context,
12
- });
13
- localAnimation.stop();
5
+ const context = await this.getLocalDockerContextName();
14
6
  this.logger.info('Running tests in watch mode');
15
7
  await this
16
8
  .$ `doppler run -c test -- docker -c ${context} compose up --build --no-log-prefix api-test`;
@@ -1 +1 @@
1
- {"version":3,"file":"tests.js","sourceRoot":"","sources":["../../commands/tests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,UAAU;IAC3C,MAAM,CAAC,WAAW,GAAG,OAAO,CAAA;IAE5B,gBAAgB,GAAG,eAAe,CAAA;IAElC,KAAK,CAAC,GAAG;QAEP,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAA;QAC3E,cAAc,CAAC,KAAK,EAAE,CAAA;QACtB,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAA,0CAA0C,CAAC,CAAC,KAAK,EAAE,CAAA;QACtF,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAA;QAC5F,cAAc,CAAC,MAAM,CAAC,+BAA+B,EAAE;YACrD,MAAM,EAAE,OAAO;SAChB,CAAC,CAAA;QACF,cAAc,CAAC,IAAI,EAAE,CAAA;QAErB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;QAC/C,MAAM,IAAI;aACP,CAAC,CAAA,oCAAoC,OAAO,8CAA8C,CAAA;IAC/F,CAAC"}
1
+ {"version":3,"file":"tests.js","sourceRoot":"","sources":["../../commands/tests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,UAAU;IAC3C,MAAM,CAAC,WAAW,GAAG,OAAO,CAAA;IAE5B,KAAK,CAAC,GAAG;QACP,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAA;QAEtD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;QAC/C,MAAM,IAAI;aACP,CAAC,CAAA,oCAAoC,OAAO,8CAA8C,CAAA;IAC/F,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { configPkg } from '@adonisjs/eslint-config';
2
+ export default configPkg({
3
+ ignores: ['coverage'],
4
+ });
5
+ //# sourceMappingURL=eslint.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint.config.js","sourceRoot":"","sources":["../eslint.config.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEnD,eAAe,SAAS,CAAC;IACvB,OAAO,EAAE,CAAC,UAAU,CAAC;CACtB,CAAC,CAAA"}
@@ -0,0 +1,36 @@
1
+ import path, { join } from 'node:path';
2
+ import { cwd } from 'node:process';
3
+ import { Environment } from './environment.js';
4
+ export function defineConfig(config) {
5
+ return config;
6
+ }
7
+ export let config;
8
+ export const loadConfig = async () => {
9
+ let currentPath = cwd();
10
+ while (path.resolve(currentPath, '../') !== currentPath) {
11
+ const configFound = await findConfigInDirectory(currentPath);
12
+ if (configFound) {
13
+ config = configFound;
14
+ return;
15
+ }
16
+ else {
17
+ currentPath = path.resolve(currentPath, '../');
18
+ }
19
+ }
20
+ throw Error(`Could not find 'akago_commands' config. Make sure your are currently in a proper akago project`);
21
+ };
22
+ const findConfigInDirectory = async (directory) => {
23
+ const configPath = join(directory, 'api/src/config/akago_commands.ts');
24
+ console.log(configPath);
25
+ try {
26
+ const { default: configImported } = await import(configPath);
27
+ return {
28
+ environments: configImported.environments.map((e) => new Environment(e[0], e[1])),
29
+ databaseName: configImported.databaseName,
30
+ };
31
+ }
32
+ catch (e) {
33
+ return undefined;
34
+ }
35
+ };
36
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAO9C,MAAM,UAAU,YAAY,CAA6B,MAAS;IAChE,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,CAAC,IAAI,MAAwB,CAAA;AAEnC,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,IAAmB,EAAE;IAClD,IAAI,WAAW,GAAG,GAAG,EAAE,CAAA;IACvB,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,WAAW,EAAE,CAAC;QACxD,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAAC,WAAW,CAAC,CAAA;QAC5D,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,GAAG,WAAW,CAAA;YACpB,OAAM;QACR,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;IACD,MAAM,KAAK,CACT,gGAAgG,CACjG,CAAA;AACH,CAAC,CAAA;AAED,MAAM,qBAAqB,GAAG,KAAK,EAAE,SAAiB,EAAyC,EAAE;IAC/F,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAAA;IACtE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACvB,IAAI,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAA;QAE5D,OAAO;YACL,YAAY,EAAE,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtF,YAAY,EAAE,cAAc,CAAC,YAAY;SAC1C,CAAA;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC,CAAA"}
@@ -9,8 +9,9 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  import { BaseCommand, flags } from '@adonisjs/core/ace';
11
11
  import { $ } from 'zx';
12
- import { Environments } from '../config.js';
12
+ import { config } from './config.js';
13
13
  export class EnvCommand extends BaseCommand {
14
+ macosContextName = 'desktop-linux';
14
15
  warnProd = true;
15
16
  $ilent = $;
16
17
  $ = $({
@@ -18,8 +19,8 @@ export class EnvCommand extends BaseCommand {
18
19
  });
19
20
  async run() {
20
21
  const envName = this.env ??
21
- (await this.prompt.choice('Which environment ?', Environments.map((e) => e.name)));
22
- const env = Environments.find((e) => e.name === envName);
22
+ (await this.prompt.choice('Which environment ?', config.environments.map((e) => e.name)));
23
+ const env = config.environments.find((e) => e.name === envName);
23
24
  if (this.warnProd && env.name === 'prod') {
24
25
  const confirmation = await this.prompt.confirm('You are about to run this command on production environment. Do you confirm ?', {
25
26
  default: false,
@@ -32,6 +33,18 @@ export class EnvCommand extends BaseCommand {
32
33
  await this.runInEnv(env);
33
34
  }
34
35
  async runInEnv(_env) { }
36
+ async getLocalDockerContextName() {
37
+ const localAnimation = this.logger.await('Retrieving local docker context');
38
+ localAnimation.start();
39
+ const contextRawOutput = await this.$ilent `docker context ls --format "{{ .Name }}"`;
40
+ const contexts = contextRawOutput.lines();
41
+ const context = contexts.includes(this.macosContextName) ? this.macosContextName : 'default';
42
+ localAnimation.update('Retrived docker local context', {
43
+ suffix: context,
44
+ });
45
+ localAnimation.stop();
46
+ return context;
47
+ }
35
48
  }
36
49
  __decorate([
37
50
  flags.string({ required: false }),
@@ -1 +1 @@
1
- {"version":3,"file":"env_command.js","sourceRoot":"","sources":["../../lib/env_command.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,CAAC,EAAE,MAAM,IAAI,CAAA;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAG3C,MAAM,OAAO,UAAW,SAAQ,WAAW;IAIzC,QAAQ,GAAG,IAAI,CAAA;IACf,MAAM,GAAG,CAAC,CAAA;IACV,CAAC,GAAG,CAAC,CAAC;QACJ,KAAK,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;KAEvD,CAAC,CAAA;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,OAAO,GACX,IAAI,CAAC,GAAG;YACR,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CACvB,qBAAqB,EACrB,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAChC,CAAC,CAAA;QACJ,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAE,CAAA;QAEzD,IAAI,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAC5C,+EAA+E,EAC/E;gBACE,OAAO,EAAE,KAAK;aACf,CACF,CAAA;YACD,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA;gBAC/C,OAAM;YACR,CAAC;QACH,CAAC;QACD,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAiB,IAAkB,CAAC;CACpD;AAlCS;IADP,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;uCACH"}
1
+ {"version":3,"file":"env_command.js","sourceRoot":"","sources":["../../lib/env_command.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,CAAC,EAAE,MAAM,IAAI,CAAA;AACtB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGpC,MAAM,OAAO,UAAW,SAAQ,WAAW;IACzC,gBAAgB,GAAG,eAAe,CAAA;IAKlC,QAAQ,GAAG,IAAI,CAAA;IACf,MAAM,GAAG,CAAC,CAAA;IACV,CAAC,GAAG,CAAC,CAAC;QACJ,KAAK,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;KAEvD,CAAC,CAAA;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,OAAO,GACX,IAAI,CAAC,GAAG;YACR,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CACvB,qBAAqB,EACrB,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CACvC,CAAC,CAAA;QACJ,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAE,CAAA;QAEhE,IAAI,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAC5C,+EAA+E,EAC/E;gBACE,OAAO,EAAE,KAAK;aACf,CACF,CAAA;YACD,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA;gBAC/C,OAAM;YACR,CAAC;QACH,CAAC;QACD,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAiB,IAAkB,CAAC;IAEnD,KAAK,CAAC,yBAAyB;QAE7B,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAA;QAC3E,cAAc,CAAC,KAAK,EAAE,CAAA;QACtB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAA,0CAA0C,CAAA;QACpF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAA;QACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAA;QAC5F,cAAc,CAAC,MAAM,CAAC,+BAA+B,EAAE;YACrD,MAAM,EAAE,OAAO;SAChB,CAAC,CAAA;QACF,cAAc,CAAC,IAAI,EAAE,CAAA;QACrB,OAAO,OAAO,CAAA;IAChB,CAAC;CACF;AAhDS;IADP,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;uCACH"}
package/package.json CHANGED
@@ -1,11 +1,15 @@
1
1
  {
2
2
  "name": "@akago/akago_backend_commands",
3
- "version": "1.0.1",
3
+ "version": "1.2.0",
4
4
  "description": "Commands for Akago Backend",
5
5
  "publishConfig": {
6
6
  "access": "public",
7
7
  "tag": "latest"
8
8
  },
9
+ "bugs": {
10
+ "url": "https://github.com/akago-dev/akago_backend_commands/issues"
11
+ },
12
+ "homepage": "https://github.com/akago-dev/akago_backend_commands#readme",
9
13
  "scripts": {
10
14
  "build": "rm -rf dist && mkdir dist && touch dist/ace.js && chmod +x dist/ace.js && tsc",
11
15
  "build:watch": "rm -rf dist && mkdir dist && touch dist/ace.js && chmod +x dist/ace.js && tsc --watch"
@@ -31,6 +35,12 @@
31
35
  },
32
36
  "devDependencies": {
33
37
  "@types/node": "^25.0.10",
34
- "typescript": "^5.9.3"
35
- }
38
+ "typescript": "^5.9.3",
39
+ "@adonisjs/eslint-config": "^2.1.0",
40
+ "@adonisjs/prettier-config": "^1.4.5"
41
+ },
42
+ "eslintConfig": {
43
+ "extends": "@adonisjs/eslint-config/package"
44
+ },
45
+ "prettier": "@adonisjs/prettier-config"
36
46
  }
package/dist/config.js DELETED
@@ -1,11 +0,0 @@
1
- import { Environment } from './lib/environment.js';
2
- export const Environments = [
3
- new Environment('dev', 'libelaw-dev'),
4
- new Environment('staging', 'libelaw-staging'),
5
- new Environment('prod', 'libelaw-prod'),
6
- new Environment('local', 'default'),
7
- ];
8
- export const Database = {
9
- name: 'libelaw',
10
- };
11
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC;IACrC,IAAI,WAAW,CAAC,SAAS,EAAE,iBAAiB,CAAC;IAC7C,IAAI,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC;IACvC,IAAI,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC;CACpC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,IAAI,EAAE,SAAS;CAChB,CAAA"}