Skip to content

Commit

Permalink
Merge branch 'master' into feat/add-metadata-remaining-commands
Browse files Browse the repository at this point in the history
  • Loading branch information
peter-rr authored Jun 4, 2024
2 parents ebac3da + 3c84634 commit 3c2205b
Show file tree
Hide file tree
Showing 6 changed files with 36 additions and 31 deletions.
5 changes: 5 additions & 0 deletions docs/metrics_collection.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,11 @@ We are making use of [New Relic API](https://docs.newrelic.com/docs/apis/intro-a

Metrics won't be collected in CI environments, or when the "CI" env variable is set up to "true".

The analytics config file will be store by default at your home directory. In case you prefer to change the file path then you should set the `ASYNCAPI_METRICS_CONFIG_PATH` env var to any specific path value when running any command. For instance:
````
ASYNCAPI_METRICS_CONFIG_PATH=/tmp/.asyncapi-analytics asyncapi config analytics --status
````

## How to disable tracking
To disable tracking, please run the following command:
`asyncapi config analytics --disable`
Expand Down
50 changes: 25 additions & 25 deletions docs/usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ $ npm install -g @asyncapi/cli
$ asyncapi COMMAND
running command...
$ asyncapi (--version)
@asyncapi/cli/1.15.3 linux-x64 node-v18.20.2
@asyncapi/cli/1.15.4 linux-x64 node-v18.20.3
$ asyncapi --help [COMMAND]
USAGE
$ asyncapi COMMAND
Expand Down Expand Up @@ -98,7 +98,7 @@ EXAMPLES
$ asyncapi bundle ./asyncapi.yaml -o final-asyncapi.yaml --base ../public-api/main.yaml --baseDir ./social-media/comments-service
```

_See code: [src/commands/bundle.ts](https://github.com/asyncapi/cli/blob/v1.15.3/src/commands/bundle.ts)_
_See code: [src/commands/bundle.ts](https://github.com/asyncapi/cli/blob/v1.15.4/src/commands/bundle.ts)_

## `asyncapi config`

Expand All @@ -112,7 +112,7 @@ DESCRIPTION
CLI config settings
```

_See code: [src/commands/config/index.ts](https://github.com/asyncapi/cli/blob/v1.15.3/src/commands/config/index.ts)_
_See code: [src/commands/config/index.ts](https://github.com/asyncapi/cli/blob/v1.15.4/src/commands/config/index.ts)_

## `asyncapi config analytics`

Expand All @@ -132,7 +132,7 @@ DESCRIPTION
Enable or disable analytics for metrics collection
```

_See code: [src/commands/config/analytics.ts](https://github.com/asyncapi/cli/blob/v1.15.3/src/commands/config/analytics.ts)_
_See code: [src/commands/config/analytics.ts](https://github.com/asyncapi/cli/blob/v1.15.4/src/commands/config/analytics.ts)_

## `asyncapi config context`

Expand All @@ -146,7 +146,7 @@ DESCRIPTION
Manage short aliases for full paths to AsyncAPI documents
```

_See code: [src/commands/config/context/index.ts](https://github.com/asyncapi/cli/blob/v1.15.3/src/commands/config/context/index.ts)_
_See code: [src/commands/config/context/index.ts](https://github.com/asyncapi/cli/blob/v1.15.4/src/commands/config/context/index.ts)_

## `asyncapi config context add CONTEXT-NAME SPEC-FILE-PATH`

Expand All @@ -168,7 +168,7 @@ DESCRIPTION
Add a context to the store
```

_See code: [src/commands/config/context/add.ts](https://github.com/asyncapi/cli/blob/v1.15.3/src/commands/config/context/add.ts)_
_See code: [src/commands/config/context/add.ts](https://github.com/asyncapi/cli/blob/v1.15.4/src/commands/config/context/add.ts)_

## `asyncapi config context current`

Expand All @@ -185,7 +185,7 @@ DESCRIPTION
Shows the current context that is being used
```

_See code: [src/commands/config/context/current.ts](https://github.com/asyncapi/cli/blob/v1.15.3/src/commands/config/context/current.ts)_
_See code: [src/commands/config/context/current.ts](https://github.com/asyncapi/cli/blob/v1.15.4/src/commands/config/context/current.ts)_

## `asyncapi config context edit CONTEXT-NAME NEW-SPEC-FILE-PATH`

Expand All @@ -206,7 +206,7 @@ DESCRIPTION
Edit a context in the store
```

_See code: [src/commands/config/context/edit.ts](https://github.com/asyncapi/cli/blob/v1.15.3/src/commands/config/context/edit.ts)_
_See code: [src/commands/config/context/edit.ts](https://github.com/asyncapi/cli/blob/v1.15.4/src/commands/config/context/edit.ts)_

## `asyncapi config context init [CONTEXT-FILE-PATH]`

Expand All @@ -229,7 +229,7 @@ DESCRIPTION
Initialize context
```

_See code: [src/commands/config/context/init.ts](https://github.com/asyncapi/cli/blob/v1.15.3/src/commands/config/context/init.ts)_
_See code: [src/commands/config/context/init.ts](https://github.com/asyncapi/cli/blob/v1.15.4/src/commands/config/context/init.ts)_

## `asyncapi config context list`

Expand All @@ -246,7 +246,7 @@ DESCRIPTION
List all the stored contexts in the store
```

_See code: [src/commands/config/context/list.ts](https://github.com/asyncapi/cli/blob/v1.15.3/src/commands/config/context/list.ts)_
_See code: [src/commands/config/context/list.ts](https://github.com/asyncapi/cli/blob/v1.15.4/src/commands/config/context/list.ts)_

## `asyncapi config context remove CONTEXT-NAME`

Expand All @@ -266,7 +266,7 @@ DESCRIPTION
Delete a context from the store
```

_See code: [src/commands/config/context/remove.ts](https://github.com/asyncapi/cli/blob/v1.15.3/src/commands/config/context/remove.ts)_
_See code: [src/commands/config/context/remove.ts](https://github.com/asyncapi/cli/blob/v1.15.4/src/commands/config/context/remove.ts)_

## `asyncapi config context use CONTEXT-NAME`

Expand All @@ -286,7 +286,7 @@ DESCRIPTION
Set a context as current
```

_See code: [src/commands/config/context/use.ts](https://github.com/asyncapi/cli/blob/v1.15.3/src/commands/config/context/use.ts)_
_See code: [src/commands/config/context/use.ts](https://github.com/asyncapi/cli/blob/v1.15.4/src/commands/config/context/use.ts)_

## `asyncapi config versions`

Expand All @@ -303,7 +303,7 @@ DESCRIPTION
Show versions of AsyncAPI tools used
```

_See code: [src/commands/config/versions.ts](https://github.com/asyncapi/cli/blob/v1.15.3/src/commands/config/versions.ts)_
_See code: [src/commands/config/versions.ts](https://github.com/asyncapi/cli/blob/v1.15.4/src/commands/config/versions.ts)_

## `asyncapi convert [SPEC-FILE]`

Expand All @@ -325,7 +325,7 @@ DESCRIPTION
Convert asyncapi documents older to newer versions
```

_See code: [src/commands/convert.ts](https://github.com/asyncapi/cli/blob/v1.15.3/src/commands/convert.ts)_
_See code: [src/commands/convert.ts](https://github.com/asyncapi/cli/blob/v1.15.4/src/commands/convert.ts)_

## `asyncapi diff OLD NEW`

Expand Down Expand Up @@ -365,7 +365,7 @@ DESCRIPTION
Find diff between two asyncapi files
```

_See code: [src/commands/diff.ts](https://github.com/asyncapi/cli/blob/v1.15.3/src/commands/diff.ts)_
_See code: [src/commands/diff.ts](https://github.com/asyncapi/cli/blob/v1.15.4/src/commands/diff.ts)_

## `asyncapi generate`

Expand All @@ -379,7 +379,7 @@ DESCRIPTION
Generate typed models or other things like clients, applications or docs using AsyncAPI Generator templates.
```

_See code: [src/commands/generate/index.ts](https://github.com/asyncapi/cli/blob/v1.15.3/src/commands/generate/index.ts)_
_See code: [src/commands/generate/index.ts](https://github.com/asyncapi/cli/blob/v1.15.4/src/commands/generate/index.ts)_

## `asyncapi generate fromTemplate ASYNCAPI TEMPLATE`

Expand Down Expand Up @@ -423,7 +423,7 @@ EXAMPLES
$ asyncapi generate fromTemplate asyncapi.yaml @asyncapi/html-template --param version=1.0.0 singleFile=true --output ./docs --force-write
```

_See code: [src/commands/generate/fromTemplate.ts](https://github.com/asyncapi/cli/blob/v1.15.3/src/commands/generate/fromTemplate.ts)_
_See code: [src/commands/generate/fromTemplate.ts](https://github.com/asyncapi/cli/blob/v1.15.4/src/commands/generate/fromTemplate.ts)_

## `asyncapi generate models LANGUAGE FILE`

Expand Down Expand Up @@ -491,7 +491,7 @@ DESCRIPTION
Generates typed models
```

_See code: [src/commands/generate/models.ts](https://github.com/asyncapi/cli/blob/v1.15.3/src/commands/generate/models.ts)_
_See code: [src/commands/generate/models.ts](https://github.com/asyncapi/cli/blob/v1.15.4/src/commands/generate/models.ts)_

## `asyncapi new`

Expand Down Expand Up @@ -548,7 +548,7 @@ EXAMPLES
$ asyncapi new --file-name=my-asyncapi.yml --example=default-example.yml --no-tty - create a new file with a specific name, using one of the examples and without interactive mode
```

_See code: [src/commands/new/index.ts](https://github.com/asyncapi/cli/blob/v1.15.3/src/commands/new/index.ts)_
_See code: [src/commands/new/index.ts](https://github.com/asyncapi/cli/blob/v1.15.4/src/commands/new/index.ts)_

## `asyncapi new file`

Expand Down Expand Up @@ -605,7 +605,7 @@ EXAMPLES
$ asyncapi new --file-name=my-asyncapi.yml --example=default-example.yml --no-tty - create a new file with a specific name, using one of the examples and without interactive mode
```

_See code: [src/commands/new/file.ts](https://github.com/asyncapi/cli/blob/v1.15.3/src/commands/new/file.ts)_
_See code: [src/commands/new/file.ts](https://github.com/asyncapi/cli/blob/v1.15.4/src/commands/new/file.ts)_

## `asyncapi new glee`

Expand All @@ -627,7 +627,7 @@ DESCRIPTION
Creates a new Glee project
```

_See code: [src/commands/new/glee.ts](https://github.com/asyncapi/cli/blob/v1.15.3/src/commands/new/glee.ts)_
_See code: [src/commands/new/glee.ts](https://github.com/asyncapi/cli/blob/v1.15.4/src/commands/new/glee.ts)_

## `asyncapi optimize [SPEC-FILE]`

Expand Down Expand Up @@ -665,7 +665,7 @@ EXAMPLES
$ asyncapi optimize ./asyncapi.yaml --optimization=remove-components --output=terminal --no-tty
```

_See code: [src/commands/optimize.ts](https://github.com/asyncapi/cli/blob/v1.15.3/src/commands/optimize.ts)_
_See code: [src/commands/optimize.ts](https://github.com/asyncapi/cli/blob/v1.15.4/src/commands/optimize.ts)_

## `asyncapi start`

Expand All @@ -679,7 +679,7 @@ DESCRIPTION
Start asyncapi studio
```

_See code: [src/commands/start/index.ts](https://github.com/asyncapi/cli/blob/v1.15.3/src/commands/start/index.ts)_
_See code: [src/commands/start/index.ts](https://github.com/asyncapi/cli/blob/v1.15.4/src/commands/start/index.ts)_

## `asyncapi start studio`

Expand All @@ -698,7 +698,7 @@ DESCRIPTION
starts a new local instance of Studio
```

_See code: [src/commands/start/studio.ts](https://github.com/asyncapi/cli/blob/v1.15.3/src/commands/start/studio.ts)_
_See code: [src/commands/start/studio.ts](https://github.com/asyncapi/cli/blob/v1.15.4/src/commands/start/studio.ts)_

## `asyncapi validate [SPEC-FILE]`

Expand Down Expand Up @@ -726,5 +726,5 @@ DESCRIPTION
validate asyncapi file
```

_See code: [src/commands/validate.ts](https://github.com/asyncapi/cli/blob/v1.15.3/src/commands/validate.ts)_
_See code: [src/commands/validate.ts](https://github.com/asyncapi/cli/blob/v1.15.4/src/commands/validate.ts)_
<!-- commandsstop -->
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@asyncapi/cli",
"description": "All in one CLI for all AsyncAPI tools",
"version": "1.15.4",
"version": "1.16.0",
"author": "@asyncapi",
"bin": {
"asyncapi": "./bin/run_bin"
Expand Down
2 changes: 1 addition & 1 deletion src/base.ts
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ export default abstract class extends Command {

async recorderFromEnv(prefix: string): Promise<Recorder> {
let sink: Sink = new DiscardSink();
const analyticsConfigFile = join(homedir(), '.asyncapi-analytics');
const analyticsConfigFile = process.env.ASYNCAPI_METRICS_CONFIG_PATH || join(homedir(), '.asyncapi-analytics');

if (!existsSync(analyticsConfigFile)) {
await writeFile(analyticsConfigFile, JSON.stringify({ analyticsEnabled: 'true', infoMessageShown: 'false', userID: uuidv4()}), { encoding: 'utf8' });
Expand Down
4 changes: 2 additions & 2 deletions src/commands/config/analytics.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ export default class Analytics extends Command {

async run() {
const { flags } = await this.parse(Analytics);
const analyticsConfigFile = join(homedir(), '.asyncapi-analytics');
const analyticsConfigFile = process.env.ASYNCAPI_METRICS_CONFIG_PATH || join(homedir(), '.asyncapi-analytics');

try {
const analyticsConfigFileContent = JSON.parse(await readFile(resolve(analyticsConfigFile), { encoding: 'utf8' }));
Expand Down Expand Up @@ -48,7 +48,7 @@ export default class Analytics extends Command {
} catch (e: any) {
switch (e.code) {
case 'ENOENT':
this.error(`Unable to access the analytics configuration file. We tried to access the ".asyncapi-analytics" file in your user's home directory ("${homedir()}") but the file could not be found.`);
this.error(`Unable to access the analytics configuration file. We tried to access the ".asyncapi-analytics" file in in the path "${analyticsConfigFile}" but the file could not be found.`);
break;
case 'EEXIST':
this.error(`Unable to update the analytics configuration file. We tried to update your ".asyncapi-analytics" file in the path "${analyticsConfigFile}" but the file does not exist.`);
Expand Down

0 comments on commit 3c2205b

Please sign in to comment.