@supernovaio/cli-next 2.0.2 → 2.0.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/bin/run CHANGED
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import {execute, handle} from '@oclif/core'
4
- import * as Sentry from '@sentry/node'
5
- import {nodeProfilingIntegration} from '@sentry/profiling-node'
6
- import dotenv from 'dotenv'
3
+ import { execute, handle } from "@oclif/core"
4
+ import * as Sentry from "@sentry/node"
5
+ import { nodeProfilingIntegration } from "@sentry/profiling-node"
6
+ import dotenv from "dotenv"
7
7
 
8
8
  // Load environment variables from .env file
9
9
  dotenv.config()
10
10
 
11
- const SENSITIVE_KEYS = new Set(['password', 'secret', 'token'])
11
+ const SENSITIVE_KEYS = new Set(["password", "secret", "token"])
12
12
 
13
- const sanitizeEvent = (event) => {
13
+ const sanitizeEvent = event => {
14
14
  if (event.request?.data) {
15
15
  event.request.data = maskValues(event.request.data)
16
16
  }
@@ -18,7 +18,7 @@ const sanitizeEvent = (event) => {
18
18
  return event
19
19
  }
20
20
 
21
- const sanitizeBreadcrumb = (breadcrumb) => {
21
+ const sanitizeBreadcrumb = breadcrumb => {
22
22
  if (breadcrumb.data) {
23
23
  breadcrumb.data = maskValues(breadcrumb.data)
24
24
  }
@@ -27,9 +27,9 @@ const sanitizeBreadcrumb = (breadcrumb) => {
27
27
  }
28
28
 
29
29
  // eslint-disable-next-line unicorn/no-array-reduce
30
- const maskValues = (obj) =>
30
+ const maskValues = obj =>
31
31
  Object.keys(obj).reduce((acc, key) => {
32
- acc[key] = SENSITIVE_KEYS.has(key) ? '[REDACTED]' : obj[key]
32
+ acc[key] = SENSITIVE_KEYS.has(key) ? "[REDACTED]" : obj[key]
33
33
  return acc
34
34
  }, {})
35
35
 
@@ -44,14 +44,14 @@ Sentry.init({
44
44
  return sanitizeEvent(transaction)
45
45
  },
46
46
  debug: false,
47
- dsn: 'https://9d6591df6378a22920996bd4d12722e3@o337704.ingest.us.sentry.io/4508840260730880',
48
- ignoreErrors: ['NotAuthorizedError'],
47
+ dsn: "https://9d6591df6378a22920996bd4d12722e3@o337704.ingest.us.sentry.io/4508840260730880",
48
+ ignoreErrors: ["NotAuthorizedError"],
49
49
  integrations: [nodeProfilingIntegration()],
50
50
  profilesSampleRate: 1,
51
51
  tracesSampleRate: 1,
52
52
  })
53
53
 
54
- await Sentry.startSpan({name: 'cli', forceTransaction: true}, () =>
55
- execute({dir: import.meta.url}).catch((err) => handle(err)),
54
+ await Sentry.startSpan({ name: "cli", forceTransaction: true }, () =>
55
+ execute({ dir: import.meta.url }).catch(err => handle(err)),
56
56
  )
57
57
  await Sentry.flush(1000)
@@ -6,7 +6,7 @@ export class SentryCommand extends BaseCommand {
6
6
  super(argv, config);
7
7
  }
8
8
  async catch(error) {
9
- this.logToStderr(error.toString());
9
+ this.logToStderr(error.message);
10
10
  if (error.oclif) {
11
11
  throw error;
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sentry-command.js","sourceRoot":"","sources":["../../src/types/sentry-command.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAE9D,MAAM,OAAgB,aAAgC,SAAQ,WAAc;IAC1E,YAAsB,IAAc,EAAE,MAAc;QAClD,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAkD;QAC5D,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;QAClC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,KAAK,CAAA;QACb,CAAC;QAED,IAAI,KAAK,YAAY,kBAAkB,EAAE,CAAC;YACxC,MAAM,KAAK,CAAA;QACb,CAAC;QAED,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;QAC9B,IAAI,CAAC,WAAW,CAAC,+CAA+C,CAAC,CAAA;IACnE,CAAC;IAED,KAAK,CAAC,OAAO,KAAI,CAAC;IAEX,KAAK,CAAC,KAAK,CAChB,OAAwB,EACxB,IAAe;QAEf,MAAM,CAAC,aAAa,CAAC;YACnB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE;gBACJ,WAAW,EAAE,IAAI,CAAC,EAAE;aACrB;YACD,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,wBAAwB;SAClC,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,EAAE,CAAA;QACnC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,aAAa,CAAC;gBACjB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC9B,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc;gBAC3C,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAChC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW;aACtC,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,CAAC,aAAa,CAAC;YACnB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE;gBACJ,MAAM,EAAE,SAAS;aAClB;YACD,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,yBAAyB;SACnC,CAAC,CAAA;QAEF,OAAO,MAAM,CAAA;IACf,CAAC;CACF","sourcesContent":["import { Config } from \"@oclif/core/config\"\nimport { CommandError, Input, ParserOutput } from \"@oclif/core/interfaces\"\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-expect-error\nimport { ArgOutput, FlagOutput } from \"@oclif/core/lib/interfaces/parser.js\"\nimport * as Sentry from \"@sentry/node\"\n\nimport { BaseCommand } from \"./base-command.js\"\nimport { NotAuthorizedError } from \"./not-authorized.error.js\"\n\nexport abstract class SentryCommand<T extends object> extends BaseCommand<T> {\n protected constructor(argv: string[], config: Config) {\n super(argv, config)\n }\n\n async catch(error: CommandError & { oclif?: { exit: number } }) {\n this.logToStderr(error.toString())\n if (error.oclif) {\n throw error\n }\n\n if (error instanceof NotAuthorizedError) {\n throw error\n }\n\n Sentry.captureException(error)\n this.logToStderr(`Something went wrong. Please try again later.`)\n }\n\n async finally() {}\n\n public async parse<F extends FlagOutput, B extends FlagOutput, A extends ArgOutput>(\n options?: Input<F, B, A>,\n argv?: string[],\n ): Promise<ParserOutput<F, B, A>> {\n Sentry.addBreadcrumb({\n category: \"command\",\n data: {\n commandName: this.id,\n },\n level: \"debug\",\n message: \"Starting command parse\",\n })\n\n const parsed = await super.parse(options, argv)\n const span = Sentry.getActiveSpan()\n if (span) {\n span.setAttributes({\n args: Object.keys(parsed.args),\n designSystemId: parsed.flags.designSystemId,\n flags: Object.keys(parsed.flags),\n workspaceId: parsed.flags.workspaceId,\n })\n }\n\n Sentry.addBreadcrumb({\n category: \"command\",\n data: {\n result: \"success\",\n },\n level: \"debug\",\n message: \"Command parse completed\",\n })\n\n return parsed\n }\n}\n"]}
1
+ {"version":3,"file":"sentry-command.js","sourceRoot":"","sources":["../../src/types/sentry-command.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAE9D,MAAM,OAAgB,aAAgC,SAAQ,WAAc;IAC1E,YAAsB,IAAc,EAAE,MAAc;QAClD,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAkD;QAC5D,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC/B,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,KAAK,CAAA;QACb,CAAC;QAED,IAAI,KAAK,YAAY,kBAAkB,EAAE,CAAC;YACxC,MAAM,KAAK,CAAA;QACb,CAAC;QAED,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;QAC9B,IAAI,CAAC,WAAW,CAAC,+CAA+C,CAAC,CAAA;IACnE,CAAC;IAED,KAAK,CAAC,OAAO,KAAI,CAAC;IAEX,KAAK,CAAC,KAAK,CAChB,OAAwB,EACxB,IAAe;QAEf,MAAM,CAAC,aAAa,CAAC;YACnB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE;gBACJ,WAAW,EAAE,IAAI,CAAC,EAAE;aACrB;YACD,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,wBAAwB;SAClC,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,EAAE,CAAA;QACnC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,aAAa,CAAC;gBACjB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC9B,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc;gBAC3C,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAChC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW;aACtC,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,CAAC,aAAa,CAAC;YACnB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE;gBACJ,MAAM,EAAE,SAAS;aAClB;YACD,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,yBAAyB;SACnC,CAAC,CAAA;QAEF,OAAO,MAAM,CAAA;IACf,CAAC;CACF","sourcesContent":["import { Config } from \"@oclif/core/config\"\nimport { CommandError, Input, ParserOutput } from \"@oclif/core/interfaces\"\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-expect-error\nimport { ArgOutput, FlagOutput } from \"@oclif/core/lib/interfaces/parser.js\"\nimport * as Sentry from \"@sentry/node\"\n\nimport { BaseCommand } from \"./base-command.js\"\nimport { NotAuthorizedError } from \"./not-authorized.error.js\"\n\nexport abstract class SentryCommand<T extends object> extends BaseCommand<T> {\n protected constructor(argv: string[], config: Config) {\n super(argv, config)\n }\n\n async catch(error: CommandError & { oclif?: { exit: number } }) {\n this.logToStderr(error.message)\n if (error.oclif) {\n throw error\n }\n\n if (error instanceof NotAuthorizedError) {\n throw error\n }\n\n Sentry.captureException(error)\n this.logToStderr(`Something went wrong. Please try again later.`)\n }\n\n async finally() {}\n\n public async parse<F extends FlagOutput, B extends FlagOutput, A extends ArgOutput>(\n options?: Input<F, B, A>,\n argv?: string[],\n ): Promise<ParserOutput<F, B, A>> {\n Sentry.addBreadcrumb({\n category: \"command\",\n data: {\n commandName: this.id,\n },\n level: \"debug\",\n message: \"Starting command parse\",\n })\n\n const parsed = await super.parse(options, argv)\n const span = Sentry.getActiveSpan()\n if (span) {\n span.setAttributes({\n args: Object.keys(parsed.args),\n designSystemId: parsed.flags.designSystemId,\n flags: Object.keys(parsed.flags),\n workspaceId: parsed.flags.workspaceId,\n })\n }\n\n Sentry.addBreadcrumb({\n category: \"command\",\n data: {\n result: \"success\",\n },\n level: \"debug\",\n message: \"Command parse completed\",\n })\n\n return parsed\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
1
  import { SupernovaApiClient } from "@supernova-studio/client";
2
- import { TargetEnv } from "../types/index.js";
2
+ import { TargetEnv } from "../types/login.js";
3
3
  export declare const getClient: (env?: TargetEnv, version?: string) => Promise<SupernovaApiClient>;
4
4
  //# sourceMappingURL=api-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/utils/api-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAG7D,OAAO,EAAiC,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAK5E,eAAO,MAAM,SAAS,GAAU,MAAK,SAA4B,EAAE,UAAU,MAAM,KAAG,OAAO,CAAC,kBAAkB,CAI/G,CAAA"}
1
+ {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/utils/api-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAG7D,OAAO,EAAoB,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAM/D,eAAO,MAAM,SAAS,GAAU,MAAK,SAA4B,EAAE,UAAU,MAAM,KAAG,OAAO,CAAC,kBAAkB,CAI/G,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { SupernovaApiClient } from "@supernova-studio/client";
2
2
  import { VaultService } from "../services/index.js";
3
- import { defaultTargetEnv } from "../types/index.js";
3
+ import { defaultTargetEnv } from "../types/login.js";
4
4
  import { environmentAPI } from "./network.js";
5
5
  const vaultService = new VaultService();
6
6
  export const getClient = async (env = defaultTargetEnv, version) => {
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/utils/api-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAA0B,MAAM,mBAAmB,CAAA;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAA;AAEvC,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,MAAiB,gBAAgB,EAAE,OAAgB,EAA+B,EAAE;IAClH,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;IAClE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAkB,EAAE,OAAO,CAAC,CAAC,CAAA;IACpE,OAAO,IAAI,kBAAkB,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;AACpE,CAAC,CAAA","sourcesContent":["import { SupernovaApiClient } from \"@supernova-studio/client\"\n\nimport { VaultService } from \"../services/index.js\"\nimport { defaultTargetEnv, Environment, TargetEnv } from \"../types/index.js\"\nimport { environmentAPI } from \"./network.js\"\n\nconst vaultService = new VaultService()\n\nexport const getClient = async (env: TargetEnv = defaultTargetEnv, version?: string): Promise<SupernovaApiClient> => {\n const { accessToken } = await vaultService.getTokensFromVault(env)\n const hostUrl = new URL(environmentAPI(env as Environment, version))\n return new SupernovaApiClient({ accessToken, host: hostUrl.host })\n}\n"]}
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/utils/api-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAa,MAAM,mBAAmB,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAA;AAEvC,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,MAAiB,gBAAgB,EAAE,OAAgB,EAA+B,EAAE;IAClH,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;IAClE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAkB,EAAE,OAAO,CAAC,CAAC,CAAA;IACpE,OAAO,IAAI,kBAAkB,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;AACpE,CAAC,CAAA","sourcesContent":["import { SupernovaApiClient } from \"@supernova-studio/client\"\n\nimport { VaultService } from \"../services/index.js\"\nimport { defaultTargetEnv, TargetEnv } from \"../types/login.js\"\nimport { Environment } from \"../types/types.js\"\nimport { environmentAPI } from \"./network.js\"\n\nconst vaultService = new VaultService()\n\nexport const getClient = async (env: TargetEnv = defaultTargetEnv, version?: string): Promise<SupernovaApiClient> => {\n const { accessToken } = await vaultService.getTokensFromVault(env)\n const hostUrl = new URL(environmentAPI(env as Environment, version))\n return new SupernovaApiClient({ accessToken, host: hostUrl.host })\n}\n"]}
@@ -530,5 +530,5 @@
530
530
  ]
531
531
  }
532
532
  },
533
- "version": "2.0.2"
533
+ "version": "2.0.4"
534
534
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@supernovaio/cli-next",
3
3
  "description": "Supernova.io Command Line Interface",
4
- "version": "2.0.2",
4
+ "version": "2.0.4",
5
5
  "author": "Supernova.io",
6
6
  "bin": {
7
7
  "supernova": "./bin/run"