@featurevisor/core 1.27.0 → 1.27.2

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 (34) hide show
  1. package/.eslintcache +1 -1
  2. package/CHANGELOG.md +19 -0
  3. package/coverage/clover.xml +2 -2
  4. package/coverage/lcov-report/index.html +1 -1
  5. package/coverage/lcov-report/lib/builder/allocator.js.html +1 -1
  6. package/coverage/lcov-report/lib/builder/index.html +1 -1
  7. package/coverage/lcov-report/lib/builder/revision.js.html +1 -1
  8. package/coverage/lcov-report/lib/builder/traffic.js.html +1 -1
  9. package/coverage/lcov-report/lib/tester/checkIfObjectsAreEqual.js.html +1 -1
  10. package/coverage/lcov-report/lib/tester/index.html +1 -1
  11. package/coverage/lcov-report/lib/tester/matrix.js.html +1 -1
  12. package/coverage/lcov-report/src/builder/allocator.ts.html +1 -1
  13. package/coverage/lcov-report/src/builder/index.html +1 -1
  14. package/coverage/lcov-report/src/builder/revision.ts.html +1 -1
  15. package/coverage/lcov-report/src/builder/traffic.ts.html +1 -1
  16. package/coverage/lcov-report/src/tester/checkIfObjectsAreEqual.ts.html +1 -1
  17. package/coverage/lcov-report/src/tester/index.html +1 -1
  18. package/coverage/lcov-report/src/tester/matrix.ts.html +1 -1
  19. package/lib/linter/featureSchema.d.ts +71 -1
  20. package/lib/linter/featureSchema.js +147 -8
  21. package/lib/linter/featureSchema.js.map +1 -1
  22. package/lib/linter/lintProject.d.ts +1 -0
  23. package/lib/linter/lintProject.js +288 -162
  24. package/lib/linter/lintProject.js.map +1 -1
  25. package/lib/linter/printError.js +1 -3
  26. package/lib/linter/printError.js.map +1 -1
  27. package/lib/tester/cliFormat.d.ts +1 -0
  28. package/lib/tester/cliFormat.js +2 -1
  29. package/lib/tester/cliFormat.js.map +1 -1
  30. package/package.json +3 -3
  31. package/src/linter/featureSchema.ts +194 -10
  32. package/src/linter/lintProject.ts +119 -18
  33. package/src/linter/printError.ts +1 -3
  34. package/src/tester/cliFormat.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"lintProject.js","sourceRoot":"","sources":["../../src/linter/lintProject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lintProject.js","sourceRoot":"","sources":["../../src/linter/lintProject.ts"],"names":[],"mappings":"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"}
@@ -20,9 +20,7 @@ function printZodError(e) {
20
20
  console.error(" Value:", receivedValue);
21
21
  }
22
22
  }
23
- if (issues.length > 1) {
24
- console.error("");
25
- }
23
+ console.error("");
26
24
  });
27
25
  }
28
26
  exports.printZodError = printZodError;
@@ -1 +1 @@
1
- {"version":3,"file":"printError.js","sourceRoot":"","sources":["../../src/linter/printError.ts"],"names":[],"mappings":";;;AAEA,iDAAqD;AAErD,SAAgB,aAAa,CAAC,CAAW;IAC/B,IAAA,MAAM,GAAK,CAAC,OAAN,CAAO;IAErB,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK;QACnB,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7F,gBAAgB;YAChB,IAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACvE,OAAO,CAAC,KAAK,CAAC,0BAAc,EAAE,sBAAe,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAE,CAAC,CAAC;YACjF,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACtE;aAAM;YACL,SAAS;YACT,OAAO,CAAC,KAAK,CAAC,0BAAc,EAAE,sBAAe,KAAK,CAAC,OAAO,CAAE,CAAC,CAAC;YAC9D,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAElD,IAAM,aAAa,GAAI,KAAa,CAAC,QAAQ,CAAC;YAC9C,IAAI,OAAO,aAAa,KAAK,WAAW,IAAI,aAAa,KAAK,WAAW,EAAE;gBACzE,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;aAC7C;SACF;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SACnB;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAxBD,sCAwBC"}
1
+ {"version":3,"file":"printError.js","sourceRoot":"","sources":["../../src/linter/printError.ts"],"names":[],"mappings":";;;AAEA,iDAAqD;AAErD,SAAgB,aAAa,CAAC,CAAW;IAC/B,IAAA,MAAM,GAAK,CAAC,OAAN,CAAO;IAErB,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK;QACnB,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7F,gBAAgB;YAChB,IAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACvE,OAAO,CAAC,KAAK,CAAC,0BAAc,EAAE,sBAAe,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAE,CAAC,CAAC;YACjF,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACtE;aAAM;YACL,SAAS;YACT,OAAO,CAAC,KAAK,CAAC,0BAAc,EAAE,sBAAe,KAAK,CAAC,OAAO,CAAE,CAAC,CAAC;YAC9D,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAElD,IAAM,aAAa,GAAI,KAAa,CAAC,QAAQ,CAAC;YAC9C,IAAI,OAAO,aAAa,KAAK,WAAW,IAAI,aAAa,KAAK,WAAW,EAAE;gBACzE,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;aAC7C;SACF;QAED,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC;AAtBD,sCAsBC"}
@@ -2,3 +2,4 @@ export declare const CLI_FORMAT_RED = "\u001B[31m%s\u001B[0m";
2
2
  export declare const CLI_FORMAT_GREEN = "\u001B[32m%s\u001B[0m";
