@featurevisor/cli 1.17.0 → 1.18.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.
- package/.eslintcache +1 -1
- package/CHANGELOG.md +11 -0
- package/lib/index.js +51 -0
- package/lib/index.js.map +1 -1
- package/package.json +3 -3
- package/src/index.ts +42 -0
package/.eslintcache
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"/home/runner/work/featurevisor/featurevisor/packages/cli/bin.js":"1","/home/runner/work/featurevisor/featurevisor/packages/cli/src/index.ts":"2"},{"size":45,"mtime":
|
|
1
|
+
[{"/home/runner/work/featurevisor/featurevisor/packages/cli/bin.js":"1","/home/runner/work/featurevisor/featurevisor/packages/cli/src/index.ts":"2"},{"size":45,"mtime":1713285711966,"results":"3","hashOfConfig":"4"},{"size":11559,"mtime":1713285711966,"results":"5","hashOfConfig":"4"},{"filePath":"6","messages":"7","suppressedMessages":"8","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1c6d9wa",{"filePath":"9","messages":"10","suppressedMessages":"11","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"/home/runner/work/featurevisor/featurevisor/packages/cli/bin.js",[],[],"/home/runner/work/featurevisor/featurevisor/packages/cli/src/index.ts",[],[]]
|
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
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
|
+
# [1.18.0](https://github.com/featurevisor/featurevisor/compare/v1.17.0...v1.18.0) (2024-04-16)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* assess traffic distribution via CLI ([#297](https://github.com/featurevisor/featurevisor/issues/297)) ([2063ad9](https://github.com/featurevisor/featurevisor/commit/2063ad9a5408071bfb1636c748cabe616065191d))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
# [1.17.0](https://github.com/featurevisor/featurevisor/compare/v1.16.0...v1.17.0) (2024-04-07)
|
|
7
18
|
|
|
8
19
|
|
package/lib/index.js
CHANGED
|
@@ -495,6 +495,57 @@ function main() {
|
|
|
495
495
|
})
|
|
496
496
|
.example("$0 evaluate", "evaluate a feature along with its variation and variables")
|
|
497
497
|
.example("$0 evaluate --environment=production --feature=my_feature --context='{}'", "evaluate a feature against provided context")
|
|
498
|
+
/**
|
|
499
|
+
* Assess distribution
|
|
500
|
+
*/
|
|
501
|
+
.command({
|
|
502
|
+
command: "assess-distribution",
|
|
503
|
+
handler: function (options) {
|
|
504
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
505
|
+
var deps, e_8;
|
|
506
|
+
return __generator(this, function (_a) {
|
|
507
|
+
switch (_a.label) {
|
|
508
|
+
case 0:
|
|
509
|
+
if (!options.environment) {
|
|
510
|
+
console.error("Please specify an environment with --environment flag.");
|
|
511
|
+
process.exit(1);
|
|
512
|
+
}
|
|
513
|
+
if (!options.feature) {
|
|
514
|
+
console.error("Please specify a feature with --feature flag.");
|
|
515
|
+
process.exit(1);
|
|
516
|
+
}
|
|
517
|
+
return [4 /*yield*/, getDependencies(options)];
|
|
518
|
+
case 1:
|
|
519
|
+
deps = _a.sent();
|
|
520
|
+
_a.label = 2;
|
|
521
|
+
case 2:
|
|
522
|
+
_a.trys.push([2, 4, , 5]);
|
|
523
|
+
return [4 /*yield*/, (0, core_1.assessDistribution)(deps, {
|
|
524
|
+
environment: options.environment,
|
|
525
|
+
feature: options.feature,
|
|
526
|
+
context: options.context ? JSON.parse(options.context) : {},
|
|
527
|
+
populateUuid: Array.isArray(options.populateUuid)
|
|
528
|
+
? options.populateUuid
|
|
529
|
+
: [options.populateUuid].filter(Boolean),
|
|
530
|
+
n: parseInt(options.n, 10) || 1,
|
|
531
|
+
verbose: options.verbose,
|
|
532
|
+
})];
|
|
533
|
+
case 3:
|
|
534
|
+
_a.sent();
|
|
535
|
+
return [3 /*break*/, 5];
|
|
536
|
+
case 4:
|
|
537
|
+
e_8 = _a.sent();
|
|
538
|
+
console.error(e_8.message);
|
|
539
|
+
process.exit(1);
|
|
540
|
+
return [3 /*break*/, 5];
|
|
541
|
+
case 5: return [2 /*return*/];
|
|
542
|
+
}
|
|
543
|
+
});
|
|
544
|
+
});
|
|
545
|
+
},
|
|
546
|
+
})
|
|
547
|
+
.example("$0 assess-distribution", "test traffic distribution of a feature")
|
|
548
|
+
.example("$0 assess-distribution --environment=production --feature=my_feature --context='{}' --populateUuid=userId --n=100", "test traffic distribution a feature against provided context")
|
|
498
549
|
/**
|
|
499
550
|
* Options
|
|
500
551
|
*/
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uBAAyB;AACzB,2BAA6B;AAE7B,6BAA+B;AAE/B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@featurevisor/cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.18.0",
|
|
4
4
|
"description": "CLI package of Featurevisor",
|
|
5
5
|
"main": "bin.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -47,11 +47,11 @@
|
|
|
47
47
|
},
|
|
48
48
|
"license": "MIT",
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"@featurevisor/core": "^1.
|
|
50
|
+
"@featurevisor/core": "^1.18.0",
|
|
51
51
|
"yargs": "^17.6.2"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@types/yargs": "^17.0.22"
|
|
55
55
|
},
|
|
56
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "beedecac433ebb53ec5c856ecdf5bf8c5ea159fd"
|
|
57
57
|
}
|
package/src/index.ts
CHANGED
|
@@ -25,6 +25,7 @@ import {
|
|
|
25
25
|
benchmarkFeature,
|
|
26
26
|
showProjectConfig,
|
|
27
27
|
evaluateFeature,
|
|
28
|
+
assessDistribution,
|
|
28
29
|
} from "@featurevisor/core";
|
|
29
30
|
|
|
30
31
|
process.on("unhandledRejection", (reason) => {
|
|
@@ -367,6 +368,47 @@ async function main() {
|
|
|
367
368
|
"evaluate a feature against provided context",
|
|
368
369
|
)
|
|
369
370
|
|
|
371
|
+
/**
|
|
372
|
+
* Assess distribution
|
|
373
|
+
*/
|
|
374
|
+
.command({
|
|
375
|
+
command: "assess-distribution",
|
|
376
|
+
handler: async function (options) {
|
|
377
|
+
if (!options.environment) {
|
|
378
|
+
console.error("Please specify an environment with --environment flag.");
|
|
379
|
+
process.exit(1);
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
if (!options.feature) {
|
|
383
|
+
console.error("Please specify a feature with --feature flag.");
|
|
384
|
+
process.exit(1);
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
const deps = await getDependencies(options);
|
|
388
|
+
|
|
389
|
+
try {
|
|
390
|
+
await assessDistribution(deps, {
|
|
391
|
+
environment: options.environment,
|
|
392
|
+
feature: options.feature,
|
|
393
|
+
context: options.context ? JSON.parse(options.context) : {},
|
|
394
|
+
populateUuid: Array.isArray(options.populateUuid)
|
|
395
|
+
? options.populateUuid
|
|
396
|
+
: [options.populateUuid as string].filter(Boolean),
|
|
397
|
+
n: parseInt(options.n, 10) || 1,
|
|
398
|
+
verbose: options.verbose,
|
|
399
|
+
});
|
|
400
|
+
} catch (e) {
|
|
401
|
+
console.error(e.message);
|
|
402
|
+
process.exit(1);
|
|
403
|
+
}
|
|
404
|
+
},
|
|
405
|
+
})
|
|
406
|
+
.example("$0 assess-distribution", "test traffic distribution of a feature")
|
|
407
|
+
.example(
|
|
408
|
+
"$0 assess-distribution --environment=production --feature=my_feature --context='{}' --populateUuid=userId --n=100",
|
|
409
|
+
"test traffic distribution a feature against provided context",
|
|
410
|
+
)
|
|
411
|
+
|
|
370
412
|
/**
|
|
371
413
|
* Options
|
|
372
414
|
*/
|