@ama-openapi/cli 13.6.0-prerelease.6 → 13.6.0-prerelease.7

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
@@ -39,9 +39,9 @@ The following global options can be used with any command:
39
39
  | `--log-level`, `-l` | `"silent" \| "error" \| "warning" \| "info" \| "debug"` | `error` | Define the specific level of logs to display in the console |
40
40
  | `--help`, `-h` | | | Show help information |
41
41
 
42
- ## Available Commands
42
+ ## Available commands
43
43
 
44
- ### Command `install`
44
+ ### `install` command
45
45
 
46
46
  This command scans for [manifest files](https://github.com/AmadeusITGroup/otter/tree/main/docs/openapi/MANIFEST_CONFIGURATION.md) in the current working directory and installs all [OpenAPI specifications](https://www.openapis.org/) specified in those files. The installation process will download and process the OpenAPI specifications according to the configuration in your manifest.
47
47
 
@@ -62,7 +62,7 @@ ama-openapi install --debug
62
62
  ama-openapi install --silent
63
63
  ```
64
64
 
65
- ### Command `watch`
65
+ ### `watch` command
66
66
 
67
67
  This command starts a file watcher that monitors manifest files for changes. When a manifest file is modified, it automatically triggers the installation process, ensuring your [OpenAPI specifications](https://www.openapis.org/) are always up to date during development.
68
68
 
@@ -80,6 +80,21 @@ ama-openapi watch
80
80
  ama-openapi watch --debug
81
81
  ```
82
82
 
83
+ ### `generate-schema` command
84
+
85
+ Generate the [JSON Schemas](https://json-schema.org/) that can be used for configuration auto completion.
86
+
87
+ ```shell
88
+ npm exec @ama-openapi/cli generate-schema -- [options]
89
+ ```
90
+
91
+ #### Options
92
+
93
+ | Option | Alias | Description | Default value |
94
+ | --- | --- | --- | --- |
95
+ | `--output` | `-o` | Output directory where to generate the schemas | `'./schemas'` |
96
+ | `--keywords` | `-k` | List of the keywords to include in the artifact to be considered in the schema generation | `['openapi']` |
97
+
83
98
  ## Expose shareable models
84
99
 
85
100
  To expose models from the OpenAPI package, the following setups are required:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ama-openapi/cli",
3
- "version": "13.6.0-prerelease.6",
3
+ "version": "13.6.0-prerelease.7",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -32,12 +32,12 @@
32
32
  }
33
33
  },
34
34
  "dependencies": {
35
- "@ama-openapi/core": "~13.6.0-prerelease.6",
35
+ "@ama-openapi/core": "~13.6.0-prerelease.7",
36
36
  "tslib": "^2.6.2",
37
37
  "yargs": "~18.0.0"
38
38
  },
39
39
  "peerDependencies": {
40
- "@o3r/telemetry": "~13.6.0-prerelease.6",
40
+ "@o3r/telemetry": "~13.6.0-prerelease.7",
41
41
  "chokidar": "^4.0.3"
42
42
  },
