@featurevisor/core 0.26.0 → 0.27.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,28 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [0.27.1](https://github.com/fahad19/featurevisor/compare/v0.27.0...v0.27.1) (2023-05-25)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * linting improvements ([#78](https://github.com/fahad19/featurevisor/issues/78)) ([8c34b23](https://github.com/fahad19/featurevisor/commit/8c34b23b9cc6071dde03b41128ca0061c7577b4c))
12
+
13
+
14
+
15
+
16
+
17
+ # [0.27.0](https://github.com/fahad19/featurevisor/compare/v0.26.0...v0.27.0) (2023-05-24)
18
+
19
+
20
+ ### Features
21
+
22
+ * allow building datafiles with custom revision flag in CLI ([#77](https://github.com/fahad19/featurevisor/issues/77)) ([dbcdcce](https://github.com/fahad19/featurevisor/commit/dbcdcce28c9d7791b7b010b3940e033439cc92a2))
23
+
24
+
25
+
26
+
27
+
6
28
  # [0.26.0](https://github.com/fahad19/featurevisor/compare/v0.25.0...v0.26.0) (2023-05-24)
7
29
 
8
30
 
package/lib/builder.d.ts CHANGED
@@ -10,4 +10,7 @@ export declare function getDatafilePath(projectConfig: ProjectConfig, environmen
10
10
  export declare function getExistingStateFilePath(projectConfig: ProjectConfig, environment: EnvironmentKey): string;
11
11
  export declare function getFeatureRanges(projectConfig: ProjectConfig): Map<FeatureKey, Range[]>;
12
12
  export declare function buildDatafile(projectConfig: ProjectConfig, options: BuildOptions, existingState: ExistingState): DatafileContent;
13
- export declare function buildProject(rootDirectoryPath: any, projectConfig: ProjectConfig): void;
13
+ export interface BuildCLIOptions {
14
+ revision?: string;
15
+ }
16
+ export declare function buildProject(rootDirectoryPath: any, projectConfig: ProjectConfig, cliOptions?: BuildCLIOptions): void;
package/lib/builder.js CHANGED
@@ -234,7 +234,8 @@ function buildDatafile(projectConfig, options, existingState) {
234
234
  return datafileContent;
235
235
  }
236
236
  exports.buildDatafile = buildDatafile;
237
- function buildProject(rootDirectoryPath, projectConfig) {
237
+ function buildProject(rootDirectoryPath, projectConfig, cliOptions) {
238
+ if (cliOptions === void 0) { cliOptions = {}; }
238
239
  var tags = projectConfig.tags;
239
240
  var environments = projectConfig.environments;
240
241
  var pkg = require(path.join(rootDirectoryPath, "package.json"));
@@ -252,7 +253,7 @@ function buildProject(rootDirectoryPath, projectConfig) {
252
253
  console.log(" => Tag: ".concat(tag));
253
254
  var datafileContent = buildDatafile(projectConfig, {
254
255
  schemaVersion: config_1.SCHEMA_VERSION,
255
- revision: pkg.version,
256
+ revision: cliOptions.revision || pkg.version,
256
257
  environment: environment,
257
258
  tag: tag,
258
259
  }, existingState);
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
package/lib/linter.d.ts CHANGED
@@ -5,6 +5,6 @@ export declare function getConditionsJoiSchema(projectConfig: ProjectConfig, ava
5
5
  export declare function getSegmentJoiSchema(projectConfig: ProjectConfig, conditionsJoiSchema: any): Joi.ObjectSchema<any>;
6
6
  export declare function getGroupJoiSchema(projectConfig: ProjectConfig, availableFeatureKeys: string[]): Joi.ObjectSchema<any>;
7
7
  export declare function getFeatureJoiSchema(projectConfig: ProjectConfig, conditionsJoiSchema: any, availableSegmentKeys: string[]): Joi.ObjectSchema<any>;
8
- export declare function getTestsJoiSchema(projectConfig: ProjectConfig): Joi.ObjectSchema<any>;
8
+ export declare function getTestsJoiSchema(projectConfig: ProjectConfig, availableFeatureKeys: string[]): Joi.ObjectSchema<any>;
9
9
  export declare function printJoiError(e: Joi.ValidationError): void;
10
10
  export declare function lintProject(projectConfig: ProjectConfig): Promise<boolean>;
package/lib/linter.js CHANGED
@@ -196,6 +196,7 @@ function getFeatureJoiSchema(projectConfig, conditionsJoiSchema, availableSegmen
196
196
  variation: variationValueJoiSchema.optional(),
197
197
  variables: Joi.object().optional(), // @TODO: make it stricter
198
198
  }))
199
+ .unique("key")
199
200
  .required(),
200
201
  force: Joi.array().items(Joi.object({
201
202
  // @TODO: either of the two below
@@ -223,17 +224,20 @@ function getFeatureJoiSchema(projectConfig, conditionsJoiSchema, availableSegmen
223
224
  .required(),
224
225
  defaultVariation: variationValueJoiSchema,
225
226
  bucketBy: Joi.alternatives().try(Joi.string(), Joi.array().items(Joi.string())).required(),
226
- variablesSchema: Joi.array().items(Joi.object({
227
+ variablesSchema: Joi.array()
228
+ .items(Joi.object({
227
229
  key: Joi.string(),
228
230
  type: Joi.string().valid("string", "integer", "boolean", "double", "array", "object", "json"),
229
231
  defaultValue: variableValueJoiSchema, // @TODO: make it stricter based on `type`
230
- })),
232
+ }))
233
+ .unique("key"),
231
234
  variations: Joi.array()
232
235
  .items(Joi.object({
233
236
  description: Joi.string(),
234
237
  value: variationValueJoiSchema.required(),
235
238
  weight: Joi.number().precision(3).min(0).max(100).required(),
236
- variables: Joi.array().items(Joi.object({
239
+ variables: Joi.array()
240
+ .items(Joi.object({
237
241
  key: Joi.string(),
238
242
  value: variableValueJoiSchema,
239
243
  overrides: Joi.array().items(Joi.object({
@@ -243,7 +247,8 @@ function getFeatureJoiSchema(projectConfig, conditionsJoiSchema, availableSegmen
243
247
  // @TODO: make it stricter based on `type`
244
248
  value: variableValueJoiSchema,
245
249
  })),
246
- })),
250
+ }))
251
+ .unique("key"),
247
252
  }))
248
253
  .custom(function (value, helpers) {
249
254
  var total = value.reduce(function (a, b) { return a + b.weight; }, 0);
@@ -262,22 +267,23 @@ function getFeatureJoiSchema(projectConfig, conditionsJoiSchema, availableSegmen
262
267
  return featureJoiSchema;
263
268
  }
264
269
  exports.getFeatureJoiSchema = getFeatureJoiSchema;
265
- function getTestsJoiSchema(projectConfig) {
266
- var _a, _b;
270
+ function getTestsJoiSchema(projectConfig, availableFeatureKeys) {
271
+ var _a, _b, _c;
267
272
  var testsJoiSchema = Joi.object({
268
273
  tests: Joi.array().items(Joi.object({
269
274
  description: Joi.string().optional(),
270
275
  tag: (_a = Joi.string()).valid.apply(_a, projectConfig.tags),
271
276
  environment: (_b = Joi.string()).valid.apply(_b, projectConfig.environments),
272
277
  features: Joi.array().items(Joi.object({
273
- key: Joi.string(),
278
+ key: (_c = Joi.string())
279
+ .valid.apply(_c, availableFeatureKeys).required(),
274
280
  assertions: Joi.array().items(Joi.object({
275
281
  description: Joi.string().optional(),
276
282
  at: Joi.number().precision(3).min(0).max(100),
277
283
  attributes: Joi.object(),
278
284
  // @TODO: one or both below
279
285
  expectedVariation: Joi.alternatives().try(Joi.string(), Joi.number(), Joi.boolean()),
280
- expectedVariables: Joi.object(), // @TODO: make it specific
286
+ expectedVariables: Joi.object(),
281
287
  })),
282
288
  })),
283
289
  })),
@@ -447,7 +453,7 @@ function lintProject(projectConfig) {
447
453
  console.log("\nLinting tests...\n");
448
454
  if (!fs.existsSync(projectConfig.testsDirectoryPath)) return [3 /*break*/, 30];
449
455
  testFilePaths = (0, utils_1.getYAMLFiles)(path.join(projectConfig.testsDirectoryPath));
450
- testsJoiSchema = getTestsJoiSchema(projectConfig);
456
+ testsJoiSchema = getTestsJoiSchema(projectConfig, availableFeatureKeys);
451
457
  _d = 0, testFilePaths_1 = testFilePaths;
452
458
  _e.label = 25;
453
459
  case 25:
package/lib/linter.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"linter.js","sourceRoot":"","sources":["../src/linter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"linter.js","sourceRoot":"","sources":["../src/linter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@featurevisor/core",
3
- "version": "0.26.0",
3
+ "version": "0.27.1",
4
4
  "description": "Core package of Featurevisor for Node.js usage",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -41,9 +41,9 @@
41
41
  },
42
42
  "license": "MIT",
43
43
  "dependencies": {
44
- "@featurevisor/sdk": "^0.26.0",
45
- "@featurevisor/site": "^0.26.0",
46
- "@featurevisor/types": "^0.26.0",
44
+ "@featurevisor/sdk": "^0.27.0",
45
+ "@featurevisor/site": "^0.27.0",
46
+ "@featurevisor/types": "^0.27.0",
47
47
  "axios": "^1.3.4",
48
48
  "joi": "^17.8.3",
49
49
  "js-yaml": "^4.1.0",
@@ -54,5 +54,5 @@
54
54
  "@types/js-yaml": "^4.0.5",
55
55
  "@types/tar": "^6.1.4"
56
56
  },
57
- "gitHead": "5c851f170ce21ae72e18c9f80ddef417f47fa621"
57
+ "gitHead": "79e297571c656986dd2d9448ba93980f4a19200c"
58
58
  }
package/src/builder.ts CHANGED
@@ -326,7 +326,15 @@ export function buildDatafile(
326
326
  return datafileContent;
327
327
  }
328
328
 
329
- export function buildProject(rootDirectoryPath, projectConfig: ProjectConfig) {
329
+ export interface BuildCLIOptions {
330
+ revision?: string;
331
+ }
332
+
333
+ export function buildProject(
334
+ rootDirectoryPath,
335
+ projectConfig: ProjectConfig,
336
+ cliOptions: BuildCLIOptions = {},
337
+ ) {
330
338
  const tags = projectConfig.tags;
331
339
  const environments = projectConfig.environments;
332
340
 
@@ -348,7 +356,7 @@ export function buildProject(rootDirectoryPath, projectConfig: ProjectConfig) {
348
356
  projectConfig,
349
357
  {
350
358
  schemaVersion: SCHEMA_VERSION,
351
- revision: pkg.version,
359
+ revision: cliOptions.revision || pkg.version,
352
360
  environment: environment,
353
361
  tag: tag,
354
362
  },
package/src/linter.ts CHANGED
@@ -227,13 +227,14 @@ export function getFeatureJoiSchema(
227
227
  rules: Joi.array()
228
228
  .items(
229
229
  Joi.object({
230
- key: Joi.string(), // @TODO: make it unique among siblings
230
+ key: Joi.string(),
231
231
  segments: groupSegmentsJoiSchema,
232
232
  percentage: Joi.number().precision(3).min(0).max(100),
233
233
  variation: variationValueJoiSchema.optional(),
234
234
  variables: Joi.object().optional(), // @TODO: make it stricter
235
235
  }),
236
236
  )
237
+ .unique("key")
237
238
  .required(),
238
239
  force: Joi.array().items(
239
240
  Joi.object({
@@ -272,44 +273,48 @@ export function getFeatureJoiSchema(
272
273
 
273
274
  bucketBy: Joi.alternatives().try(Joi.string(), Joi.array().items(Joi.string())).required(),
274
275
 
275
- variablesSchema: Joi.array().items(
276
- Joi.object({
277
- key: Joi.string(), // @TODO: make it unique among siblings
278
- type: Joi.string().valid(
279
- "string",
280
- "integer",
281
- "boolean",
282
- "double",
283
- "array",
284
- "object",
285
- "json",
286
- ),
287
- defaultValue: variableValueJoiSchema, // @TODO: make it stricter based on `type`
288
- }),
289
- ),
276
+ variablesSchema: Joi.array()
277
+ .items(
278
+ Joi.object({
279
+ key: Joi.string(),
280
+ type: Joi.string().valid(
281
+ "string",
282
+ "integer",
283
+ "boolean",
284
+ "double",
285
+ "array",
286
+ "object",
287
+ "json",
288
+ ),
289
+ defaultValue: variableValueJoiSchema, // @TODO: make it stricter based on `type`
290
+ }),
291
+ )
292
+ .unique("key"),
290
293
 
291
294
  variations: Joi.array()
292
295
  .items(
293
296
  Joi.object({
294
297
  description: Joi.string(),
295
- value: variationValueJoiSchema.required(), // @TODO: make it unique among siblings
298
+ value: variationValueJoiSchema.required(),
296
299
  weight: Joi.number().precision(3).min(0).max(100).required(),
297
- variables: Joi.array().items(
298
- Joi.object({
299
- key: Joi.string(), // @TODO: make it unique among siblings
300
- value: variableValueJoiSchema,
301
- overrides: Joi.array().items(
302
- Joi.object({
303
- // @TODO: either segments or conditions prsent at a time
304
- segments: groupSegmentsJoiSchema,
305
- conditions: conditionsJoiSchema,
306
-
307
- // @TODO: make it stricter based on `type`
308
- value: variableValueJoiSchema,
309
- }),
310
- ),
311
- }),
312
- ),
300
+ variables: Joi.array()
301
+ .items(
302
+ Joi.object({
303
+ key: Joi.string(),
304
+ value: variableValueJoiSchema,
305
+ overrides: Joi.array().items(
306
+ Joi.object({
307
+ // @TODO: either segments or conditions prsent at a time
308
+ segments: groupSegmentsJoiSchema,
309
+ conditions: conditionsJoiSchema,
310
+
311
+ // @TODO: make it stricter based on `type`
312
+ value: variableValueJoiSchema,
313
+ }),
314
+ ),
315
+ }),
316
+ )
317
+ .unique("key"),
313
318
  }),
314
319
  )
315
320
  .custom((value, helpers) => {
@@ -337,7 +342,7 @@ export function getFeatureJoiSchema(
337
342
  return featureJoiSchema;
338
343
  }
339
344
 
340
- export function getTestsJoiSchema(projectConfig: ProjectConfig) {
345
+ export function getTestsJoiSchema(projectConfig: ProjectConfig, availableFeatureKeys: string[]) {
341
346
  const testsJoiSchema = Joi.object({
342
347
  tests: Joi.array().items(
343
348
  Joi.object({
@@ -346,20 +351,22 @@ export function getTestsJoiSchema(projectConfig: ProjectConfig) {
346
351
  environment: Joi.string().valid(...projectConfig.environments),
347
352
  features: Joi.array().items(
348
353
  Joi.object({
349
- key: Joi.string(), // @TODO: make it specific
354
+ key: Joi.string()
355
+ .valid(...availableFeatureKeys)
356
+ .required(),
350
357
  assertions: Joi.array().items(
351
358
  Joi.object({
352
359
  description: Joi.string().optional(),
353
360
  at: Joi.number().precision(3).min(0).max(100),
354
- attributes: Joi.object(), // @TODO: make it specific
361
+ attributes: Joi.object(),
355
362
 
356
363
  // @TODO: one or both below
357
364
  expectedVariation: Joi.alternatives().try(
358
365
  Joi.string(),
359
366
  Joi.number(),
360
367
  Joi.boolean(),
361
- ), // @TODO: make it specific
362
- expectedVariables: Joi.object(), // @TODO: make it specific
368
+ ),
369
+ expectedVariables: Joi.object(),
363
370
  }),
364
371
  ),
365
372
  }),
@@ -499,7 +506,7 @@ export async function lintProject(projectConfig: ProjectConfig): Promise<boolean
499
506
  console.log("\nLinting tests...\n");
500
507
  if (fs.existsSync(projectConfig.testsDirectoryPath)) {
501
508
  const testFilePaths = getYAMLFiles(path.join(projectConfig.testsDirectoryPath));
502
- const testsJoiSchema = getTestsJoiSchema(projectConfig);
509
+ const testsJoiSchema = getTestsJoiSchema(projectConfig, availableFeatureKeys);
503
510
 
504
511
  for (const filePath of testFilePaths) {
505
512
  const key = path.basename(filePath, ".yml");