spec-box-tms-sync 0.3.1 → 0.4.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.
Files changed (38) hide show
  1. package/README.md +17 -0
  2. package/dist/cli.js +2 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/markdown.d.ts +4 -0
  5. package/dist/commands/markdown.d.ts.map +1 -0
  6. package/dist/commands/markdown.js +21 -0
  7. package/dist/commands/markdown.js.map +1 -0
  8. package/dist/commands/sync.d.ts.map +1 -1
  9. package/dist/commands/sync.js +3 -15
  10. package/dist/commands/sync.js.map +1 -1
  11. package/dist/commands/validate-only.d.ts.map +1 -1
  12. package/dist/commands/validate-only.js +2 -13
  13. package/dist/commands/validate-only.js.map +1 -1
  14. package/dist/lib/config/index.d.ts +4 -0
  15. package/dist/lib/config/index.d.ts.map +1 -1
  16. package/dist/lib/config/index.js +16 -1
  17. package/dist/lib/config/index.js.map +1 -1
  18. package/dist/lib/config/models.d.ts +8 -1
  19. package/dist/lib/config/models.d.ts.map +1 -1
  20. package/dist/lib/config/models.js +5 -1
  21. package/dist/lib/config/models.js.map +1 -1
  22. package/dist/lib/markdown/build-index.d.ts +3 -0
  23. package/dist/lib/markdown/build-index.d.ts.map +1 -0
  24. package/dist/lib/markdown/build-index.js +23 -0
  25. package/dist/lib/markdown/build-index.js.map +1 -0
  26. package/dist/lib/markdown/feature-to-markdown.d.ts +3 -0
  27. package/dist/lib/markdown/feature-to-markdown.d.ts.map +1 -0
  28. package/dist/lib/markdown/feature-to-markdown.js +42 -0
  29. package/dist/lib/markdown/feature-to-markdown.js.map +1 -0
  30. package/dist/lib/markdown/index.d.ts +3 -0
  31. package/dist/lib/markdown/index.d.ts.map +1 -0
  32. package/dist/lib/markdown/index.js +37 -0
  33. package/dist/lib/markdown/index.js.map +1 -0
  34. package/dist/lib/validators/validator.d.ts +2 -1
  35. package/dist/lib/validators/validator.d.ts.map +1 -1
  36. package/dist/lib/validators/validator.js +5 -5
  37. package/dist/lib/validators/validator.js.map +1 -1
  38. package/package.json +1 -1
