@featurevisor/core 2.14.0 → 2.15.0

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 (93) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/coverage/clover.xml +774 -652
  3. package/coverage/coverage-final.json +19 -18
  4. package/coverage/lcov-report/builder/allocator.ts.html +1 -1
  5. package/coverage/lcov-report/builder/buildScopedConditions.ts.html +1 -1
  6. package/coverage/lcov-report/builder/buildScopedDatafile.ts.html +1 -1
  7. package/coverage/lcov-report/builder/buildScopedSegments.ts.html +1 -1
  8. package/coverage/lcov-report/builder/index.html +1 -1
  9. package/coverage/lcov-report/builder/mutateVariables.ts.html +1 -1
  10. package/coverage/lcov-report/builder/mutator.ts.html +1 -1
  11. package/coverage/lcov-report/builder/revision.ts.html +1 -1
  12. package/coverage/lcov-report/builder/traffic.ts.html +1 -1
  13. package/coverage/lcov-report/config/index.html +30 -15
  14. package/coverage/lcov-report/config/index.ts.html +88 -0
  15. package/coverage/lcov-report/config/projectConfig.ts.html +79 -46
  16. package/coverage/lcov-report/datasource/adapter.ts.html +74 -11
  17. package/coverage/lcov-report/datasource/datasource.ts.html +76 -25
  18. package/coverage/lcov-report/datasource/filesystemAdapter.ts.html +690 -66
  19. package/coverage/lcov-report/datasource/index.html +35 -35
  20. package/coverage/lcov-report/datasource/index.ts.html +1 -1
  21. package/coverage/lcov-report/index.html +43 -43
  22. package/coverage/lcov-report/linter/attributeSchema.ts.html +4 -4
  23. package/coverage/lcov-report/linter/checkCircularDependency.ts.html +1 -1
  24. package/coverage/lcov-report/linter/checkPercentageExceedingSlot.ts.html +1 -1
  25. package/coverage/lcov-report/linter/conditionSchema.ts.html +7 -7
  26. package/coverage/lcov-report/linter/featureSchema.ts.html +152 -164
  27. package/coverage/lcov-report/linter/groupSchema.ts.html +3 -3
  28. package/coverage/lcov-report/linter/index.html +34 -34
  29. package/coverage/lcov-report/linter/lintProject.ts.html +428 -83
  30. package/coverage/lcov-report/linter/mutationNotation.ts.html +3 -3
  31. package/coverage/lcov-report/linter/printError.ts.html +9 -9
  32. package/coverage/lcov-report/linter/schema.ts.html +4 -4
  33. package/coverage/lcov-report/linter/segmentSchema.ts.html +3 -3
  34. package/coverage/lcov-report/linter/testSchema.ts.html +6 -6
  35. package/coverage/lcov-report/list/index.html +1 -1
  36. package/coverage/lcov-report/list/matrix.ts.html +1 -1
  37. package/coverage/lcov-report/parsers/index.html +1 -1
  38. package/coverage/lcov-report/parsers/index.ts.html +4 -4
  39. package/coverage/lcov-report/parsers/json.ts.html +2 -2
  40. package/coverage/lcov-report/parsers/yml.ts.html +6 -6
  41. package/coverage/lcov-report/tester/cliFormat.ts.html +1 -1
  42. package/coverage/lcov-report/tester/helpers.ts.html +1 -1
  43. package/coverage/lcov-report/tester/index.html +1 -1
  44. package/coverage/lcov-report/utils/git.ts.html +118 -16
  45. package/coverage/lcov-report/utils/index.html +14 -14
  46. package/coverage/lcov.info +1374 -1107
  47. package/lib/config/projectConfig.d.ts +3 -0
  48. package/lib/config/projectConfig.js +7 -1
  49. package/lib/config/projectConfig.js.map +1 -1
  50. package/lib/config/projectConfig.spec.d.ts +1 -0
  51. package/lib/config/projectConfig.spec.js +24 -0
  52. package/lib/config/projectConfig.spec.js.map +1 -0
  53. package/lib/datasource/adapter.d.ts +7 -0
  54. package/lib/datasource/adapter.js +7 -0
  55. package/lib/datasource/adapter.js.map +1 -1
  56. package/lib/datasource/datasource.d.ts +3 -1
  57. package/lib/datasource/datasource.js +6 -0
  58. package/lib/datasource/datasource.js.map +1 -1
  59. package/lib/datasource/filesystemAdapter.d.ts +8 -0
  60. package/lib/datasource/filesystemAdapter.js +134 -7
  61. package/lib/datasource/filesystemAdapter.js.map +1 -1
  62. package/lib/datasource/filesystemAdapter.spec.d.ts +1 -0
  63. package/lib/datasource/filesystemAdapter.spec.js +88 -0
  64. package/lib/datasource/filesystemAdapter.spec.js.map +1 -0
  65. package/lib/linter/conditionSchema.spec.js +2 -0
  66. package/lib/linter/conditionSchema.spec.js.map +1 -1
  67. package/lib/linter/featureSchema.js +46 -49
  68. package/lib/linter/featureSchema.js.map +1 -1
  69. package/lib/linter/featureSchema.spec.js +17 -0
  70. package/lib/linter/featureSchema.spec.js.map +1 -1
  71. package/lib/linter/lintProject.d.ts +2 -0
  72. package/lib/linter/lintProject.js +85 -8
  73. package/lib/linter/lintProject.js.map +1 -1
  74. package/lib/linter/lintProject.spec.js +37 -0
  75. package/lib/linter/lintProject.spec.js.map +1 -1
  76. package/lib/linter/segmentSchema.spec.js +2 -0
  77. package/lib/linter/segmentSchema.spec.js.map +1 -1
  78. package/lib/utils/git.js +32 -7
  79. package/lib/utils/git.js.map +1 -1
  80. package/package.json +2 -2
  81. package/src/config/projectConfig.spec.ts +31 -0
  82. package/src/config/projectConfig.ts +11 -0
  83. package/src/datasource/adapter.ts +21 -0
  84. package/src/datasource/datasource.ts +18 -1
  85. package/src/datasource/filesystemAdapter.spec.ts +153 -0
  86. package/src/datasource/filesystemAdapter.ts +216 -8
  87. package/src/linter/conditionSchema.spec.ts +2 -0
  88. package/src/linter/featureSchema.spec.ts +21 -0
  89. package/src/linter/featureSchema.ts +84 -88
  90. package/src/linter/lintProject.spec.ts +74 -0
  91. package/src/linter/lintProject.ts +123 -8
  92. package/src/linter/segmentSchema.spec.ts +2 -0
  93. package/src/utils/git.ts +41 -7