3
3
  export declare const CLI_FORMAT_BOLD = "\u001B[1m%s\u001B[0m";
4
4
  export declare const CLI_FORMAT_UNDERLINE = "\u001B[4m%s\u001B[0m";
5
+ export declare const CLI_FORMAT_BOLD_UNDERLINE = "\u001B[1m\u001B[4m%s\u001B[0m";
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CLI_FORMAT_UNDERLINE = exports.CLI_FORMAT_BOLD = exports.CLI_FORMAT_GREEN = exports.CLI_FORMAT_RED = void 0;
3
+ exports.CLI_FORMAT_BOLD_UNDERLINE = exports.CLI_FORMAT_UNDERLINE = exports.CLI_FORMAT_BOLD = exports.CLI_FORMAT_GREEN = exports.CLI_FORMAT_RED = void 0;
4
4
  exports.CLI_FORMAT_RED = "\x1b[31m%s\x1b[0m";
5
5
  exports.CLI_FORMAT_GREEN = "\x1b[32m%s\x1b[0m";
6
6
  exports.CLI_FORMAT_BOLD = "\x1b[1m%s\x1b[0m";
7
7
  exports.CLI_FORMAT_UNDERLINE = "\x1b[4m%s\x1b[0m";
8
+ exports.CLI_FORMAT_BOLD_UNDERLINE = "\x1b[1m\x1b[4m%s\x1b[0m";
8
9
  //# sourceMappingURL=cliFormat.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cliFormat.js","sourceRoot":"","sources":["../../src/tester/cliFormat.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG,mBAAmB,CAAC;AACrC,QAAA,gBAAgB,GAAG,mBAAmB,CAAC;AAEvC,QAAA,eAAe,GAAG,kBAAkB,CAAC;AACrC,QAAA,oBAAoB,GAAG,kBAAkB,CAAC"}
1
+ {"version":3,"file":"cliFormat.js","sourceRoot":"","sources":["../../src/tester/cliFormat.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG,mBAAmB,CAAC;AACrC,QAAA,gBAAgB,GAAG,mBAAmB,CAAC;AAEvC,QAAA,eAAe,GAAG,kBAAkB,CAAC;AACrC,QAAA,oBAAoB,GAAG,kBAAkB,CAAC;AAC1C,QAAA,yBAAyB,GAAG,yBAAyB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@featurevisor/core",
3
- "version": "1.27.0",
3
+ "version": "1.27.2",
4
4
  "description": "Core package of Featurevisor for Node.js usage",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -44,7 +44,7 @@
44
44
  },
45
45
  "license": "MIT",
46
46
  "dependencies": {
47
- "@featurevisor/sdk": "^1.20.0",
47
+ "@featurevisor/sdk": "^1.27.2",
48
48
  "@featurevisor/site": "^1.18.1",
49
49
  "@featurevisor/types": "^1.3.0",
50
50
  "axios": "^1.3.4",
@@ -58,5 +58,5 @@
58
58
  "@types/js-yaml": "^4.0.5",
59
59
  "@types/tar": "^6.1.4"
60
60
  },
61
- "gitHead": "8b06b8f1bb33dd9a80988c013c91381c06c3b606"
61
+ "gitHead": "4df59b0553f5076dde30c49a0751dddffa36dbff"
62
62
  }