package/README.md CHANGED
@@ -257,6 +257,20 @@ describe('Главная страница', () => {
257
257
  - `@<attribute>` — значение указанного атрибута (идентификатор значения)
258
258
  - `$<attribute>` — значение указанного атрибута (человеко-понятное название)
259
259
 
260
+ ## Экспорт спецификаций в формате Markdown
261
+
262
+ Можно выполнить экспорт спецификаций в формате Markdown, по-умолчанию экспорт происходит в папку `docs` - значение можно переопределить в файле конфигурации
263
+
264
+ ```json
265
+ "markdown": {
266
+ "path": "documentation"
267
+ }
268
+ ```
269
+
270
+ Результат экспорта повторяет структуру папок спецификаций, ссылки заменяются на стандартные ссылки формата wiki `[[feature-path | $feature-code]]`.
271
+
272
+ Папку можно преобразовать в статический сайт с документацией при помощи [MkDocs](https://www.mkdocs.org)
273
+
260
274
  ## Формат конфига
261
275
 
262
276
  Ниже указаны все возможные параметры конфигурационного файла:
@@ -279,6 +293,9 @@ describe('Главная страница', () => {
279
293
  "tests/unit/**/*.spec.yml"
280
294
  ]
281
295
  },
296
+ "markdown": {
297
+ "path": "documentation"
298
+ },
282
299
  // настройки для сопоставления ФТ с отчетами jest
283
300
  "jest": {
284
301
  "reportPath": "jest-report.json", // путь к файлу с отчетом о выполнении тестов
package/dist/cli.js CHANGED
@@ -6,10 +6,12 @@ const helpers_1 = require("yargs/helpers");
6
6
  const sync_1 = require("./commands/sync");
7
7
  const upload_stat_1 = require("./commands/upload-stat");
8
8
  const validate_only_1 = require("./commands/validate-only");
9
+ const markdown_1 = require("./commands/markdown");
9
10
  (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
10
11
  .command(sync_1.cmdSync)
11
12
  .command(upload_stat_1.cmdUploadStat)
12
13
  .command(validate_only_1.cmdValidateOnly)
14
+ .command(markdown_1.cmdMarkdown)
13
15
  .option('config', {
14
16
  alias: 'c',
15
17
  type: 'string',
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AAAA,gEAAgC;AAChC,2CAAwC;AAExC,0CAA0C;AAC1C,wDAAuD;AACvD,4DAA2D;AAE3D,IAAA,eAAK,EAAC,IAAA,iBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KACzB,OAAO,CAAC,cAAO,CAAC;KAChB,OAAO,CAAC,2BAAa,CAAC;KACtB,OAAO,CAAC,+BAAe,CAAC;KACxB,MAAM,CAAC,QAAQ,EAAE;IAChB,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,aAAa;CAC3B,CAAC;KACD,OAAO,CAAC,YAAY,EAAE;IACrB,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,iBAAiB;CAC/B,CAAC;KACD,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AAAA,gEAAgC;AAChC,2CAAwC;AAExC,0CAA0C;AAC1C,wDAAuD;AACvD,4DAA2D;AAC3D,kDAAkD;AAElD,IAAA,eAAK,EAAC,IAAA,iBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KACzB,OAAO,CAAC,cAAO,CAAC;KAChB,OAAO,CAAC,2BAAa,CAAC;KACtB,OAAO,CAAC,+BAAe,CAAC;KACxB,OAAO,CAAC,sBAAW,CAAC;KACpB,MAAM,CAAC,QAAQ,EAAE;IAChB,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,aAAa;CAC3B,CAAC;KACD,OAAO,CAAC,YAAY,EAAE;IACrB,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,iBAAiB;CAC/B,CAAC;KACD,KAAK,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { CommandModule } from "yargs";
2
+ import { CommonOptions } from "../lib/utils";
3
+ export declare const cmdMarkdown: CommandModule<{}, CommonOptions>;
4
+ //# sourceMappingURL=markdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/commands/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAI7C,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,EAAE,EAAE,aAAa,CAuBxD,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cmdMarkdown = void 0;
4
+ const config_1 = require("../lib/config");
5
+ const markdown_1 = require("../lib/markdown");
6
+ exports.cmdMarkdown = {
7
+ command: 'markdown',
8
+ handler: async (args) => {
9
+ console.log('Export to Markdown');
10
+ const { config } = args;
11
+ const { yml, api, markdown, projectPath } = await (0, config_1.loadConfig)(config);
12
+ const { projectData, validationContext } = await (0, config_1.loadProject)(yml.metaPath, yml.files, projectPath);
13
+ validationContext.printReport();
14
+ if (validationContext.hasCriticalErrors) {
15
+ throw Error('Экспорт невозможен из-за наличия критических ошибок');
16
+ }
17
+ await (0, markdown_1.exportMarkdown)(projectData, (markdown === null || markdown === void 0 ? void 0 : markdown.path) || 'docs');
18
+ console.log(`Экспорт проекта ${api.project} завершен успешно`);
19
+ }
20
+ };
21
+ //# sourceMappingURL=markdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/commands/markdown.ts"],"names":[],"mappings":";;;AAGA,0CAAwD;AACxD,8CAAiD;AAEpC,QAAA,WAAW,GAAqC;IAC3D,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAClC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACxB,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,mBAAU,EAAC,MAAM,CAAC,CAAC;QAErE,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,MAAM,IAAA,oBAAW,EAC1D,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,KAAK,EACT,WAAW,CACZ,CAAC;QAGF,iBAAiB,CAAC,WAAW,EAAE,CAAC;QAChC,IAAI,iBAAiB,CAAC,iBAAiB,EAAE;YACvC,MAAM,KAAK,CAAC,qDAAqD,CAAC,CAAC;SACpE;QAED,MAAM,IAAA,yBAAc,EAAC,WAAW,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,KAAI,MAAM,CAAC,CAAC;QAE5D,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC;IACjE,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAU7C,eAAO,MAAM,OAAO,EAAE,aAAa,CAAC,EAAE,EAAE,aAAa,CAyCpD,CAAC"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAOtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,eAAO,MAAM,OAAO,EAAE,aAAa,CAAC,EAAE,EAAE,aAAa,CAkCpD,CAAC"}
@@ -1,30 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.cmdSync = void 0;
4
- const tslib_1 = require("tslib");
5
- const fast_glob_1 = tslib_1.__importDefault(require("fast-glob"));
6
4
  const config_1 = require("../lib/config");
7
- const yaml_1 = require("../lib/yaml");
8
- const upload_entities_1 = require("../lib/upload/upload-entities");
9
- const jest_1 = require("../lib/test-matcher/jest");
10
- const domain_1 = require("../lib/domain");
11
- const validators_1 = require("../lib/validators");
12
5
  const test_matcher_1 = require("../lib/test-matcher");
6
+ const jest_1 = require("../lib/test-matcher/jest");
13
7
  const junit_1 = require("../lib/test-matcher/junit");
8
+ const upload_entities_1 = require("../lib/upload/upload-entities");
14
9
  exports.cmdSync = {
15
10
  command: 'sync',
16
11
  handler: async (args) => {
17
12
  console.log('SYNC');
18
13
  const { config, prjversion: version } = args;
19
- const validationContext = new validators_1.Validator();
20
14
  const { yml, api, jest, JUnit, projectPath } = await (0, config_1.loadConfig)(config);
21
- const meta = await (0, config_1.loadMeta)(validationContext, yml.metaPath, projectPath);
22
- const files = await (0, fast_glob_1.default)(yml.files, { cwd: projectPath });
23
- const yamls = await Promise.all(files.map((path) => (0, yaml_1.loadYaml)(validationContext, path, projectPath)));
24
- const successYamls = new Array();
25
- yamls.forEach((yaml) => yaml && successYamls.push(yaml));
26
- const projectData = (0, domain_1.processYamlFiles)(successYamls, meta);
27
- validationContext.validate(projectData);
15
+ const { projectData, validationContext } = await (0, config_1.loadProject)(yml.metaPath, yml.files, projectPath);
28
16
  if (jest) {
29
17
  const jestReport = await (0, jest_1.loadJestReport)(jest.reportPath, projectPath);
30
18
  (0, test_matcher_1.applyTestReport)(validationContext, projectData, jestReport, jest.keys);
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":";;;;AACA,kEAA6B;AAG7B,0CAAqD;AACrD,sCAAiD;AACjD,mEAA+D;AAC/D,mDAA0D;AAC1D,0CAAiD;AACjD,kDAA8C;AAC9C,sDAAsD;AACtD,qDAA4D;AAE/C,QAAA,OAAO,GAAqC;IACvD,OAAO,EAAE,MAAM;IACf,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAC7C,MAAM,iBAAiB,GAAG,IAAI,sBAAS,EAAE,CAAC;QAC1C,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,mBAAU,EAAC,MAAM,CAAC,CAAC;QAExE,MAAM,IAAI,GAAG,MAAM,IAAA,iBAAQ,EAAC,iBAAiB,EAAE,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC1E,MAAM,KAAK,GAAG,MAAM,IAAA,mBAAI,EAAC,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;QAE1D,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,eAAQ,EAAC,iBAAiB,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CACpE,CAAC;QACF,MAAM,YAAY,GAAG,IAAI,KAAK,EAAY,CAAC;QAC3C,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEzD,MAAM,WAAW,GAAG,IAAA,yBAAgB,EAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACzD,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAExC,IAAI,IAAI,EAAE;YACR,MAAM,UAAU,GAAG,MAAM,IAAA,qBAAc,EAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YAEtE,IAAA,8BAAe,EAAC,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;SACxE;QAED,IAAI,KAAK,EAAE;YACT,MAAM,WAAW,GAAG,MAAM,IAAA,uBAAe,EAAC,KAAK,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YAEzE,IAAA,8BAAe,EAAC,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;SAC1E;QAED,iBAAiB,CAAC,WAAW,EAAE,CAAC;QAChC,IAAI,iBAAiB,CAAC,iBAAiB,EAAE;YACvC,MAAM,KAAK,CAAC,sDAAsD,CAAC,CAAC;SACrE;QAED,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,CAAC,OAAO,WAAW,OAAO,EAAE,CAAC,CAAC;QACjE,MAAM,IAAA,gCAAc,EAAC,WAAW,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC5C,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":";;;AAEA,0CAAwD;AACxD,sDAAsD;AACtD,mDAA0D;AAC1D,qDAA4D;AAC5D,mEAA+D;AAGlD,QAAA,OAAO,GAAqC;IACvD,OAAO,EAAE,MAAM;IACf,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAC7C,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,mBAAU,EAAC,MAAM,CAAC,CAAC;QAExE,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,MAAM,IAAA,oBAAW,EAC1D,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,KAAK,EACT,WAAW,CACZ,CAAC;QAEF,IAAI,IAAI,EAAE;YACR,MAAM,UAAU,GAAG,MAAM,IAAA,qBAAc,EAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YAEtE,IAAA,8BAAe,EAAC,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;SACxE;QAED,IAAI,KAAK,EAAE;YACT,MAAM,WAAW,GAAG,MAAM,IAAA,uBAAe,EAAC,KAAK,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YAEzE,IAAA,8BAAe,EAAC,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;SAC1E;QAED,iBAAiB,CAAC,WAAW,EAAE,CAAC;QAChC,IAAI,iBAAiB,CAAC,iBAAiB,EAAE;YACvC,MAAM,KAAK,CAAC,sDAAsD,CAAC,CAAC;SACrE;QAED,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,CAAC,OAAO,WAAW,OAAO,EAAE,CAAC,CAAC;QACjE,MAAM,IAAA,gCAAc,EAAC,WAAW,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC5C,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate-only.d.ts","sourceRoot":"","sources":["../../src/commands/validate-only.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAS7C,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,EAAE,EAAE,aAAa,CAmC5D,CAAC"}
1
+ {"version":3,"file":"validate-only.d.ts","sourceRoot":"","sources":["../../src/commands/validate-only.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAMtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,EAAE,EAAE,aAAa,CA2B5D,CAAC"}
@@ -2,26 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.cmdValidateOnly = void 0;
4
4
  const config_1 = require("../lib/config");
5
- const validators_1 = require("../lib/validators");
6
- const fast_glob_1 = require("fast-glob");
7
- const yaml_1 = require("../lib/yaml");
8
- const domain_1 = require("../lib/domain");
9
- const jest_1 = require("../lib/test-matcher/jest");
10
5
  const test_matcher_1 = require("../lib/test-matcher");
6
+ const jest_1 = require("../lib/test-matcher/jest");
11
7
  const junit_1 = require("../lib/test-matcher/junit");
12
8
  exports.cmdValidateOnly = {
13
9
  command: 'validate',
14
10
  handler: async (args) => {
15
11
  console.log('VALIDATION');
16
12
  const { yml, jest, JUnit, projectPath } = await (0, config_1.loadConfig)(args.config);
17
- const validationContext = new validators_1.Validator();
18
- const meta = await (0, config_1.loadMeta)(validationContext, yml.metaPath, projectPath);
19
- const files = await (0, fast_glob_1.glob)(yml.files, { cwd: projectPath });
20
- const yamls = await Promise.all(files.map((path) => (0, yaml_1.loadYaml)(validationContext, path, projectPath)));
21
- const successYamls = new Array();
22
- yamls.forEach((yaml) => yaml && successYamls.push(yaml));
23
- const projectData = (0, domain_1.processYamlFiles)(successYamls, meta);
24
- validationContext.validate(projectData);
13
+ const { projectData, validationContext } = await (0, config_1.loadProject)(yml.metaPath, yml.files, projectPath);
25
14
  if (jest) {
26
15
  const jestReport = await (0, jest_1.loadJestReport)(jest.reportPath, projectPath);
27
16
  (0, test_matcher_1.applyTestReport)(validationContext, projectData, jestReport, jest.keys);
@@ -1 +1 @@
1
- {"version":3,"file":"validate-only.js","sourceRoot":"","sources":["../../src/commands/validate-only.ts"],"names":[],"mappings":";;;AAEA,0CAAqD;AAErD,kDAA8C;AAC9C,yCAAiC;AACjC,sCAAiD;AACjD,0CAAiD;AACjD,mDAA0D;AAC1D,sDAAsD;AACtD,qDAA4D;AAE/C,QAAA,eAAe,GAAqC;IAC/D,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAE1B,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,mBAAU,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxE,MAAM,iBAAiB,GAAG,IAAI,sBAAS,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,MAAM,IAAA,iBAAQ,EAAC,iBAAiB,EAAE,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAE1E,MAAM,KAAK,GAAG,MAAM,IAAA,gBAAI,EAAC,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;QAE1D,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,eAAQ,EAAC,iBAAiB,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CACpE,CAAC;QACF,MAAM,YAAY,GAAG,IAAI,KAAK,EAAY,CAAC;QAC3C,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEzD,MAAM,WAAW,GAAG,IAAA,yBAAgB,EAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAEzD,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAExC,IAAI,IAAI,EAAE;YACR,MAAM,UAAU,GAAG,MAAM,IAAA,qBAAc,EAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YAEtE,IAAA,8BAAe,EAAC,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;SACxE;QAED,IAAI,KAAK,EAAE;YACT,MAAM,WAAW,GAAG,MAAM,IAAA,uBAAe,EAAC,KAAK,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YAEzE,IAAA,8BAAe,EAAC,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;SAC1E;QAED,iBAAiB,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"validate-only.js","sourceRoot":"","sources":["../../src/commands/validate-only.ts"],"names":[],"mappings":";;;AAEA,0CAAwD;AACxD,sDAAsD;AACtD,mDAA0D;AAC1D,qDAA4D;AAG/C,QAAA,eAAe,GAAqC;IAC/D,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAE1B,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,mBAAU,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAExE,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,MAAM,IAAA,oBAAW,EAC1D,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,KAAK,EACT,WAAW,CACZ,CAAC;QAEF,IAAI,IAAI,EAAE;YACR,MAAM,UAAU,GAAG,MAAM,IAAA,qBAAc,EAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YAEtE,IAAA,8BAAe,EAAC,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;SACxE;QAED,IAAI,KAAK,EAAE;YACT,MAAM,WAAW,GAAG,MAAM,IAAA,uBAAe,EAAC,KAAK,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YAEzE,IAAA,8BAAe,EAAC,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;SAC1E;QAED,iBAAiB,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;CACF,CAAC"}
@@ -8,4 +8,8 @@ export declare const loadMeta: (validationContext: Validator, path?: string, bas
8
8
  filePath: string;
9
9
  meta: Meta;
10
10
  }>;
11
+ export declare const loadProject: (metaPath: string | undefined, filePaths: string[], projectPath: string | undefined) => Promise<{
12
+ projectData: import("../domain").ProjectData;
13
+ validationContext: Validator;
14
+ }>;
11
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/config/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAc,MAAM,eAAe,CAAC;AAEtD,OAAO,EAAE,IAAI,EAAE,UAAU,EAA8B,MAAM,UAAU,CAAC;AAExE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAE3E,eAAO,MAAM,mBAAmB,cAAc,CAAC;AAC/C,eAAO,MAAM,iBAAiB,uBAAuB,CAAC;AAEtD,eAAO,MAAM,UAAU,qBAEpB,QAAQ,UAAU,CAOpB,CAAC;AAEF,eAAO,MAAM,QAAQ,sBACA,SAAS,SACrB,MAAM,aACH,MAAM;cACK,MAAM;UAAQ,IAAI;EAexC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/config/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAc,MAAM,eAAe,CAAC;AAEtD,OAAO,EAAE,IAAI,EAAE,UAAU,EAA8B,MAAM,UAAU,CAAC;AAIxE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAE3E,eAAO,MAAM,mBAAmB,cAAc,CAAC;AAC/C,eAAO,MAAM,iBAAiB,uBAAuB,CAAC;AAEtD,eAAO,MAAM,UAAU,qBAEpB,QAAQ,UAAU,CAOpB,CAAC;AAEF,eAAO,MAAM,QAAQ,sBACA,SAAS,SACrB,MAAM,aACH,MAAM;cACK,MAAM;UAAQ,IAAI;EAexC,CAAC;AAEF,eAAO,MAAM,WAAW,aACZ,MAAM,GAAG,SAAS,aACjB,MAAM,EAAE,eACN,MAAM,GAAG,SAAS;;;EAgBhC,CAAC"}
@@ -1,10 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loadMeta = exports.loadConfig = exports.DEFAULT_META_PATH = exports.DEFAULT_CONFIG_PATH = void 0;
3
+ exports.loadProject = exports.loadMeta = exports.loadConfig = exports.DEFAULT_META_PATH = exports.DEFAULT_CONFIG_PATH = void 0;
4
+ const fast_glob_1 = require("fast-glob");
4
5
  const utils_1 = require("../utils");
5
6
  const validators_1 = require("../validators");
6
7
  const validator_1 = require("../validators/validator");
7
8
  const models_1 = require("./models");
9
+ const yaml_1 = require("../yaml");
10
+ const domain_1 = require("../domain");
8
11
  exports.DEFAULT_CONFIG_PATH = '.tms.json';
9
12
  exports.DEFAULT_META_PATH = '.spec-box-meta.yml';
10
13
  const loadConfig = async (path = exports.DEFAULT_CONFIG_PATH) => {
@@ -31,4 +34,16 @@ const loadMeta = async (validationContext, path, basePath = utils_1.CWD // TODO:
31
34
  }
32
35
  };
33
36
  exports.loadMeta = loadMeta;
37
+ const loadProject = async (metaPath, filePaths, projectPath) => {
38
+ const validationContext = new validators_1.Validator();
39
+ const meta = await (0, exports.loadMeta)(validationContext, metaPath, projectPath);
40
+ const files = await (0, fast_glob_1.glob)(filePaths, { cwd: projectPath });
41
+ const yamls = await Promise.all(files.map((path) => (0, yaml_1.loadYaml)(validationContext, path, projectPath)));
42
+ const successYamls = new Array();
43
+ yamls.forEach((yaml) => yaml && successYamls.push(yaml));
44
+ const projectData = (0, domain_1.processYamlFiles)(successYamls, meta);
45
+ validationContext.validate(projectData);
46
+ return { projectData, validationContext };
47
+ };
48
+ exports.loadProject = loadProject;
34
49
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/config/index.ts"],"names":[],"mappings":";;;AAAA,oCAMkB;AAClB,8CAAsD;AACtD,uDAAyD;AACzD,qCAAwE;AAI3D,QAAA,mBAAmB,GAAG,WAAW,CAAC;AAClC,QAAA,iBAAiB,GAAG,oBAAoB,CAAC;AAE/C,MAAM,UAAU,GAAG,KAAK,EAC7B,IAAI,GAAG,2BAAmB,EACL,EAAE;IACvB,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,EAAC,IAAI,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE9B,MAAM,MAAM,GAAG,IAAA,mBAAW,EAAC,IAAI,EAAE,sBAAa,CAAC,CAAC;IAEhD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AATW,QAAA,UAAU,cASrB;AAEK,MAAM,QAAQ,GAAG,KAAK,EAC3B,iBAA4B,EAC5B,IAAa,EACb,WAAmB,WAAG,CAAC,gCAAgC;EACZ,EAAE;IAC7C,MAAM,QAAQ,GAAG,IAAI,IAAI,yBAAiB,CAAC;IAC3C,IAAI,UAAU,GAAG,IAAI;QACnB,CAAC,CAAC,IAAA,gBAAQ,EAAC,oBAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC;QAC3C,CAAC,CAAC,IAAA,wBAAgB,EAAC,oBAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAEtD,IAAI;QACF,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC;QACjC,MAAM,IAAI,GAAG,OAAO,IAAI,EAAE,CAAC;QAE3B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KAC3B;IAAC,OAAO,KAAK,EAAE;QACd,IAAA,uBAAU,EAAC,IAAA,0BAAc,EAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QACtD,MAAM,KAAK,CAAC,oCAAoC,CAAC,CAAC;KACnD;AACH,CAAC,CAAC;AAnBW,QAAA,QAAQ,YAmBnB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/config/index.ts"],"names":[],"mappings":";;;AAAA,yCAAiC;AACjC,oCAMkB;AAClB,8CAAsD;AACtD,uDAAyD;AACzD,qCAAwE;AACxE,kCAA6C;AAC7C,sCAA6C;AAIhC,QAAA,mBAAmB,GAAG,WAAW,CAAC;AAClC,QAAA,iBAAiB,GAAG,oBAAoB,CAAC;AAE/C,MAAM,UAAU,GAAG,KAAK,EAC7B,IAAI,GAAG,2BAAmB,EACL,EAAE;IACvB,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,EAAC,IAAI,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE9B,MAAM,MAAM,GAAG,IAAA,mBAAW,EAAC,IAAI,EAAE,sBAAa,CAAC,CAAC;IAEhD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AATW,QAAA,UAAU,cASrB;AAEK,MAAM,QAAQ,GAAG,KAAK,EAC3B,iBAA4B,EAC5B,IAAa,EACb,WAAmB,WAAG,CAAC,gCAAgC;EACZ,EAAE;IAC7C,MAAM,QAAQ,GAAG,IAAI,IAAI,yBAAiB,CAAC;IAC3C,IAAI,UAAU,GAAG,IAAI;QACnB,CAAC,CAAC,IAAA,gBAAQ,EAAC,oBAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC;QAC3C,CAAC,CAAC,IAAA,wBAAgB,EAAC,oBAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAEtD,IAAI;QACF,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC;QACjC,MAAM,IAAI,GAAG,OAAO,IAAI,EAAE,CAAC;QAE3B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KAC3B;IAAC,OAAO,KAAK,EAAE;QACd,IAAA,uBAAU,EAAC,IAAA,0BAAc,EAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QACtD,MAAM,KAAK,CAAC,oCAAoC,CAAC,CAAC;KACnD;AACH,CAAC,CAAC;AAnBW,QAAA,QAAQ,YAmBnB;AAEK,MAAM,WAAW,GAAG,KAAK,EAC9B,QAA4B,EAC5B,SAAmB,EACnB,WAA+B,EAC/B,EAAE;IACF,MAAM,iBAAiB,GAAG,IAAI,sBAAS,EAAE,CAAC;IAE1C,MAAM,IAAI,GAAG,MAAM,IAAA,gBAAQ,EAAC,iBAAiB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACtE,MAAM,KAAK,GAAG,MAAM,IAAA,gBAAI,EAAC,SAAS,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;IAE1D,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,eAAQ,EAAC,iBAAiB,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CACpE,CAAC;IACF,MAAM,YAAY,GAAG,IAAI,KAAK,EAAY,CAAC;IAC3C,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAEzD,MAAM,WAAW,GAAG,IAAA,yBAAgB,EAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACzD,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACxC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;AAC5C,CAAC,CAAC;AAnBW,QAAA,WAAW,eAmBtB"}
@@ -43,6 +43,9 @@ export declare const ymlConfigDecoder: d.Decoder<unknown, Partial<{
43
43
  }> & {
44
44
  files: string[];
45
45
  }>;
46
+ export declare const markdownConfigDecoder: d.Decoder<unknown, {
47
+ path: string;
48
+ }>;
46
49
  export declare const literalKeyPartDecoder: d.Decoder<unknown, "filePath" | "featureCode" | "featureTitle" | "groupTitle" | "assertionTitle" | "fileName">;
47
50
  export declare const attributeKeyPartDecoder: d.Decoder<unknown, string>;
48
51
  export declare const testReportConfigDecoder: d.Decoder<unknown, {
@@ -59,6 +62,9 @@ export declare const configDecoder: d.Decoder<unknown, Partial<{
59
62
  reportPath: string;
60
63
  keys: string[];
61
64
  };
65
+ markdown: {
66
+ path: string;
67
+ };
62
68
  }> & {
63
69
  api: {
64
70
  host: string;
@@ -73,7 +79,8 @@ export declare const configDecoder: d.Decoder<unknown, Partial<{
73
79
  export type RootConfig = d.TypeOf<typeof configDecoder>;
74
80
  export type ApiConfig = d.TypeOf<typeof apiConfigDecoder>;
75
81
  export type YmlConfig = d.TypeOf<typeof ymlConfigDecoder>;
76
- export type JestConfig = d.TypeOf<typeof testReportConfigDecoder>;
82
+ export type MarkdownConfig = d.TypeOf<typeof markdownConfigDecoder>;
83
+ export type TestConfig = d.TypeOf<typeof testReportConfigDecoder>;
77
84
  export type Meta = d.TypeOf<typeof metaDecoder>;
78
85
  export type Tree = d.TypeOf<typeof treeDecoder>;
79
86
  export type Attribute = d.TypeOf<typeof attributeDecoder>;
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/lib/config/models.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AAGnC,eAAO,MAAM,qBAAqB;;;EAGhC,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;EAI3B,CAAC;AAEH,eAAO,MAAM,WAAW;;;;EAItB,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;GAMtB,CAAC;AAGH,eAAO,MAAM,gBAAgB;;;EAG3B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;EAQ5B,CAAC;AAEF,eAAO,MAAM,qBAAqB,gHAOjC,CAAC;AAEF,eAAO,MAAM,uBAAuB,4BASnC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;EAGlC,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;EAWzB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;AACxD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAElE,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AAChD,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AAChD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/lib/config/models.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AAGnC,eAAO,MAAM,qBAAqB;;;EAGhC,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;EAI3B,CAAC;AAEH,eAAO,MAAM,WAAW;;;;EAItB,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;GAMtB,CAAC;AAGH,eAAO,MAAM,gBAAgB;;;EAG3B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;EAQ5B,CAAC;AAEF,eAAO,MAAM,qBAAqB;;EAEhC,CAAC;AAEH,eAAO,MAAM,qBAAqB,gHAOjC,CAAC;AAEF,eAAO,MAAM,uBAAuB,4BASnC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;EAGlC,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;EAYzB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;AACxD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAElE,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AAChD,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AAChD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.configDecoder = exports.testReportConfigDecoder = exports.attributeKeyPartDecoder = exports.literalKeyPartDecoder = exports.ymlConfigDecoder = exports.apiConfigDecoder = exports.metaDecoder = exports.treeDecoder = exports.attributeDecoder = exports.attributeValueDecoder = void 0;
3
+ exports.configDecoder = exports.testReportConfigDecoder = exports.attributeKeyPartDecoder = exports.literalKeyPartDecoder = exports.markdownConfigDecoder = exports.ymlConfigDecoder = exports.apiConfigDecoder = exports.metaDecoder = exports.treeDecoder = exports.attributeDecoder = exports.attributeValueDecoder = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const function_1 = require("fp-ts/lib/function");
6
6
  const d = tslib_1.__importStar(require("io-ts/Decoder"));
@@ -36,6 +36,9 @@ exports.ymlConfigDecoder = d.intersect(d.struct({
36
36
  }))(d.partial({
37
37
  metaPath: d.string,
38
38
  }));
39
+ exports.markdownConfigDecoder = d.struct({
40
+ path: d.string
41
+ });
39
42
  exports.literalKeyPartDecoder = d.literal("featureTitle", "featureCode", "groupTitle", "assertionTitle", "fileName", "filePath");
40
43
  exports.attributeKeyPartDecoder = (0, function_1.pipe)(d.string, d.parse((str) => {
41
44
  if (/^[@$]/.test(str)) {
@@ -54,5 +57,6 @@ exports.configDecoder = d.intersect(d.struct({
54
57
  projectPath: d.string,
55
58
  jest: exports.testReportConfigDecoder,
56
59
  JUnit: exports.testReportConfigDecoder,
60
+ markdown: exports.markdownConfigDecoder,
57
61
  }));
58
62
  //# sourceMappingURL=models.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/lib/config/models.ts"],"names":[],"mappings":";;;;AAAA,iDAA0C;AAC1C,yDAAmC;AAEnC,OAAO;AACM,QAAA,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,MAAM;IACd,KAAK,EAAE,CAAC,CAAC,MAAM;CAChB,CAAC,CAAC;AAEU,QAAA,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM;IACd,KAAK,EAAE,CAAC,CAAC,MAAM;IACf,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,6BAAqB,CAAC;CACvC,CAAC,CAAC;AAEU,QAAA,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM;IACd,KAAK,EAAE,CAAC,CAAC,MAAM;IACf,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;CAC9B,CAAC,CAAC;AAEU,QAAA,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC;IACnC,KAAK,EAAE,CAAC,CAAC,MAAM;IACf,WAAW,EAAE,CAAC,CAAC,MAAM;IACrB,UAAU,EAAE,CAAC,CAAC,MAAM;IACpB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAgB,CAAC;IACrC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAW,CAAC;CAC5B,CAAC,CAAC;AAEH,SAAS;AACI,QAAA,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM;IACd,OAAO,EAAE,CAAC,CAAC,MAAM;CAClB,CAAC,CAAC;AAEU,QAAA,gBAAgB,GAAG,CAAC,CAAC,SAAS,CACzC,CAAC,CAAC,MAAM,CAAC;IACP,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;CACzB,CAAC,CACH,CACC,CAAC,CAAC,OAAO,CAAC;IACR,QAAQ,EAAE,CAAC,CAAC,MAAM;CACnB,CAAC,CACH,CAAC;AAEW,QAAA,qBAAqB,GAAG,CAAC,CAAC,OAAO,CAC5C,cAAc,EACd,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,UAAU,CACX,CAAC;AAEW,QAAA,uBAAuB,GAAG,IAAA,eAAI,EACzC,CAAC,CAAC,MAAM,EACR,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACd,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACrB,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;KAC9B;IAED,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,2BAA2B,CAAC,CAAC;AACrD,CAAC,CAAC,CACH,CAAC;AAEW,QAAA,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,UAAU,EAAE,CAAC,CAAC,MAAM;IACpB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,6BAAqB,EAAE,+BAAuB,CAAC,CAAC;CACvE,CAAC,CAAC;AAEU,QAAA,aAAa,GAAG,CAAC,CAAC,SAAS,CACtC,CAAC,CAAC,MAAM,CAAC;IACP,GAAG,EAAE,wBAAgB;IACrB,GAAG,EAAE,wBAAgB;CACtB,CAAC,CACH,CACC,CAAC,CAAC,OAAO,CAAC;IACR,WAAW,EAAE,CAAC,CAAC,MAAM;IACrB,IAAI,EAAE,+BAAuB;IAC7B,KAAK,EAAE,+BAAuB;CAC/B,CAAC,CACH,CAAC"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/lib/config/models.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ProjectData } from '../domain';
2
+ export declare const buildIndex: (projectData: ProjectData, pathMap: Map<string, string>) => string;
3
+ //# sourceMappingURL=build-index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-index.d.ts","sourceRoot":"","sources":["../../../src/lib/markdown/build-index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,WAAW,EAAQ,MAAM,WAAW,CAAC;AAwBvD,eAAO,MAAM,UAAU,gBACR,WAAW,WACf,IAAI,MAAM,EAAE,MAAM,CAAC,KAC3B,MAGF,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildIndex = void 0;
4
+ const featureToLink = (feature, path) => {
5
+ return `[[${path} | ${feature.title} ( ${feature.code} ) ]]`;
6
+ };
7
+ const linearIndex = (projectData, pathMap) => {
8
+ let result = '# Содержание \r\n\r\n';
9
+ const sortedFeatures = [...projectData.features].sort((a, b) => a.code.localeCompare(b.code));
10
+ for (const feature of sortedFeatures) {
11
+ const path = pathMap.get(`$${feature.code}`);
12
+ if (path) {
13
+ result += `- ${featureToLink(feature, path)} \r\n\r\n`;
14
+ }
15
+ }
16
+ return result;
17
+ };
18
+ const buildIndex = (projectData, pathMap) => {
19
+ return linearIndex(projectData, pathMap);
20
+ // ToDo: сделать построение индекса по деревьям
21
+ };
22
+ exports.buildIndex = buildIndex;
23
+ //# sourceMappingURL=build-index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-index.js","sourceRoot":"","sources":["../../../src/lib/markdown/build-index.ts"],"names":[],"mappings":";;;AAEA,MAAM,aAAa,GAAG,CAAC,OAAgB,EAAE,IAAY,EAAU,EAAE;IAC/D,OAAO,KAAK,IAAI,MAAM,OAAO,CAAC,KAAK,MAAM,OAAO,CAAC,IAAI,OAAO,CAAC;AAC/D,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAClB,WAAwB,EACxB,OAA4B,EAC5B,EAAE;IACF,IAAI,MAAM,GAAG,uBAAuB,CAAC;IACrC,MAAM,cAAc,GAAG,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC7D,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAC7B,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE;QACpC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7C,IAAI,IAAI,EAAE;YACR,MAAM,IAAI,KAAK,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC;SACxD;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEK,MAAM,UAAU,GAAG,CACxB,WAAwB,EACxB,OAA4B,EACpB,EAAE;IACV,OAAO,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACzC,+CAA+C;AACjD,CAAC,CAAC;AANW,QAAA,UAAU,cAMrB"}
@@ -0,0 +1,3 @@
1
+ import { Feature } from "../domain";
2
+ export declare function featureToMarkdown(feature: Feature): string;
3
+ //# sourceMappingURL=feature-to-markdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-to-markdown.d.ts","sourceRoot":"","sources":["../../../src/lib/markdown/feature-to-markdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,OAAO,EAAE,MAAM,WAAW,CAAC;AAoCpD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAS1D"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.featureToMarkdown = void 0;
4
+ function mdFeatureTitle(feature) {
5
+ let result = `# ${feature.title} ( ${feature.code} )\r\n\r\n`;
6
+ if (feature.description) {
7
+ result += `${feature.description.trim()}\r\n\r\n`;
8
+ }
9
+ return result;
10
+ }
11
+ function mdFeatureGroupTitle(groupTitle) {
12
+ return `## ${groupTitle.trim()}\r\n\r\n`;
13
+ }
14
+ function mdDescriptionToQuote(description) {
15
+ const quotedNewLines = description.trim().replace(/\n/g, '\n> ');
16
+ return `> ${quotedNewLines}`;
17
+ }
18
+ function mdFeatureAssertion(assertion, description) {
19
+ let result = `- ${assertion.trim()}\r\n\r\n`;
20
+ if (description) {
21
+ result += `${mdDescriptionToQuote(description)}\r\n\r\n`;
22
+ }
23
+ return result;
24
+ }
25
+ function mdFeatureGroup(assertionGroup) {
26
+ let result = '';
27
+ result += mdFeatureGroupTitle(assertionGroup.title);
28
+ assertionGroup.assertions.forEach((assertion) => {
29
+ result += mdFeatureAssertion(assertion.title, assertion.description);
30
+ });
31
+ return result;
32
+ }
33
+ function featureToMarkdown(feature) {
34
+ let result = '';
35
+ result += mdFeatureTitle(feature);
36
+ feature.groups.forEach((group) => {
37
+ result += mdFeatureGroup(group);
38
+ });
39
+ return result;
40
+ }
41
+ exports.featureToMarkdown = featureToMarkdown;
42
+ //# sourceMappingURL=feature-to-markdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-to-markdown.js","sourceRoot":"","sources":["../../../src/lib/markdown/feature-to-markdown.ts"],"names":[],"mappings":";;;AAEA,SAAS,cAAc,CAAC,OAAgB;IACtC,IAAI,MAAM,GAAG,KAAK,OAAO,CAAC,KAAK,MAAM,OAAO,CAAC,IAAI,YAAY,CAAC;IAC9D,IAAG,OAAO,CAAC,WAAW,EAAE;QACtB,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC;KACnD;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,UAAkB;IAC7C,OAAO,MAAM,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC;AAC3C,CAAC;AAED,SAAS,oBAAoB,CAAC,WAAmB;IAC/C,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACjE,OAAO,KAAK,cAAc,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAiB,EAAE,WAAoB;IACjE,IAAI,MAAM,GAAG,KAAK,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC;IAC7C,IAAI,WAAW,EAAE;QACf,MAAM,IAAI,GAAG,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC;KAC1D;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,cAA8B;IACpD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,IAAI,mBAAmB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACpD,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAC9C,MAAM,IAAI,kBAAkB,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,iBAAiB,CAAC,OAAgB;IAChD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;IAElC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC/B,MAAM,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AATD,8CASC"}
@@ -0,0 +1,3 @@
1
+ import { ProjectData } from '../domain';
2
+ export declare const exportMarkdown: (projectData: ProjectData, path: string) => Promise<void>;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/markdown/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAoBxC,eAAO,MAAM,cAAc,gBACZ,WAAW,QAClB,MAAM,kBA0Bb,CAAC"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.exportMarkdown = void 0;
4
+ const validator_1 = require("../validators/validator");
5
+ const build_index_1 = require("./build-index");
6
+ const feature_to_markdown_1 = require("./feature-to-markdown");
7
+ const promises_1 = require("fs/promises");
8
+ const replaceInternalLinks = (markdown, pathMap) => {
9
+ const re = new RegExp(validator_1.LINK_LIKE);
10
+ return markdown.replace(re, (link) => {
11
+ const path = pathMap.get(link);
12
+ if (path) {
13
+ return `[[${path} | ${link}]]`;
14
+ }
15
+ return link;
16
+ });
17
+ };
18
+ const exportMarkdown = async (projectData, path) => {
19
+ const featureCodeToPath = new Map();
20
+ for (const feature of projectData.features) {
21
+ const featurePath = feature.filePath.slice(0, feature.filePath.lastIndexOf('.'));
22
+ featureCodeToPath.set(`$${feature.code}`, featurePath + '.md');
23
+ }
24
+ for (const feature of projectData.features) {
25
+ const markDown = replaceInternalLinks((0, feature_to_markdown_1.featureToMarkdown)(feature), featureCodeToPath);
26
+ const filePath = feature.filePath.slice(0, feature.filePath.lastIndexOf('.')) + '.md';
27
+ const exportPath = `${path}/${filePath}`;
28
+ const exportDirectory = exportPath.slice(0, exportPath.lastIndexOf('/'));
29
+ await (0, promises_1.mkdir)(exportDirectory, { recursive: true });
30
+ await (0, promises_1.writeFile)(exportPath, markDown);
31
+ }
32
+ if (featureCodeToPath.size > 0) {
33
+ (0, promises_1.writeFile)(`${path}/index.md`, (0, build_index_1.buildIndex)(projectData, featureCodeToPath));
34
+ }
35
+ };
36
+ exports.exportMarkdown = exportMarkdown;
37
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/markdown/index.ts"],"names":[],"mappings":";;;AACA,uDAAoD;AACpD,+CAA2C;AAC3C,+DAA0D;AAC1D,0CAA+C;AAE/C,MAAM,oBAAoB,GAAG,CAC3B,QAAgB,EAChB,OAA4B,EAC5B,EAAE;IACF,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,qBAAS,CAAC,CAAC;IACjC,OAAO,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;QACnC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAG,IAAI,EAAE;YACP,OAAO,KAAK,IAAI,MAAM,IAAI,IAAI,CAAA;SAC/B;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEK,MAAM,cAAc,GAAG,KAAK,EACjC,WAAwB,EACxB,IAAY,EACZ,EAAE;IACF,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACpD,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,QAAQ,EAAE;QAC1C,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CACxC,CAAC,EACD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAClC,CAAC;QACF,iBAAiB,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC;KAChE;IAED,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,QAAQ,EAAE;QAC1C,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAA,uCAAiB,EAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAErF,MAAM,QAAQ,GACZ,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;QACvE,MAAM,UAAU,GAAG,GAAG,IAAI,IAAI,QAAQ,EAAE,CAAC;QACzC,MAAM,eAAe,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAEzE,MAAM,IAAA,gBAAK,EAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,IAAA,oBAAS,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;KACvC;IAED,IAAG,iBAAiB,CAAC,IAAI,GAAG,CAAC,EAAE;QAC7B,IAAA,oBAAS,EAAC,GAAG,IAAI,WAAW,EAAE,IAAA,wBAAU,EAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC;KAC3E;AACH,CAAC,CAAC;AA5BW,QAAA,cAAc,kBA4BzB"}
@@ -1,5 +1,6 @@
1
1
  import { ProjectData } from '../domain';
2
2
  import { LoaderError } from './models';
3
+ export declare const LINK_LIKE: RegExp;
3
4
  export declare class Validator {
4
5
  private readonly loaderErrors;
5
6
  private readonly metaErrors;
@@ -16,7 +17,7 @@ export declare class Validator {
16
17
  private validateMetaTrees;
17
18
  private validateFeatures;
18
19
  private validateFeature;
19
- private validateAsserions;
20
+ private validateAssertions;
20
21
  private validateFeatureLinks;
21
22
  private validateLinks;
22
23
  private validateCode;
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../src/lib/validators/validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,WAAW,EAAE,MAAM,WAAW,CAAC;AAEjD,OAAO,EAYL,WAAW,EAKZ,MAAM,UAAU,CAAC;AAOlB,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgC;IAC7D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgC;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgC;IAC9D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoC;IACpE,OAAO,CAAC,YAAY,CAAM;IAE1B,IAAI,iBAAiB,IAAI,OAAO,CAO/B;IAED,WAAW;IAcX,mBAAmB,CACjB,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC;IAKnC,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAQtD,QAAQ,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,WAAW;IASnE,OAAO,CAAC,sBAAsB;IAqC9B,OAAO,CAAC,2BAA2B;IA4BnC,OAAO,CAAC,iBAAiB;IAoDzB,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,eAAe;IA+CvB,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,oBAAoB;IAmD5B,OAAO,CAAC,aAAa;IAyBrB,OAAO,CAAC,YAAY;CAKrB;AAED,eAAO,MAAM,cAAc,UAClB,OAAO,YACJ,MAAM,YACN,WAAW,CAAC,UAAU,CAAC,KAChC,WAcF,CAAC"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../src/lib/validators/validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,WAAW,EAAE,MAAM,WAAW,CAAC;AAEjD,OAAO,EAYL,WAAW,EAKZ,MAAM,UAAU,CAAC;AAKlB,eAAO,MAAM,SAAS,QAAuC,CAAC;AAE9D,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgC;IAC7D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgC;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgC;IAC9D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoC;IACpE,OAAO,CAAC,YAAY,CAAM;IAE1B,IAAI,iBAAiB,IAAI,OAAO,CAO/B;IAED,WAAW;IAcX,mBAAmB,CACjB,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC;IAKnC,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAQtD,QAAQ,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,WAAW;IASnE,OAAO,CAAC,sBAAsB;IAqC9B,OAAO,CAAC,2BAA2B;IA4BnC,OAAO,CAAC,iBAAiB;IAoDzB,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,eAAe;IA+CvB,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,oBAAoB;IAmD5B,OAAO,CAAC,aAAa;IAyBrB,OAAO,CAAC,YAAY;CAKrB;AAED,eAAO,MAAM,cAAc,UAClB,OAAO,YACJ,MAAM,YACN,WAAW,CAAC,UAAU,CAAC,KAChC,WAcF,CAAC"}
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getLoaderError = exports.Validator = void 0;
3
+ exports.getLoaderError = exports.Validator = exports.LINK_LIKE = void 0;
4
4
  const models_1 = require("./models");
5
5
  const renderer_1 = require("./renderer");
6
6
  const CODE_REGEX = /^[A-Za-z][A-Za-z0-9-_]*$/;
7
7
  // named group <link> is used to capture and validate link key
8
- const LINK_LIKE = /\$(?<link>[A-Za-z][A-Za-z0-9-_]*)/g;
8
+ exports.LINK_LIKE = /\$(?<link>[A-Za-z][A-Za-z0-9-_]*)/g;
9
9
  class Validator {
10
10
  constructor() {
11
11
  this.loaderErrors = new Array();
@@ -202,10 +202,10 @@ class Validator {
202
202
  }
203
203
  }
204
204
  }
205
- errors.push(...this.validateAsserions(feature));
205
+ errors.push(...this.validateAssertions(feature));
206
206
  return errors;
207
207
  }
208
- validateAsserions(feature) {
208
+ validateAssertions(feature) {
209
209
  const errors = new Array();
210
210
  for (const assertionGroup of feature.groups) {
211
211
  const assertionsUnique = new Set();
@@ -243,7 +243,7 @@ class Validator {
243
243
  }
244
244
  }
245
245
  validateLinks(value, field, feature, featuresMap) {
246
- const re = new RegExp(LINK_LIKE);
246
+ const re = new RegExp(exports.LINK_LIKE);
247
247
  const errors = new Array();
248
248
  let match;
249
249
  while ((match = re.exec(value)) !== null) {
@@ -1 +1 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../src/lib/validators/validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../src/lib/validators/validator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spec-box-tms-sync",
3
- "version": "0.3.1",
3
+ "version": "0.4.1",
4
4
  "private": false,
5
5
  "bin": {
6
6
  "spec-box": "./bin/spec-box"