@@ -59,6 +59,40 @@ async function lintProject(deps, options = {}) {
59
59
  }
60
60
  return fullPath;
61
61
  }
62
+ async function getFeaturePathFromIssuePath(featureKey, issuePath = []) {
63
+ const defaultPath = getFullPathFromKey("feature", featureKey);
64
+ if (!projectConfig.splitByEnvironment) {
65
+ return defaultPath;
66
+ }
67
+ if (!Array.isArray(projectConfig.environments)) {
68
+ return defaultPath;
69
+ }
70
+ const [topLevelKey, environment] = issuePath;
71
+ if ((topLevelKey === "rules" || topLevelKey === "force" || topLevelKey === "expose") &&
72
+ typeof environment === "string") {
73
+ const sourcePath = await datasource.getFeaturePropertySourcePath(featureKey, topLevelKey, environment);
74
+ if (sourcePath) {
75
+ return sourcePath;
76
+ }
77
+ }
78
+ return defaultPath;
79
+ }
80
+ /**
81
+ * When the error is from an environment-specific file (splitByEnvironment), the Zod path
82
+ * is against the merged feature (e.g. rules.production.1.variables.foo). Return the path
83
+ * as it appears in that file (e.g. rules.1.variables.foo) by stripping the environment segment.
84
+ */
85
+ function getPathRelativeToFeatureFile(issuePath, targetPath, defaultFeaturePath) {
86
+ if (targetPath === defaultFeaturePath || issuePath.length < 2) {
87
+ return issuePath;
88
+ }
89
+ const [topLevelKey, second] = issuePath;
90
+ if ((topLevelKey === "rules" || topLevelKey === "force" || topLevelKey === "expose") &&
91
+ typeof second === "string") {
92
+ return [topLevelKey, ...issuePath.slice(2)];
93
+ }
94
+ return issuePath;
95
+ }
62
96
  async function printEntityHeader(entityType, key, fullPath) {
63
97
  if (isJsonMode) {
64
98
  return;
@@ -92,9 +126,16 @@ async function lintProject(deps, options = {}) {
92
126
  }
93
127
  }
94
128
  async function reportThrownError(entityType, key, fullPath, error) {
129
+ const pathFromError = error &&
130
+ typeof error === "object" &&
131
+ "featurevisorFilePath" in error &&
132
+ typeof error.featurevisorFilePath === "string"
133
+ ? error.featurevisorFilePath
134
+ : undefined;
135
+ const targetPath = pathFromError || fullPath;
95
136
  const message = error instanceof Error ? error.message : String(error);
96
137
  recordError({
97
- filePath: path.relative(process.cwd(), fullPath),
138
+ filePath: path.relative(process.cwd(), targetPath),
98
139
  entityType,
99
140
  key,
100
141
  message,
@@ -102,27 +143,63 @@ async function lintProject(deps, options = {}) {
102
143
  code: error instanceof Error ? error.name : undefined,
103
144
  });
104
145
  if (!isJsonMode) {
105
- await printEntityHeader(entityType, key, fullPath);
146
+ await printEntityHeader(entityType, key, targetPath);
106
147
  console.log("");
107
148
  console.log(error);
108
149
  }
109
150
  }
110
151
  async function reportZodValidationError(entityType, key, fullPath, error) {
111
152
  const issues = (0, printError_1.getLintIssuesFromZodError)(error);
112
- issues.forEach((issue) => {
153
+ const defaultFeaturePath = entityType === "feature" ? getFullPathFromKey("feature", key) : fullPath;
154
+ const issuesWithTargetPath = [];
155
+ for (const issue of issues) {
156
+ const targetPath = entityType === "feature" ? await getFeaturePathFromIssuePath(key, issue.path) : fullPath;
157
+ const pathRelativeToFile = entityType === "feature"
158
+ ? getPathRelativeToFeatureFile(issue.path, targetPath, defaultFeaturePath)
159
+ : issue.path;
160
+ const isFromEnvFile = entityType === "feature" &&
161
+ targetPath !== defaultFeaturePath &&
162
+ issue.path.length >= 2 &&
163
+ (issue.path[0] === "rules" || issue.path[0] === "force" || issue.path[0] === "expose") &&
164
+ typeof issue.path[1] === "string";
165
+ const environment = isFromEnvFile ? issue.path[1] : undefined;
166
+ issuesWithTargetPath.push({ issue, targetPath, pathRelativeToFile });
113
167
  recordError({
114
- filePath: path.relative(process.cwd(), fullPath),
168
+ filePath: path.relative(process.cwd(), targetPath),
115
169
  entityType,
116
170
  key,
117
171
  message: issue.message,
118
- path: issue.path,
172
+ path: pathRelativeToFile,
119
173
  code: issue.code,
120
174
  value: issue.value,
175
+ ...(environment !== undefined && { environment }),
121
176
  });
122
- });
177
+ }
123
178
  if (!isJsonMode) {
124
- await printEntityHeader(entityType, key, fullPath);
125
- (0, printError_1.printZodError)(error);
179
+ if (entityType === "feature" && issuesWithTargetPath.length > 0) {
180
+ const byPath = new Map();
181
+ for (const { issue, targetPath, pathRelativeToFile } of issuesWithTargetPath) {
182
+ const pathKey = targetPath;
183
+ if (!byPath.has(pathKey))
184
+ byPath.set(pathKey, []);
185
+ byPath.get(pathKey).push({ issue, pathRelativeToFile });
186
+ }
187
+ for (const [targetPathKey, groupItems] of byPath) {
188
+ await printEntityHeader(entityType, key, targetPathKey);
189
+ for (const { issue, pathRelativeToFile } of groupItems) {
190
+ console.log(cliFormat_1.CLI_FORMAT_RED, ` => Error: ${issue.message}`);
191
+ console.log(" Path:", pathRelativeToFile.join("."));
192
+ if (typeof issue.value !== "undefined" && issue.value !== "undefined") {
193
+ console.log(" Value:", issue.value);
194
+ }
195
+ console.log("");
196
+ }
197
+ }
198
+ }
199
+ else {
200
+ await printEntityHeader(entityType, key, fullPath);
201
+ (0, printError_1.printZodError)(error);
202
+ }
126
203
  }
127
204
  }
128
205
  const keyPattern = options.keyPattern ? new RegExp(options.keyPattern) : null;
@@ -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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"}
@@ -12,6 +12,23 @@ function createTempProjectFromExample1() {
12
12
  fs.cpSync(fixturePath, tempRoot, { recursive: true });
13
13
  return tempRoot;
14
14
  }
15
+ function createTempSplitProject() {
16
+ const tempRoot = fs.mkdtempSync(path.join(os.tmpdir(), "featurevisor-lint-split-"));
17
+ fs.writeFileSync(path.join(tempRoot, "featurevisor.config.js"), [
18
+ "module.exports = {",
19
+ " environments: ['staging', 'production'],",
20
+ " splitByEnvironment: true,",
21
+ " tags: ['all'],",
22
+ "};",
23
+ ].join("\n"), "utf8");
24
+ fs.mkdirSync(path.join(tempRoot, "features"), { recursive: true });
25
+ fs.mkdirSync(path.join(tempRoot, "environments", "staging"), { recursive: true });
26
+ fs.mkdirSync(path.join(tempRoot, "environments", "production"), { recursive: true });
27
+ fs.writeFileSync(path.join(tempRoot, "features", "foo.yml"), ["key: foo", "description: Foo", "tags:", " - all", "bucketBy: userId"].join("\n"), "utf8");
28
+ fs.writeFileSync(path.join(tempRoot, "environments", "staging", "foo.yml"), ["rules:", " - key: everyone", " segments: '*'", " percentage: 100"].join("\n"), "utf8");
29
+ fs.writeFileSync(path.join(tempRoot, "environments", "production", "foo.yml"), ["rules:", " - key: everyone", " segments: '*'", " percentage: 0"].join("\n"), "utf8");
30
+ return tempRoot;
31
+ }
15
32
  function getDeps(rootDirectoryPath) {
16
33
  const projectConfig = (0, projectConfig_1.getProjectConfig)(rootDirectoryPath);
17
34
  const datasource = new datasource_1.Datasource(projectConfig, rootDirectoryPath);
@@ -82,5 +99,25 @@ describe("core: lintProject", function () {
82
99
  expect(result.errors.length).toBeGreaterThan(0);
83
100
  expect(processExitSpy).not.toHaveBeenCalled();
84
101
  });
102
+ it("reports missing split environment file with environment file path", async () => {
103
+ const splitProjectPath = createTempSplitProject();
104
+ fs.unlinkSync(path.join(splitProjectPath, "environments", "production", "foo.yml"));
105
+ const result = await (0, lintProject_1.lintProject)(getDeps(splitProjectPath), {
106
+ json: true,
107
+ entityType: "feature",
108
+ });
109
+ expect(result.hasError).toBe(true);
110
+ expect(result.errors[0].filePath).toContain(path.join("environments", "production", "foo.yml"));
111
+ });
112
+ it("reports split environment feature schema errors against environment file path", async () => {
113
+ const splitProjectPath = createTempSplitProject();
114
+ fs.writeFileSync(path.join(splitProjectPath, "environments", "staging", "foo.yml"), ["rules:", " - key: everyone", " segments: '*'", " percentage: invalid"].join("\n"), "utf8");
115
+ const result = await (0, lintProject_1.lintProject)(getDeps(splitProjectPath), {
116
+ json: true,
117
+ entityType: "feature",
118
+ });
119
+ expect(result.hasError).toBe(true);
120
+ expect(result.errors.some((error) => error.filePath.includes(path.join("environments", "staging", "foo.yml")))).toBe(true);
121
+ });
85
122
  });
86
123
  //# sourceMappingURL=lintProject.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lintProject.spec.js","sourceRoot":"","sources":["../../src/linter/lintProject.spec.ts"],"names":[],"mappings":";;AAAA,yBAAyB;AACzB,yBAAyB;AACzB,6BAA6B;AAE7B,2DAA2D;AAC3D,8CAA2C;AAC3C,+CAAyE;AAEzE,SAAS,6BAA6B;IACpC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,gCAAgC,CAAC,CAAC;IAC9E,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAE9E,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEtD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,OAAO,CAAC,iBAAyB;IACxC,MAAM,aAAa,GAAG,IAAA,gCAAgB,EAAC,iBAAiB,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,IAAI,uBAAU,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;IAEpE,OAAO;QACL,iBAAiB;QACjB,aAAa;QACb,UAAU;QACV,OAAO,EAAE,EAAE;KACZ,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,mBAAmB,EAAE;IAC5B,IAAI,eAAuB,CAAC;IAE5B,UAAU,CAAC,GAAG,EAAE;QACd,eAAe,GAAG,6BAA6B,EAAE,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,MAAM,GAAG,MAAM,IAAA,yBAAW,EAAC,OAAO,CAAC,eAAe,CAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAElF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,EAAE;SACX,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,YAAY,EAAE,kBAAkB,CAAC,EAC5D,2DAA2D,EAC3D,MAAM,CACP,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAA,yBAAW,EAAC,OAAO,CAAC,eAAe,CAAQ,EAAE;YAChE,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAEhD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YACrC,UAAU,EAAE,WAAW;YACvB,GAAG,EAAE,cAAc;YACnB,OAAO,EAAE,8BAA8B;YACvC,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,EAAE;SACT,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAE9E,MAAM,YAAY,GAAG,MAAM,wBAAU,CAAC,OAAO,CAAC;YAC5C,GAAG,OAAO,CAAC,eAAe,CAAC;YAC3B,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,IAAI;aACb;SACK,CAAC,CAAC;QAEV,MAAM,CAAC,YAAY,CAAC,CAAC,aAAa,EAAE,CAAC;QACrC,MAAM,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAE/C,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAW,CAAC;QACxD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACxF,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,iBAAiB,CAAC,EACtD,gBAAgB,EAChB,MAAM,CACP,CAAC;QAEF,MAAM,cAAc,GAAG,IAAI;aACxB,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC;aACtB,kBAAkB,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,CAAmC,CAAC,CAAC;QAE3E,MAAM,MAAM,GAAe,MAAM,IAAA,yBAAW,EAAC,OAAO,CAAC,eAAe,CAAQ,EAAE;YAC5E,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,MAAM;SACnB,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"lintProject.spec.js","sourceRoot":"","sources":["../../src/linter/lintProject.spec.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,9 @@ function minimalProjectConfig() {
15
15
  datafileNamePattern: "",
16
16
  revisionFileName: "",
17
17
  siteExportDirectoryPath: "",
18
+ environmentsDirectoryPath: "",
18
19
  environments: ["staging", "production"],
20
+ splitByEnvironment: false,
19
21
  tags: ["all"],
20
22
  adapter: {},
21
23
  plugins: [],
@@ -1 +1 @@
1
- {"version":3,"file":"segmentSchema.spec.js","sourceRoot":"","sources":["../../src/linter/segmentSchema.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"segmentSchema.spec.js","sourceRoot":"","sources":["../../src/linter/segmentSchema.spec.ts"],"names":[],"mappings":"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"}
package/lib/utils/git.js CHANGED
@@ -2,6 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getCommit = getCommit;
4
4
  const path = require("path");
5
+ function isWithinDirectory(directoryPath, fileDirectoryPath) {
6
+ return (fileDirectoryPath === directoryPath || fileDirectoryPath.startsWith(directoryPath + path.sep));
7
+ }
5
8
  function parseGitCommitShowOutput(gitShowOutput) {
6
9
  const result = {
7
10
  hash: "",
@@ -72,22 +75,26 @@ function getCommit(gitShowOutput, options) {
72
75
  const relativeDir = path.dirname(absolutePath);
73
76
  // get entity type
74
77
  let type = "attribute";
75
- if (relativeDir === projectConfig.attributesDirectoryPath) {
78
+ if (isWithinDirectory(projectConfig.attributesDirectoryPath, relativeDir)) {
76
79
  type = "attribute";
77
80
  }
78
- else if (relativeDir === projectConfig.segmentsDirectoryPath) {
81
+ else if (isWithinDirectory(projectConfig.segmentsDirectoryPath, relativeDir)) {
79
82
  type = "segment";
80
83
  }
81
- else if (relativeDir === projectConfig.featuresDirectoryPath) {
84
+ else if (isWithinDirectory(projectConfig.featuresDirectoryPath, relativeDir)) {
85
+ type = "feature";
86
+ }
87
+ else if (projectConfig.splitByEnvironment &&
88
+ isWithinDirectory(projectConfig.environmentsDirectoryPath, relativeDir)) {
82
89
  type = "feature";
83
90
  }
84
- else if (relativeDir === projectConfig.groupsDirectoryPath) {
91
+ else if (isWithinDirectory(projectConfig.groupsDirectoryPath, relativeDir)) {
85
92
  type = "group";
86
93
  }
87
- else if (relativeDir === projectConfig.schemasDirectoryPath) {
94
+ else if (isWithinDirectory(projectConfig.schemasDirectoryPath, relativeDir)) {
88
95
  type = "schema";
89
96
  }
90
- else if (relativeDir === projectConfig.testsDirectoryPath) {
97
+ else if (isWithinDirectory(projectConfig.testsDirectoryPath, relativeDir)) {
91
98
  type = "test";
92
99
  }
93
100
  else {
@@ -101,7 +108,25 @@ function getCommit(gitShowOutput, options) {
101
108
  // unknown extension
102
109
  return;
103
110
  }
104
- const key = fileName.replace(extensionWithDot, "");
111
+ let key = fileName.replace(extensionWithDot, "");
112
+ if (type === "feature" &&
113
+ projectConfig.splitByEnvironment &&
114
+ absolutePath.startsWith(projectConfig.environmentsDirectoryPath + path.sep)) {
115
+ const featureRelativePath = absolutePath
116
+ .replace(projectConfig.environmentsDirectoryPath + path.sep, "")
117
+ .split(path.sep)
118
+ .slice(1)
119
+ .join(path.sep)
120
+ .replace(extensionWithDot, "");
121
+ key = featureRelativePath.replace(/\\/g, "/");
122
+ }
123
+ else if (type === "feature" &&
124
+ absolutePath.startsWith(projectConfig.featuresDirectoryPath + path.sep)) {
125
+ key = absolutePath
126
+ .replace(projectConfig.featuresDirectoryPath + path.sep, "")
127
+ .replace(extensionWithDot, "")
128
+ .replace(/\\/g, "/");
129
+ }
105
130
  const entityDiff = {
106
131
  type,
107
132
  key,
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@featurevisor/core",
3
- "version": "2.14.0",
3
+ "version": "2.15.0",
4
4
  "description": "Core package of Featurevisor for Node.js usage",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -49,5 +49,5 @@
49
49
  "yargs": "^17.7.2",
50
50
  "zod": "^3.22.4"
51
51
  },
52
- "gitHead": "626b7b14c3811d495dad8ac89980210f1bcdf226"
52
+ "gitHead": "5d3bb98dcc4f3570d5fc43413b095e753f5bcd59"
53
53
  }
@@ -0,0 +1,31 @@
1
+ import * as fs from "fs";
2
+ import * as os from "os";
3
+ import * as path from "path";
4
+
5
+ import { getProjectConfig, ENVIRONMENTS_DIRECTORY_NAME } from "./projectConfig";
6
+
7
+ function createTempProject(configBody: string) {
8
+ const tempRoot = fs.mkdtempSync(path.join(os.tmpdir(), "featurevisor-project-config-"));
9
+ fs.writeFileSync(path.join(tempRoot, "featurevisor.config.js"), configBody, "utf8");
10
+ return tempRoot;
11
+ }
12
+
13
+ describe("core: projectConfig", () => {
14
+ it("sets splitByEnvironment=false and environmentsDirectoryPath by default", () => {
15
+ const root = createTempProject("module.exports = {};");
16
+ const config = getProjectConfig(root);
17
+
18
+ expect(config.splitByEnvironment).toBe(false);
19
+ expect(config.environmentsDirectoryPath).toBe(path.join(root, ENVIRONMENTS_DIRECTORY_NAME));
20
+ });
21
+
22
+ it("throws when splitByEnvironment=true and environments=false", () => {
23
+ const root = createTempProject(
24
+ "module.exports = { splitByEnvironment: true, environments: false };",
25
+ );
26
+
27
+ expect(() => getProjectConfig(root)).toThrow(
28
+ "Invalid configuration: splitByEnvironment=true requires environments to be an array",
29
+ );
30
+ });
31
+ });
@@ -18,6 +18,7 @@ export const DATAFILES_DIRECTORY_NAME = "datafiles";
18
18
  export const DATAFILE_NAME_PATTERN = "featurevisor-%s.json";
19
19
  export const REVISION_FILE_NAME = "REVISION";
20
20
  export const SITE_EXPORT_DIRECTORY_NAME = "out";
21
+ export const ENVIRONMENTS_DIRECTORY_NAME = "environments";
21
22
 
22
23
  export const CONFIG_MODULE_NAME = "featurevisor.config.js";
23
24
  export const ROOT_DIR_PLACEHOLDER = "<rootDir>";
@@ -52,8 +53,10 @@ export interface ProjectConfig {
52
53
  datafileNamePattern: string;
53
54
  revisionFileName: string;
54
55
  siteExportDirectoryPath: string;
56
+ environmentsDirectoryPath: string;
55
57
 
56
58
  environments: string[] | false;
59
+ splitByEnvironment: boolean;
57
60
  tags: string[];
58
61
  scopes?: Scope[];
59
62
 
@@ -91,6 +94,7 @@ export function getProjectConfig(rootDirectoryPath: string): ProjectConfig {
91
94
  adapter: FilesystemAdapter,
92
95
 
93
96
  featuresDirectoryPath: path.join(rootDirectoryPath, FEATURES_DIRECTORY_NAME),
97
+ environmentsDirectoryPath: path.join(rootDirectoryPath, ENVIRONMENTS_DIRECTORY_NAME),
94
98
  segmentsDirectoryPath: path.join(rootDirectoryPath, SEGMENTS_DIRECTORY_NAME),
95
99
  attributesDirectoryPath: path.join(rootDirectoryPath, ATTRIBUTES_DIRECTORY_NAME),
96
100
  groupsDirectoryPath: path.join(rootDirectoryPath, GROUPS_DIRECTORY_NAME),
@@ -104,6 +108,7 @@ export function getProjectConfig(rootDirectoryPath: string): ProjectConfig {
104
108
 
105
109
  enforceCatchAllRule: false,
106
110
  plugins: [],
111
+ splitByEnvironment: false,
107
112
 
108
113
  maxVariableStringLength: undefined,
109
114
  maxVariableArrayStringifiedLength: undefined,
@@ -136,6 +141,12 @@ export function getProjectConfig(rootDirectoryPath: string): ProjectConfig {
136
141
  finalConfig.parser = parsers[finalConfig.parser];
137
142
  }
138
143
 
144
+ if (finalConfig.splitByEnvironment && finalConfig.environments === false) {
145
+ throw new Error(
146
+ "Invalid configuration: splitByEnvironment=true requires environments to be an array",
147
+ );
148
+ }
149
+
139
150
  return finalConfig as ProjectConfig;
140
151
  }
141
152
 
@@ -1,3 +1,4 @@
1
+ /* eslint-disable @typescript-eslint/no-unused-vars */
1
2
  import type {
2
3
  DatafileContent,
3
4
  EnvironmentKey,
@@ -17,6 +18,13 @@ export interface DatafileOptions {
17
18
  datafilesDir?: string;
18
19
  }
19
20
 
21
+ export type FeatureEnvironmentProperty = "rules" | "force" | "expose";
22
+
23
+ export interface FeatureSourcePaths {
24
+ baseFilePath: string;
25
+ environmentFilePaths: Record<string, string>;
26
+ }
27
+
20
28
  export abstract class Adapter {
21
29
  // entities
22
30
  abstract listEntities(entityType: EntityType): Promise<string[]>;
@@ -47,4 +55,17 @@ export abstract class Adapter {
47
55
  entityType?: EntityType,
48
56
  entityKey?: string,
49
57
  ): Promise<Commit>;
58
+
59
+ // feature source helpers (used by lint/history attribution)
60
+ async getFeatureSourcePaths(_featureKey: string): Promise<FeatureSourcePaths | undefined> {
61
+ return undefined;
62
+ }
63
+
64
+ async getFeaturePropertySourcePath(
65
+ _featureKey: string,
66
+ _property: FeatureEnvironmentProperty,
67
+ _environment?: string,
68
+ ): Promise<string | undefined> {
69
+ return undefined;
70
+ }
50
71
  }
@@ -18,7 +18,12 @@ import type {
18
18
  import { ProjectConfig } from "../config";
19
19
  import { CustomParser } from "../parsers";
20
20
 
21
- import { Adapter, DatafileOptions } from "./adapter";
21
+ import {
22
+ Adapter,
23
+ DatafileOptions,
24
+ FeatureEnvironmentProperty,
25
+ FeatureSourcePaths,
26
+ } from "./adapter";
22
27
 
23
28
  export class Datasource {
24
29
  private adapter: Adapter;
@@ -93,6 +98,18 @@ export class Datasource {
93
98
  return this.adapter.deleteEntity("feature", featureKey);
94
99
  }
95
100
 
101
+ getFeatureSourcePaths(featureKey: FeatureKey): Promise<FeatureSourcePaths | undefined> {
102
+ return this.adapter.getFeatureSourcePaths(featureKey);
103
+ }
104
+
105
+ getFeaturePropertySourcePath(
106
+ featureKey: FeatureKey,
107
+ property: FeatureEnvironmentProperty,
108
+ environment?: string,
109
+ ): Promise<string | undefined> {
110
+ return this.adapter.getFeaturePropertySourcePath(featureKey, property, environment);
111
+ }
112
+
96
113
  async getRequiredFeaturesChain(
97
114
  featureKey: FeatureKey,
98
115
  chain = new Set<FeatureKey>(),