@axinom/mosaic-cli 0.26.0 → 0.27.0-rc.1

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/cli/index.js CHANGED
@@ -30,7 +30,7 @@ const run = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
30
30
  //adding cli extensions:
31
31
  yield Promise.all((0, create_extension_config_1.getExtensions)().map((library) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
32
32
  try {
33
- const { cliExtension } = yield Promise.resolve(`${library}`).then(s => require(s));
33
+ const { cliExtension } = yield import(library);
34
34
  if (cliExtension) {
35
35
  cliExtension().map((cmd) => {
36
36
  yargs.command(cmd);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;;AAAA,+BAA+B;AAC/B,iEAA6D;AAC7D,iFAG6C;AAC7C,mEAA8D;AAC9D,2DAAuD;AACvD,iDAA8C;AAC9C,yDAAqD;AACrD,mDAA+C;AAC/C,iDAA6C;AAC7C,2EAAqE;AACrE,iEAA6D;AAEtD,MAAM,GAAG,GAAG,GAAwB,EAAE;IAC3C,KAAK;SACF,UAAU,CAAC,QAAQ,CAAC;SACpB,GAAG,EAAE;SACL,OAAO,CAAC,gCAAc,CAAC;SACvB,OAAO,CAAC,iCAAc,CAAC;SACvB,OAAO,CAAC,wCAAiB,CAAC;SAC1B,OAAO,CAAC,gBAAM,CAAC;SACf,OAAO,CAAC,wBAAU,CAAC;SACnB,OAAO,CAAC,kBAAO,CAAC;SAChB,OAAO,CAAC,sDAA4B,CAAC;SACrC,OAAO,CAAC,0BAAW,CAAC;SACpB,OAAO,CAAC,iBAAO,CAAC;SAChB,OAAO,CAAC,gCAAc,CAAC,CAAC;IAE3B,wBAAwB;IACxB,MAAM,OAAO,CAAC,GAAG,CACf,IAAA,uCAAa,GAAE,CAAC,GAAG,CAAC,CAAO,OAAO,EAAE,EAAE;QACpC,IAAI;YACF,MAAM,EAAE,YAAY,EAAE,GAAG,yBAAa,OAAO,yBAAC,CAAC;YAC/C,IAAI,YAAY,EAAE;gBAChB,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBACzB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC,CAAC,CAAC;aACJ;SACF;QAAC,OAAO,KAAK,EAAE;YACd,gEAAgE;SACjE;IACH,CAAC,CAAA,CAAC,CACH,CAAC;IAEF,KAAK;SACF,aAAa,EAAE;SACf,IAAI,EAAE;SACN,MAAM,CAAC,wDAAwD,CAAC,CAAC,IAAI,CAAC;AAC3E,CAAC,CAAA,CAAC;AAnCW,QAAA,GAAG,OAmCd"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;;AAAA,+BAA+B;AAC/B,iEAA6D;AAC7D,iFAG6C;AAC7C,mEAA8D;AAC9D,2DAAuD;AACvD,iDAA8C;AAC9C,yDAAqD;AACrD,mDAA+C;AAC/C,iDAA6C;AAC7C,2EAAqE;AACrE,iEAA6D;AAEtD,MAAM,GAAG,GAAG,GAAwB,EAAE;IAC3C,KAAK;SACF,UAAU,CAAC,QAAQ,CAAC;SACpB,GAAG,EAAE;SACL,OAAO,CAAC,gCAAc,CAAC;SACvB,OAAO,CAAC,iCAAc,CAAC;SACvB,OAAO,CAAC,wCAAiB,CAAC;SAC1B,OAAO,CAAC,gBAAM,CAAC;SACf,OAAO,CAAC,wBAAU,CAAC;SACnB,OAAO,CAAC,kBAAO,CAAC;SAChB,OAAO,CAAC,sDAA4B,CAAC;SACrC,OAAO,CAAC,0BAAW,CAAC;SACpB,OAAO,CAAC,iBAAO,CAAC;SAChB,OAAO,CAAC,gCAAc,CAAC,CAAC;IAE3B,wBAAwB;IACxB,MAAM,OAAO,CAAC,GAAG,CACf,IAAA,uCAAa,GAAE,CAAC,GAAG,CAAC,CAAO,OAAO,EAAE,EAAE;QACpC,IAAI;YACF,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,YAAY,EAAE;gBAChB,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBACzB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC,CAAC,CAAC;aACJ;SACF;QAAC,OAAO,KAAK,EAAE;YACd,gEAAgE;SACjE;IACH,CAAC,CAAA,CAAC,CACH,CAAC;IAEF,KAAK;SACF,aAAa,EAAE;SACf,IAAI,EAAE;SACN,MAAM,CAAC,wDAAwD,CAAC,CAAC,IAAI,CAAC;AAC3E,CAAC,CAAA,CAAC;AAnCW,QAAA,GAAG,OAmCd"}
@@ -66,7 +66,7 @@ const createExtensionConfig = () => tslib_1.__awaiter(void 0, void 0, void 0, fu
66
66
  yield Promise.all(installedMosaicLibs.map((lib) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
67
67
  //filter libraries, that have cli extension
68
68
  try {
69
- const result = yield Promise.resolve(`${lib}`).then(s => require(s));
69
+ const result = yield import(lib);
70
70
  if (result.cliExtension) {
71
71
  extensions.push(lib);
72
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-extension-config.js","sourceRoot":"","sources":["../../../src/commands/create-extension-config/create-extension-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-extension-config.js","sourceRoot":"","sources":["../../../src/commands/create-extension-config/create-extension-config.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.lint = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const spectral_1 = require("@stoplight/spectral");
5
+ const spectral_core_1 = require("@stoplight/spectral-core");
6
+ const Parsers = require("@stoplight/spectral-parsers");
7
+ const with_loader_1 = require("@stoplight/spectral-ruleset-bundler/with-loader");
8
+ const spectral_runtime_1 = require("@stoplight/spectral-runtime");
6
9
  const fs = require("fs");
7
10
  const glob = require("glob");
8
11
  const path = require("path");
@@ -10,10 +13,8 @@ function lint(options) {
10
13
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
11
14
  console.log(`Linting schemas at ${options.inputDir}.`);
12
15
  // Configure Spectral
13
- const spectral = new spectral_1.Spectral({});
14
- spectral.registerFormat('json-schema-loose', spectral_1.isJSONSchemaLoose);
15
- spectral.registerFormat('json-schema-draft4', spectral_1.isJSONSchemaDraft4);
16
- spectral.loadRuleset(getRuleset(options));
16
+ const spectral = new spectral_core_1.Spectral({});
17
+ spectral.setRuleset(yield getRuleset(options));
17
18
  let lintingErrors = false;
18
19
  // Find JSON schemas and lint
19
20
  const schemas = glob.sync(path.join(options.inputDir, '/**/*.json'), {
@@ -25,7 +26,7 @@ function lint(options) {
25
26
  }
26
27
  for (const schema of schemas) {
27
28
  // console.log(schema);
28
- const document = new spectral_1.Document(fs.readFileSync(schema, 'utf-8'), spectral_1.Parsers.Json, schema);
29
+ const document = new spectral_core_1.Document(fs.readFileSync(schema, 'utf-8'), Parsers.Json, schema);
29
30
  const results = yield spectral.run(document);
30
31
  const errors = results.filter((r) => r.severity === 0);
31
32
  if (errors.length > 0) {
@@ -47,21 +48,24 @@ function lint(options) {
47
48
  }
48
49
  exports.lint = lint;
49
50
  function getRuleset(options) {
50
- // This has to be an abs path, otherwise Spectral will fall back to network resolution.
51
- let ruleset;
52
- if (!options.rulesetPath) {
53
- console.log('No ruleset path provided, trying to find one in the input directory.');
54
- const defaultRuleset = path.resolve(options.inputDir, '.spectral.yaml');
55
- if (!fs.existsSync(defaultRuleset)) {
56
- console.log(`Could not find default ruleset at ${defaultRuleset}, exiting.`);
57
- process.exit(1);
51
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
52
+ // This has to be an abs path, otherwise Spectral will fall back to network resolution.
53
+ let rulesetPath;
54
+ if (!options.rulesetPath) {
55
+ console.log('No ruleset path provided, trying to find one in the input directory.');
56
+ const defaultRulesetPath = path.resolve(options.inputDir, '.spectral.yaml');
57
+ if (!fs.existsSync(defaultRulesetPath)) {
58
+ console.log(`Could not find default ruleset at ${defaultRulesetPath}, exiting.`);
59
+ process.exit(1);
60
+ }
61
+ rulesetPath = defaultRulesetPath;
58
62
  }
59
- ruleset = defaultRuleset;
60
- }
61
- else {
62
- ruleset = path.resolve(options.rulesetPath);
63
- }
64
- console.log(`Using ruleset ${ruleset}`);
65
- return ruleset;
63
+ else {
64
+ rulesetPath = path.resolve(options.rulesetPath);
65
+ }
66
+ console.log(`Using ruleset ${rulesetPath}`);
67
+ const ruleset = yield (0, with_loader_1.bundleAndLoadRuleset)(rulesetPath, { fs, fetch: spectral_runtime_1.fetch });
68
+ return ruleset;
69
+ });
66
70
  }
67
71
  //# sourceMappingURL=lint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lint.js","sourceRoot":"","sources":["../../../src/commands/msg-codegen/lint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lint.js","sourceRoot":"","sources":["../../../src/commands/msg-codegen/lint.ts"],"names":[],"mappings":";;;;AAAA,4DAAuE;AACvE,uDAAuD;AACvD,iFAAuF;AACvF,kEAAoD;AACpD,yBAAyB;AACzB,6BAA6B;AAC7B,6BAA6B;AAG7B,SAAsB,IAAI,CAAC,OAA8B;;QACvD,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QAEvD,qBAAqB;QACrB,MAAM,QAAQ,GAAG,IAAI,wBAAQ,CAAC,EAAE,CAAC,CAAC;QAClC,QAAQ,CAAC,UAAU,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QAE/C,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,6BAA6B;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE;YACnE,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACxB,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;QAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,uBAAuB;YACvB,MAAM,QAAQ,GAAG,IAAI,wBAAQ,CAC3B,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,CAAC,IAAI,EACZ,MAAM,CACP,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC;YACvD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrB,aAAa,GAAG,IAAI,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,GAAG,CAAC,CAAC;gBACvC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oBACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBAChC,CAAC,CAAC,CAAC;aACJ;SACF;QAED,IAAI,aAAa,EAAE;YACjB,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;SACzC;IACH,CAAC;CAAA;AA1CD,oBA0CC;AAED,SAAe,UAAU,CAAC,OAA8B;;QACtD,uFAAuF;QACvF,IAAI,WAAmB,CAAC;QAExB,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;YACxB,OAAO,CAAC,GAAG,CACT,sEAAsE,CACvE,CAAC;YAEF,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YAE5E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE;gBACtC,OAAO,CAAC,GAAG,CACT,qCAAqC,kBAAkB,YAAY,CACpE,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACjB;YACD,WAAW,GAAG,kBAAkB,CAAC;SAClC;aAAM;YACL,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SACjD;QAED,OAAO,CAAC,GAAG,CAAC,iBAAiB,WAAW,EAAE,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,IAAA,kCAAoB,EAAC,WAAW,EAAE,EAAE,EAAE,EAAE,KAAK,EAAL,wBAAK,EAAE,CAAC,CAAC;QAEvE,OAAO,OAAO,CAAC;IACjB,CAAC;CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@axinom/mosaic-cli",
3
- "version": "0.26.0",
3
+ "version": "0.27.0-rc.1",
4
4
  "description": "The Axinom Mosaic CLI",
5
5
  "author": "Axinom",
6
6
  "license": "PROPRIETARY",
@@ -33,10 +33,12 @@
33
33
  "@asyncapi/diff": "^0.4.1",
34
34
  "@asyncapi/modelina": "^1.8.4",
35
35
  "@asyncapi/parser": "^2.0.2",
36
- "@axinom/mosaic-id-link-be": "^0.14.0",
37
- "@axinom/mosaic-service-common": "^0.42.0",
36
+ "@axinom/mosaic-id-link-be": "^0.15.0-rc.1",
37
+ "@axinom/mosaic-service-common": "^0.43.0-rc.1",
38
38
  "@graphql-inspector/core": "^3.1.2",
39
- "@stoplight/spectral": "^5.9.1",
39
+ "@stoplight/spectral-core": "^1.18.3",
40
+ "@stoplight/spectral-parsers": "^1.0.3",
41
+ "@stoplight/spectral-ruleset-bundler": "^1.5.2",
40
42
  "axios": "^0.19.2",
41
43
  "chalk": "^4.1.0",
42
44
  "diff": "^5.0.0",
@@ -68,5 +70,5 @@
68
70
  "publishConfig": {
69
71
  "access": "public"
70
72
  },
71
- "gitHead": "0c8299033a74654630f75dc8ccde5e5594cc14f1"
73
+ "gitHead": "77b807466fa307f1b992b4d7f538070d91ebb073"
72
74
  }
@@ -1,10 +1,7 @@
1
- import {
2
- Document,
3
- isJSONSchemaDraft4,
4
- isJSONSchemaLoose,
5
- Parsers,
6
- Spectral,
7
- } from '@stoplight/spectral';
1
+ import { Document, Ruleset, Spectral } from '@stoplight/spectral-core';
2
+ import * as Parsers from '@stoplight/spectral-parsers';
3
+ import { bundleAndLoadRuleset } from '@stoplight/spectral-ruleset-bundler/with-loader';
4
+ import { fetch } from '@stoplight/spectral-runtime';
8
5
  import * as fs from 'fs';
9
6
  import * as glob from 'glob';
10
7
  import * as path from 'path';
@@ -15,9 +12,7 @@ export async function lint(options: MessageCodegenOptions): Promise<void> {
15
12
 
16
13
  // Configure Spectral
17
14
  const spectral = new Spectral({});
18
- spectral.registerFormat('json-schema-loose', isJSONSchemaLoose);
19
- spectral.registerFormat('json-schema-draft4', isJSONSchemaDraft4);
20
- spectral.loadRuleset(getRuleset(options));
15
+ spectral.setRuleset(await getRuleset(options));
21
16
 
22
17
  let lintingErrors = false;
23
18
  // Find JSON schemas and lint
@@ -56,29 +51,30 @@ export async function lint(options: MessageCodegenOptions): Promise<void> {
56
51
  }
57
52
  }
58
53
 
59
- function getRuleset(options: MessageCodegenOptions): string {
54
+ async function getRuleset(options: MessageCodegenOptions): Promise<Ruleset> {
60
55
  // This has to be an abs path, otherwise Spectral will fall back to network resolution.
61
- let ruleset: string;
56
+ let rulesetPath: string;
62
57
 
63
58
  if (!options.rulesetPath) {
64
59
  console.log(
65
60
  'No ruleset path provided, trying to find one in the input directory.',
66
61
  );
67
62
 
68
- const defaultRuleset = path.resolve(options.inputDir, '.spectral.yaml');
63
+ const defaultRulesetPath = path.resolve(options.inputDir, '.spectral.yaml');
69
64
 
70
- if (!fs.existsSync(defaultRuleset)) {
65
+ if (!fs.existsSync(defaultRulesetPath)) {
71
66
  console.log(
72
- `Could not find default ruleset at ${defaultRuleset}, exiting.`,
67
+ `Could not find default ruleset at ${defaultRulesetPath}, exiting.`,
73
68
  );
74
69
  process.exit(1);
75
70
  }
76
- ruleset = defaultRuleset;
71
+ rulesetPath = defaultRulesetPath;
77
72
  } else {
78
- ruleset = path.resolve(options.rulesetPath);
73
+ rulesetPath = path.resolve(options.rulesetPath);
79
74
  }
80
75
 
81
- console.log(`Using ruleset ${ruleset}`);
76
+ console.log(`Using ruleset ${rulesetPath}`);
77
+ const ruleset = await bundleAndLoadRuleset(rulesetPath, { fs, fetch });
82
78
 
83
79
  return ruleset;
84
80
  }