43
43
  "peerDependenciesMeta": {
@@ -58,10 +58,10 @@
58
58
  "@nx/eslint-plugin": "~21.6.0",
59
59
  "@nx/jest": "~21.6.0",
60
60
  "@nx/js": "~21.6.0",
61
- "@o3r/build-helpers": "~13.6.0-prerelease.6",
62
- "@o3r/eslint-plugin": "~13.6.0-prerelease.6",
63
- "@o3r/telemetry": "~13.6.0-prerelease.6",
64
- "@o3r/test-helpers": "~13.6.0-prerelease.6",
61
+ "@o3r/build-helpers": "~13.6.0-prerelease.7",
62
+ "@o3r/eslint-plugin": "~13.6.0-prerelease.7",
63
+ "@o3r/telemetry": "~13.6.0-prerelease.7",
64
+ "@o3r/test-helpers": "~13.6.0-prerelease.7",
65
65
  "@stylistic/eslint-plugin": "~5.6.0",
66
66
  "@types/jest": "~30.0.0",
67
67
  "@types/js-yaml": "^4.0.5",
package/src/main.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  /* eslint-disable no-console -- required for CLI feedback */
3
- import { DEFAULT_MANIFEST_FILENAMES, getLogger, installDependencies,
3
+ import { DEFAULT_MANIFEST_FILENAMES, generateValidationSchemaFiles, getLogger, installDependencies,
4
4
  // eslint-disable-next-line import/no-unresolved -- Cannot resolve mjs file in current setup (see #3738)
5
5
  } from '@ama-openapi/core';
6
6
  import yargs from 'yargs';
@@ -14,14 +14,31 @@ void yargs(hideBin(process.argv))
14
14
  choices: logLevels,
15
15
  description: 'Determine the level of logs to display',
16
16
  default: 'error'
17
+ })
18
+ .command('generate-schema', 'Generate the schema that can be used for configuration auto completion', (yargsInstance) => {
19
+ return yargsInstance
20
+ .option('output', {
21
+ type: 'string',
22
+ alias: 'o',
23
+ description: 'Output directory where generating the schemas'
24
+ });
25
+ }, async (args) => {
26
+ const logger = args.logLevel === 'silent' ? undefined : getLogger(args.logLevel, console);
27
+ try {
28
+ await generateValidationSchemaFiles(process.cwd(), { logger, outputDirectory: args.output });
29
+ }
30
+ catch (e) {
31
+ (logger?.error ?? console.error)(e);
32
+ process.exit(1);
33
+ }
17
34
  })
18
35
  .command('install', 'Install the OpenAPI specifications from manifest files', () => { }, async (args) => {
36
+ const logger = args.logLevel === 'silent' ? undefined : getLogger(args.logLevel, console);
19
37
  try {
20
- const logger = args.logLevel === 'silent' ? undefined : getLogger(args.logLevel, console);
21
38
  await installDependencies(process.cwd(), { logger });
22
39
  }
23
40
  catch (e) {
24
- console.error(e);
41
+ (logger?.error ?? console.error)(e);
25
42
  process.exit(1);
26
43
  }
27
44
  })
package/src/main.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.mjs","sourceRoot":"","sources":["../../src/main.mts"],"names":[],"mappings":";AAEA,4DAA4D;AAE5D,OAAO,EACL,0BAA0B,EAC1B,SAAS,EACT,mBAAmB;AAEnB,wGAAwG;EACzG,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,OAAO,GACR,MAAM,eAAe,CAAC;AAEvB,4BAA4B;AAC5B,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAA+B,CAAC;AAE7F,KAAK,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KAC9B,MAAM,CAAC,WAAW,EAAE;IACnB,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,GAAG;IACV,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,wCAAwC;IACrD,OAAO,EAAE,OAAO;CACjB,CAAC;KACD,OAAO,CAAC,SAAS,EAAE,wDAAwD,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;IACrG,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAoB,EAAE,OAAO,CAAC,CAAC;QACtG,MAAM,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;KACD,OAAO,CAAC,OAAO,EAAE,6EAA6E,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;IACxH,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAoB,EAAE,OAAO,CAAC,CAAC;IAEtG,OAAO,IAAI,OAAO,CAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;QAC5C,KAAK,CAAC,CAAC,GAAG,0BAA0B,CAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;aACzG,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACxB,MAAM,EAAE,IAAI,CAAC,sBAAsB,IAAI,8BAA8B,CAAC,CAAC;YACvE,IAAI,CAAC;gBACH,MAAM,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACvD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,EAAE,KAAK,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,CAAC;aACD,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACrB,MAAM,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;YACxC,MAAM,CAAC,KAAc,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;KACD,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"main.mjs","sourceRoot":"","sources":["../../src/main.mts"],"names":[],"mappings":"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"}