@@ -4,6 +4,124 @@ import { ProjectConfig } from "../config";
4
4
 
5
5
  const tagRegex = /^[a-z0-9-]+$/;
6
6
 
7
+ function isFlatObject(value) {
8
+ let isFlat = true;
9
+
10
+ Object.keys(value).forEach((key) => {
11
+ if (typeof value[key] === "object") {
12
+ isFlat = false;
13
+ }
14
+ });
15
+
16
+ return isFlat;
17
+ }
18
+
19
+ function isArrayOfStrings(value) {
20
+ return Array.isArray(value) && value.every((v) => typeof v === "string");
21
+ }
22
+
23
+ function superRefineVariableValue(variableSchema, variableValue, path, ctx) {
24
+ if (!variableSchema) {
25
+ let message = `Unknown variable with value: ${variableValue}`;
26
+
27
+ if (path.length > 0) {
28
+ const lastPath = path[path.length - 1];
29
+
30
+ if (typeof lastPath === "string") {
31
+ message = `Unknown variable "${lastPath}" with value: ${variableValue}`;
32
+ }
33
+ }
34
+
35
+ ctx.addIssue({
36
+ code: z.ZodIssueCode.custom,
37
+ message,
38
+ path,
39
+ });
40
+
41
+ return;
42
+ }
43
+
44
+ // string
45
+ if (variableSchema.type === "string") {
46
+ if (typeof variableValue !== "string") {
47
+ ctx.addIssue({
48
+ code: z.ZodIssueCode.custom,
49
+ message: `Invalid value for variable "${variableSchema.key}" (${variableSchema.type}): ${variableValue}`,
50
+ path,
51
+ });
52
+ }
53
+
54
+ return;
55
+ }
56
+
57
+ // integer, double
58
+ if (["integer", "double"].indexOf(variableSchema.type) > -1) {
59
+ if (typeof variableValue !== "number") {
60
+ ctx.addIssue({
61
+ code: z.ZodIssueCode.custom,
62
+ message: `Invalid value for variable "${variableSchema.key}" (${variableSchema.type}): ${variableValue}`,
63
+ path,
64
+ });
65
+ }
66
+
67
+ return;
68
+ }
69
+
70
+ // boolean
71
+ if (variableSchema.type === "boolean") {
72
+ if (typeof variableValue !== "boolean") {
73
+ ctx.addIssue({
74
+ code: z.ZodIssueCode.custom,
75
+ message: `Invalid value for variable "${variableSchema.key}" (${variableSchema.type}): ${variableValue}`,
76
+ path,
77
+ });
78
+ }
79
+
80
+ return;
81
+ }
82
+
83
+ // array
84
+ if (variableSchema.type === "array") {
85
+ if (!Array.isArray(variableValue) || !isArrayOfStrings(variableValue)) {
86
+ ctx.addIssue({
87
+ code: z.ZodIssueCode.custom,
88
+ message: `Invalid value for variable "${variableSchema.key}" (${variableSchema.type}): \n\n${variableValue}\n\n`,
89
+ path,
90
+ });
91
+ }
92
+
93
+ return;
94
+ }
95
+
96
+ // object
97
+ if (variableSchema.type === "object") {
98
+ if (typeof variableValue !== "object" || !isFlatObject(variableValue)) {
99
+ ctx.addIssue({
100
+ code: z.ZodIssueCode.custom,
101
+ message: `Invalid value for variable "${variableSchema.key}" (${variableSchema.type}): \n\n${variableValue}\n\n`,
102
+ path,
103
+ });
104
+ }
105
+
106
+ return;
107
+ }
108
+
109
+ // json
110
+ if (variableSchema.type === "json") {
111
+ try {
112
+ JSON.parse(variableValue as string);
113
+ } catch (e) {
114
+ ctx.addIssue({
115
+ code: z.ZodIssueCode.custom,
116
+ message: `Invalid value for variable "${variableSchema.key}" (${variableSchema.type}): \n\n${variableValue}\n\n`,
117
+ path,
118
+ });
119
+ }
120
+
121
+ return;
122
+ }
123
+ }
124
+
7
125
  export function getFeatureZodSchema(
8
126
  projectConfig: ProjectConfig,
9
127
  conditionsZodSchema,
@@ -19,15 +137,7 @@ export function getFeatureZodSchema(
19
137
  z.array(z.string()),
20
138
  z.record(z.unknown()).refine(
21
139
  (value) => {
22
- let isFlat = true;
23
-
24
- Object.keys(value).forEach((key) => {
25
- if (typeof value[key] === "object") {
26
- isFlat = false;
27
- }
28
- });
29
-
30
- return isFlat;
140
+ return isFlatObject(value);
31
141
  },
32
142
  {
33
143
  message: "object is not flat",
@@ -286,7 +396,81 @@ export function getFeatureZodSchema(
286
396
  .optional(),
287
397
  environments: allEnvironmentsZodSchema,
288
398
  })
289
- .strict();
399
+ .strict()
400
+ .superRefine((value, ctx) => {
401
+ if (!value.variablesSchema) {
402
+ return;
403
+ }
404
+
405
+ const allVariablesSchema = value.variablesSchema;
406
+ const variableSchemaByKey = {};
407
+
408
+ // variablesSchema[n].defaultValue
409
+ allVariablesSchema.forEach((variableSchema, n) => {
410
+ variableSchemaByKey[variableSchema.key] = variableSchema;
411
+
412
+ superRefineVariableValue(
413
+ variableSchema,
414
+ variableSchema.defaultValue,
415
+ ["variablesSchema", n, "defaultValue"],
416
+ ctx,
417
+ );
418
+ });
419
+
420
+ // variations[n].variables[n].value
421
+ if (value.variations) {
422
+ value.variations.forEach((variation, variationN) => {
423
+ if (!variation.variables) {
424
+ return;
425
+ }
426
+
427
+ variation.variables.forEach((variable, variableN) => {
428
+ superRefineVariableValue(
429
+ variableSchemaByKey[variable.key],
430
+ variable.value,
431
+ ["variations", variationN, "variables", variableN, "value"],
432
+ ctx,
433
+ );
434
+
435
+ // variations[n].variables[n].overrides[n].value
436
+ if (variable.overrides) {
437
+ variable.overrides.forEach((override, overrideN) => {
438
+ superRefineVariableValue(
439
+ variableSchemaByKey[variable.key],
440
+ override.value,
441
+ [
442
+ "variations",
443
+ variationN,
444
+ "variables",
445
+ variableN,
446
+ "overrides",
447
+ overrideN,
448
+ "value",
449
+ ],
450
+ ctx,
451
+ );
452
+ });
453
+ }
454
+ });
455
+ });
456
+ }
457
+
458
+ // environments[key].rules[n].variables[key]
459
+ Object.keys(value.environments).forEach((environmentKey) => {
460
+ value.environments[environmentKey].rules.forEach((rule, ruleN) => {
461
+ if (rule.variables) {
462
+ Object.keys(rule.variables).forEach((variableKey) => {
463
+ superRefineVariableValue(
464
+ variableSchemaByKey[variableKey],
465
+ rule.variables[variableKey],
466
+ ["environments", environmentKey, "rules", ruleN, "variables", variableKey],
467
+ ctx,
468
+ );
469
+ });
470
+ }
471
+ });
472
+ });
473
+ });
290
474
 
291
475
  return featureZodSchema;
292
476
  }
@@ -12,17 +12,25 @@ import { checkForCircularDependencyInRequired } from "./checkCircularDependency"
12
12
  import { checkForFeatureExceedingGroupSlotPercentage } from "./checkPercentageExceedingSlot";
13
13
  import { printZodError } from "./printError";
14
14
  import { Dependencies } from "../dependencies";
15
- import { CLI_FORMAT_RED, CLI_FORMAT_UNDERLINE } from "../tester/cliFormat";
15
+ import { CLI_FORMAT_RED, CLI_FORMAT_BOLD_UNDERLINE } from "../tester/cliFormat";
16
16
  import { Plugin } from "../cli";
17
17
 
18
18
  export interface LintProjectOptions {
19
19
  keyPattern?: string;
20
20
  entityType?: string;
21
+ authors?: boolean;
21
22
  }
22
23
 
23
24
  const ENTITY_NAME_REGEX = /^[a-zA-Z0-9_\-.]+$/;
24
25
  const ENTITY_NAME_REGEX_ERROR = "Names must be alphanumeric and can contain _, -, and .";
25
26
 
27
+ async function getAuthorsOfEntity(datasource, entityType, entityKey): Promise<string[]> {
28
+ const entries = await datasource.listHistoryEntries(entityType, entityKey);
29
+ const authors: string[] = Array.from(new Set(entries.map((entry) => entry.author)));
30
+
31
+ return authors;
32
+ }
33
+
26
34
  export async function lintProject(
27
35
  deps: Dependencies,
28
36
  options: LintProjectOptions = {},
@@ -81,7 +89,13 @@ export async function lintProject(
81
89
  const fullPath = getFullPathFromKey("attribute", key);
82
90
 
83
91
  if (!ENTITY_NAME_REGEX.test(key)) {
84
- console.log(CLI_FORMAT_UNDERLINE, fullPath);
92
+ console.log(CLI_FORMAT_BOLD_UNDERLINE, fullPath);
93
+
94
+ if (options.authors) {
95
+ const authors = await getAuthorsOfEntity(datasource, "attribute", key);
96
+ console.log(` Authors: ${authors.join(", ")}\n`);
97
+ }
98
+
85
99
  console.log(CLI_FORMAT_RED, ` => Error: Invalid name: "${key}"`);
86
100
  console.log(CLI_FORMAT_RED, ` ${ENTITY_NAME_REGEX_ERROR}`);
87
101
  console.log("");
@@ -94,7 +108,12 @@ export async function lintProject(
94
108
  const result = attributeZodSchema.safeParse(parsed);
95
109
 
96
110
  if (!result.success) {
97
- console.log(CLI_FORMAT_UNDERLINE, fullPath);
111
+ console.log(CLI_FORMAT_BOLD_UNDERLINE, fullPath);
112
+
113
+ if (options.authors) {
114
+ const authors = await getAuthorsOfEntity(datasource, "attribute", key);
115
+ console.log(` Authors: ${authors.join(", ")}\n`);
116
+ }
98
117
 
99
118
  if ("error" in result) {
100
119
  printZodError(result.error);
@@ -103,7 +122,13 @@ export async function lintProject(
103
122
  hasError = true;
104
123
  }
105
124
  } catch (e) {
106
- console.log(CLI_FORMAT_UNDERLINE, fullPath);
125
+ console.log(CLI_FORMAT_BOLD_UNDERLINE, fullPath);
126
+
127
+ if (options.authors) {
128
+ const authors = await getAuthorsOfEntity(datasource, "attribute", key);
129
+ console.log(` Authors: ${authors.join(", ")}\n`);
130
+ }
131
+
107
132
  console.log("");
108
133
  console.log(e);
109
134
 
@@ -131,7 +156,13 @@ export async function lintProject(
131
156
  const fullPath = getFullPathFromKey("segment", key);
132
157
 
133
158
  if (!ENTITY_NAME_REGEX.test(key)) {
134
- console.log(CLI_FORMAT_UNDERLINE, fullPath);
159
+ console.log(CLI_FORMAT_BOLD_UNDERLINE, fullPath);
160
+
161
+ if (options.authors) {
162
+ const authors = await getAuthorsOfEntity(datasource, "segment", key);
163
+ console.log(` Authors: ${authors.join(", ")}\n`);
164
+ }
165
+
135
166
  console.log(CLI_FORMAT_RED, ` => Error: Invalid name: "${key}"`);
136
167
  console.log(CLI_FORMAT_RED, ` ${ENTITY_NAME_REGEX_ERROR}`);
137
168
  console.log("");
@@ -144,7 +175,12 @@ export async function lintProject(
144
175
  const result = segmentZodSchema.safeParse(parsed);
145
176
 
146
177
  if (!result.success) {
147
- console.log(CLI_FORMAT_UNDERLINE, fullPath);
178
+ console.log(CLI_FORMAT_BOLD_UNDERLINE, fullPath);
179
+
180
+ if (options.authors) {
181
+ const authors = await getAuthorsOfEntity(datasource, "segment", key);
182
+ console.log(` Authors: ${authors.join(", ")}\n`);
183
+ }
148
184
 
149
185
  if ("error" in result) {
150
186
  printZodError(result.error);
@@ -153,7 +189,13 @@ export async function lintProject(
153
189
  hasError = true;
154
190
  }
155
191
  } catch (e) {
156
- console.log(CLI_FORMAT_UNDERLINE, fullPath);
192
+ console.log(CLI_FORMAT_BOLD_UNDERLINE, fullPath);
193
+
194
+ if (options.authors) {
195
+ const authors = await getAuthorsOfEntity(datasource, "segment", key);
196
+ console.log(` Authors: ${authors.join(", ")}\n`);
197
+ }
198
+
157
199
  console.log("");
158
200
  console.log(e);
159
201
 
@@ -183,7 +225,13 @@ export async function lintProject(
183
225
  const fullPath = getFullPathFromKey("feature", key);
184
226
 
185
227
  if (!ENTITY_NAME_REGEX.test(key)) {
186
- console.log(CLI_FORMAT_UNDERLINE, fullPath);
228
+ console.log(CLI_FORMAT_BOLD_UNDERLINE, fullPath);
229
+
230
+ if (options.authors) {
231
+ const authors = await getAuthorsOfEntity(datasource, "feature", key);
232
+ console.log(` Authors: ${authors.join(", ")}\n`);
233
+ }
234
+
187
235
  console.log(CLI_FORMAT_RED, ` => Error: Invalid name: "${key}"`);
188
236
  console.log(CLI_FORMAT_RED, ` ${ENTITY_NAME_REGEX_ERROR}`);
189
237
  console.log("");
@@ -198,7 +246,12 @@ export async function lintProject(
198
246
  const result = featureZodSchema.safeParse(parsed);
199
247
 
200
248
  if (!result.success) {
201
- console.log(CLI_FORMAT_UNDERLINE, fullPath);
249
+ console.log(CLI_FORMAT_BOLD_UNDERLINE, fullPath);
250
+
251
+ if (options.authors) {
252
+ const authors = await getAuthorsOfEntity(datasource, "feature", key);
253
+ console.log(` Authors: ${authors.join(", ")}\n`);
254
+ }
202
255
 
203
256
  if ("error" in result) {
204
257
  printZodError(result.error);
@@ -207,7 +260,13 @@ export async function lintProject(
207
260
  hasError = true;
208
261
  }
209
262
  } catch (e) {
210
- console.log(CLI_FORMAT_UNDERLINE, fullPath);
263
+ console.log(CLI_FORMAT_BOLD_UNDERLINE, fullPath);
264
+
265
+ if (options.authors) {
266
+ const authors = await getAuthorsOfEntity(datasource, "feature", key);
267
+ console.log(` Authors: ${authors.join(", ")}\n`);
268
+ }
269
+
211
270
  console.log("");
212
271
  console.log(e);
213
272
 
@@ -218,8 +277,15 @@ export async function lintProject(
218
277
  try {
219
278
  await checkForCircularDependencyInRequired(datasource, key, parsed.required);
220
279
  } catch (e) {
221
- console.log(CLI_FORMAT_UNDERLINE, fullPath);
280
+ console.log(CLI_FORMAT_BOLD_UNDERLINE, fullPath);
281
+
282
+ if (options.authors) {
283
+ const authors = await getAuthorsOfEntity(datasource, "feature", key);
284
+ console.log(` Authors: ${authors.join(", ")}\n`);
285
+ }
286
+
222
287
  console.log(CLI_FORMAT_RED, ` => Error: ${e.message}`);
288
+
223
289
  hasError = true;
224
290
  }
225
291
  }
@@ -241,8 +307,14 @@ export async function lintProject(
241
307
  const fullPath = getFullPathFromKey("group", key);
242
308
 
243
309
  if (!ENTITY_NAME_REGEX.test(key)) {
244
- console.log(CLI_FORMAT_UNDERLINE, fullPath);
310
+ console.log(CLI_FORMAT_BOLD_UNDERLINE, fullPath);
245
311
  console.log(CLI_FORMAT_RED, ` => Error: Invalid name: "${key}"`);
312
+
313
+ if (options.authors) {
314
+ const authors = await getAuthorsOfEntity(datasource, "group", key);
315
+ console.log(` Authors: ${authors.join(", ")}\n`);
316
+ }
317
+
246
318
  console.log(CLI_FORMAT_RED, ` ${ENTITY_NAME_REGEX_ERROR}`);
247
319
  console.log("");
248
320
  hasError = true;
@@ -256,7 +328,12 @@ export async function lintProject(
256
328
  const result = groupZodSchema.safeParse(parsed);
257
329
 
258
330
  if (!result.success) {
259
- console.log(CLI_FORMAT_UNDERLINE, fullPath);
331
+ console.log(CLI_FORMAT_BOLD_UNDERLINE, fullPath);
332
+
333
+ if (options.authors) {
334
+ const authors = await getAuthorsOfEntity(datasource, "group", key);
335
+ console.log(` Authors: ${authors.join(", ")}\n`);
336
+ }
260
337
 
261
338
  if ("error" in result) {
262
339
  printZodError(result.error);
@@ -265,7 +342,13 @@ export async function lintProject(
265
342
  hasError = true;
266
343
  }
267
344
  } catch (e) {
268
- console.log(CLI_FORMAT_UNDERLINE, fullPath);
345
+ console.log(CLI_FORMAT_BOLD_UNDERLINE, fullPath);
346
+
347
+ if (options.authors) {
348
+ const authors = await getAuthorsOfEntity(datasource, "group", key);
349
+ console.log(` Authors: ${authors.join(", ")}\n`);
350
+ }
351
+
269
352
  console.log("");
270
353
  console.log(e);
271
354
 
@@ -276,7 +359,7 @@ export async function lintProject(
276
359
  try {
277
360
  await checkForFeatureExceedingGroupSlotPercentage(datasource, parsed, features);
278
361
  } catch (e) {
279
- console.log(CLI_FORMAT_UNDERLINE, fullPath);
362
+ console.log(CLI_FORMAT_BOLD_UNDERLINE, fullPath);
280
363
  console.log(CLI_FORMAT_RED, ` => Error: ${e.message}`);
281
364
  hasError = true;
282
365
  }
@@ -306,7 +389,13 @@ export async function lintProject(
306
389
  const fullPath = getFullPathFromKey("test", key);
307
390
 
308
391
  if (!ENTITY_NAME_REGEX.test(key)) {
309
- console.log(CLI_FORMAT_UNDERLINE, fullPath);
392
+ console.log(CLI_FORMAT_BOLD_UNDERLINE, fullPath);
393
+
394
+ if (options.authors) {
395
+ const authors = await getAuthorsOfEntity(datasource, "test", key);
396
+ console.log(` Authors: ${authors.join(", ")}\n`);
397
+ }
398
+
310
399
  console.log(CLI_FORMAT_RED, ` => Error: Invalid name: "${key}"`);
311
400
  console.log(CLI_FORMAT_RED, ` ${ENTITY_NAME_REGEX_ERROR}`);
312
401
  console.log("");
@@ -319,7 +408,12 @@ export async function lintProject(
319
408
  const result = testsZodSchema.safeParse(parsed);
320
409
 
321
410
  if (!result.success) {
322
- console.log(CLI_FORMAT_UNDERLINE, fullPath);
411
+ console.log(CLI_FORMAT_BOLD_UNDERLINE, fullPath);
412
+
413
+ if (options.authors) {
414
+ const authors = await getAuthorsOfEntity(datasource, "test", key);
415
+ console.log(` Authors: ${authors.join(", ")}\n`);
416
+ }
323
417
 
324
418
  if ("error" in result) {
325
419
  printZodError(result.error);
@@ -330,7 +424,13 @@ export async function lintProject(
330
424
  hasError = true;
331
425
  }
332
426
  } catch (e) {
333
- console.log(CLI_FORMAT_UNDERLINE, fullPath);
427
+ console.log(CLI_FORMAT_BOLD_UNDERLINE, fullPath);
428
+
429
+ if (options.authors) {
430
+ const authors = await getAuthorsOfEntity(datasource, "test", key);
431
+ console.log(` Authors: ${authors.join(", ")}\n`);
432
+ }
433
+
334
434
  console.log("");
335
435
  console.log(e);
336
436
 
@@ -357,6 +457,7 @@ export const lintPlugin: Plugin = {
357
457
  {
358
458
  keyPattern: parsed.keyPattern,
359
459
  entityType: parsed.entityType,
460
+ authors: parsed.authors,
360
461
  },
361
462
  );
362
463
 
@@ -22,8 +22,6 @@ export function printZodError(e: ZodError) {
22
22
  }
23
23
  }
24
24
 
25
- if (issues.length > 1) {
26
- console.error("");
27
- }
25
+ console.error("");
28
26
  });
29
27
  }
@@ -3,3 +3,4 @@ export const CLI_FORMAT_GREEN = "\x1b[32m%s\x1b[0m";
3
3
 
4
4
  export const CLI_FORMAT_BOLD = "\x1b[1m%s\x1b[0m";
5
5
  export const CLI_FORMAT_UNDERLINE = "\x1b[4m%s\x1b[0m";
6
+ export const CLI_FORMAT_BOLD_UNDERLINE = "\x1b[1m\x1b[4m%s\x1b[0m";