@featurevisor/core 0.51.1 → 0.52.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 (81) hide show
  1. package/.eslintcache +1 -1
  2. package/CHANGELOG.md +19 -0
  3. package/coverage/clover.xml +8 -8
  4. package/coverage/coverage-final.json +4 -4
  5. package/coverage/lcov-report/index.html +3 -3
  6. package/coverage/lcov-report/lib/{allocator.js.html → builder/allocator.js.html} +10 -10
  7. package/coverage/lcov-report/lib/{index.html → builder/index.html} +10 -10
  8. package/coverage/lcov-report/lib/{traffic.js.html → builder/traffic.js.html} +10 -10
  9. package/coverage/lcov-report/src/{allocator.ts.html → builder/allocator.ts.html} +10 -10
  10. package/coverage/lcov-report/src/{index.html → builder/index.html} +10 -10
  11. package/coverage/lcov-report/src/{traffic.ts.html → builder/traffic.ts.html} +10 -10
  12. package/coverage/lcov.info +4 -4
  13. package/lib/builder/allocator.js.map +1 -0
  14. package/lib/builder/allocator.spec.js.map +1 -0
  15. package/lib/builder/buildDatafile.d.ts +11 -0
  16. package/lib/{builder.js → builder/buildDatafile.js} +5 -106
  17. package/lib/builder/buildDatafile.js.map +1 -0
  18. package/lib/builder/buildProject.d.ts +8 -0
  19. package/lib/builder/buildProject.js +63 -0
  20. package/lib/builder/buildProject.js.map +1 -0
  21. package/lib/builder/getFeatureRanges.d.ts +11 -0
  22. package/lib/builder/getFeatureRanges.js +50 -0
  23. package/lib/builder/getFeatureRanges.js.map +1 -0
  24. package/lib/builder/index.d.ts +2 -0
  25. package/lib/builder/index.js +19 -0
  26. package/lib/builder/index.js.map +1 -0
  27. package/lib/builder/traffic.js.map +1 -0
  28. package/lib/builder/traffic.spec.js.map +1 -0
  29. package/lib/datasource/index.d.ts +2 -0
  30. package/lib/datasource/index.js +19 -0
  31. package/lib/datasource/index.js.map +1 -0
  32. package/lib/generate-code/index.js +1 -1
  33. package/lib/generate-code/index.js.map +1 -1
  34. package/lib/generate-code/typescript.d.ts +1 -1
  35. package/lib/linter/checkCircularDependency.d.ts +1 -1
  36. package/lib/linter/conditionSchema.js +27 -5
  37. package/lib/linter/conditionSchema.js.map +1 -1
  38. package/lib/linter/groupSchema.d.ts +1 -1
  39. package/lib/linter/index.d.ts +1 -2
  40. package/lib/linter/index.js +13 -236
  41. package/lib/linter/index.js.map +1 -1
  42. package/lib/linter/lintProject.d.ts +2 -0
  43. package/lib/linter/lintProject.js +241 -0
  44. package/lib/linter/lintProject.js.map +1 -0
  45. package/lib/site.js +1 -1
  46. package/lib/site.js.map +1 -1
  47. package/lib/tester.js +1 -1
  48. package/lib/tester.js.map +1 -1
  49. package/package.json +7 -7
  50. package/src/{builder.ts → builder/buildDatafile.ts} +5 -148
  51. package/src/builder/buildProject.ts +95 -0
  52. package/src/builder/getFeatureRanges.ts +61 -0
  53. package/src/builder/index.ts +2 -0
  54. package/src/datasource/index.ts +2 -0
  55. package/src/generate-code/index.ts +1 -1
  56. package/src/generate-code/typescript.ts +1 -1
  57. package/src/linter/checkCircularDependency.ts +1 -1
  58. package/src/linter/conditionSchema.ts +39 -10
  59. package/src/linter/groupSchema.ts +1 -1
  60. package/src/linter/index.ts +1 -179
  61. package/src/linter/lintProject.ts +179 -0
  62. package/src/site.ts +1 -1
  63. package/src/tester.ts +1 -1
  64. package/lib/allocator.js.map +0 -1
  65. package/lib/allocator.spec.js.map +0 -1
  66. package/lib/builder.d.ts +0 -26
  67. package/lib/builder.js.map +0 -1
  68. package/lib/traffic.js.map +0 -1
  69. package/lib/traffic.spec.js.map +0 -1
  70. /package/lib/{allocator.d.ts → builder/allocator.d.ts} +0 -0
  71. /package/lib/{allocator.js → builder/allocator.js} +0 -0
  72. /package/lib/{allocator.spec.d.ts → builder/allocator.spec.d.ts} +0 -0
  73. /package/lib/{allocator.spec.js → builder/allocator.spec.js} +0 -0
  74. /package/lib/{traffic.d.ts → builder/traffic.d.ts} +0 -0
  75. /package/lib/{traffic.js → builder/traffic.js} +0 -0
  76. /package/lib/{traffic.spec.d.ts → builder/traffic.spec.d.ts} +0 -0
  77. /package/lib/{traffic.spec.js → builder/traffic.spec.js} +0 -0
  78. /package/src/{allocator.spec.ts → builder/allocator.spec.ts} +0 -0
  79. /package/src/{allocator.ts → builder/allocator.ts} +0 -0
  80. /package/src/{traffic.spec.ts → builder/traffic.spec.ts} +0 -0
  81. /package/src/{traffic.ts → builder/traffic.ts} +0 -0
@@ -3,15 +3,15 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for lib/traffic.js</title>
6
+ <title>Code coverage report for lib/builder/traffic.js</title>
7
7
  <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../prettify.css" />
9
- <link rel="stylesheet" href="../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
11
  <meta name="viewport" content="width=device-width, initial-scale=1" />
12
12
  <style type='text/css'>
13
13
  .coverage-summary .sorter {
14
- background-image: url(../sort-arrow-sprite.png);
14
+ background-image: url(../../sort-arrow-sprite.png);
15
15
  }
16
16
  </style>
17
17
  </head>
@@ -19,7 +19,7 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../index.html">All files</a> / <a href="index.html">lib</a> traffic.js</h1>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">lib/builder</a> traffic.js</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
@@ -442,16 +442,16 @@ exports.getTraffic = getTraffic;
442
442
  <div class='footer quiet pad2 space-top1 center small'>
443
443
  Code coverage generated by
444
444
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
445
- at 2023-10-11T17:23:51.798Z
445
+ at 2023-10-12T14:10:27.247Z
446
446
  </div>
447
- <script src="../prettify.js"></script>
447
+ <script src="../../prettify.js"></script>
448
448
  <script>
449
449
  window.onload = function () {
450
450
  prettyPrint();
451
451
  };
452
452
  </script>
453
- <script src="../sorter.js"></script>
454
- <script src="../block-navigation.js"></script>
453
+ <script src="../../sorter.js"></script>
454
+ <script src="../../block-navigation.js"></script>
455
455
  </body>
456
456
  </html>
457
457
 
@@ -3,15 +3,15 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for src/allocator.ts</title>
6
+ <title>Code coverage report for src/builder/allocator.ts</title>
7
7
  <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../prettify.css" />
9
- <link rel="stylesheet" href="../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
11
  <meta name="viewport" content="width=device-width, initial-scale=1" />
12
12
  <style type='text/css'>
13
13
  .coverage-summary .sorter {
14
- background-image: url(../sort-arrow-sprite.png);
14
+ background-image: url(../../sort-arrow-sprite.png);
15
15
  }
16
16
  </style>
17
17
  </head>
@@ -19,7 +19,7 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../index.html">All files</a> / <a href="index.html">src</a> allocator.ts</h1>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/builder</a> allocator.ts</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
@@ -193,16 +193,16 @@ export function getUpdatedAvailableRangesAfterFilling(
193
193
  <div class='footer quiet pad2 space-top1 center small'>
194
194
  Code coverage generated by
195
195
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
196
- at 2023-10-11T17:23:51.798Z
196
+ at 2023-10-12T14:10:27.247Z
197
197
  </div>
198
- <script src="../prettify.js"></script>
198
+ <script src="../../prettify.js"></script>
199
199
  <script>
200
200
  window.onload = function () {
201
201
  prettyPrint();
202
202
  };
203
203
  </script>
204
- <script src="../sorter.js"></script>
205
- <script src="../block-navigation.js"></script>
204
+ <script src="../../sorter.js"></script>
205
+ <script src="../../block-navigation.js"></script>
206
206
  </body>
207
207
  </html>
208
208
 
@@ -3,15 +3,15 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for src</title>
6
+ <title>Code coverage report for src/builder</title>
7
7
  <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../prettify.css" />
9
- <link rel="stylesheet" href="../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
11
  <meta name="viewport" content="width=device-width, initial-scale=1" />
12
12
  <style type='text/css'>
13
13
  .coverage-summary .sorter {
14
- background-image: url(../sort-arrow-sprite.png);
14
+ background-image: url(../../sort-arrow-sprite.png);
15
15
  }
16
16
  </style>
17
17
  </head>
@@ -19,7 +19,7 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../index.html">All files</a> src</h1>
22
+ <h1><a href="../../index.html">All files</a> src/builder</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
@@ -116,16 +116,16 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2023-10-11T17:23:51.798Z
119
+ at 2023-10-12T14:10:27.247Z
120
120
  </div>
121
- <script src="../prettify.js"></script>
121
+ <script src="../../prettify.js"></script>
122
122
  <script>
123
123
  window.onload = function () {
124
124
  prettyPrint();
125
125
  };
126
126
  </script>
127
- <script src="../sorter.js"></script>
128
- <script src="../block-navigation.js"></script>
127
+ <script src="../../sorter.js"></script>
128
+ <script src="../../block-navigation.js"></script>
129
129
  </body>
130
130
  </html>
131
131
 
@@ -3,15 +3,15 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for src/traffic.ts</title>
6
+ <title>Code coverage report for src/builder/traffic.ts</title>
7
7
  <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../prettify.css" />
9
- <link rel="stylesheet" href="../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
11
  <meta name="viewport" content="width=device-width, initial-scale=1" />
12
12
  <style type='text/css'>
13
13
  .coverage-summary .sorter {
14
- background-image: url(../sort-arrow-sprite.png);
14
+ background-image: url(../../sort-arrow-sprite.png);
15
15
  }
16
16
  </style>
17
17
  </head>
@@ -19,7 +19,7 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../index.html">All files</a> / <a href="index.html">src</a> traffic.ts</h1>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/builder</a> traffic.ts</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
@@ -553,16 +553,16 @@ export function getTraffic(
553
553
  <div class='footer quiet pad2 space-top1 center small'>
554
554
  Code coverage generated by
555
555
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
556
- at 2023-10-11T17:23:51.798Z
556
+ at 2023-10-12T14:10:27.247Z
557
557
  </div>
558
- <script src="../prettify.js"></script>
558
+ <script src="../../prettify.js"></script>
559
559
  <script>
560
560
  window.onload = function () {
561
561
  prettyPrint();
562
562
  };
563
563
  </script>
564
- <script src="../sorter.js"></script>
565
- <script src="../block-navigation.js"></script>
564
+ <script src="../../sorter.js"></script>
565
+ <script src="../../block-navigation.js"></script>
566
566
  </body>
567
567
  </html>
568
568
 
@@ -1,5 +1,5 @@
1
1
  TN:
2
- SF:lib/allocator.js
2
+ SF:lib/builder/allocator.js
3
3
  FN:4,getAllocation
4
4
  FN:19,getUpdatedAvailableRangesAfterFilling
5
5
  FNF:2
@@ -45,7 +45,7 @@ BRF:6
45
45
  BRH:6
46
46
  end_of_record
47
47
  TN:
48
- SF:lib/traffic.js
48
+ SF:lib/builder/traffic.js
49
49
  FN:6,detectIfVariationsChanged
50
50
  FN:12,(anonymous_1)
51
51
  FN:17,(anonymous_2)
@@ -183,7 +183,7 @@ BRF:42
183
183
  BRH:33
184
184
  end_of_record
185
185
  TN:
186
- SF:src/allocator.ts
186
+ SF:src/builder/allocator.ts
187
187
  FN:3,getAllocation
188
188
  FN:21,getUpdatedAvailableRangesAfterFilling
189
189
  FNF:2
@@ -226,7 +226,7 @@ BRF:5
226
226
  BRH:5
227
227
  end_of_record
228
228
  TN:
229
- SF:src/traffic.ts
229
+ SF:src/builder/traffic.ts
230
230
  FN:6,detectIfVariationsChanged
231
231
  FN:15,(anonymous_1)
232
232
  FN:20,(anonymous_2)
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allocator.js","sourceRoot":"","sources":["../../src/builder/allocator.ts"],"names":[],"mappings":";;;AAEA,SAAgB,aAAa,CAAC,eAAwB,EAAE,IAAgB;IACtE,IAAM,MAAM,GAAY,EAAE,CAAC;IAE3B,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE;QAClD,IAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAA,KAAK,GAAS,KAAK,GAAd,EAAE,GAAG,GAAI,KAAK,GAAT,CAAU;QAE3B,IAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC;QACxC,SAAS,IAAI,SAAS,CAAC;QACvB,CAAC,EAAE,CAAC;KACL;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAhBD,sCAgBC;AAED,SAAgB,qCAAqC,CACnD,eAAwB,EACxB,IAAgB;IAEhB,IAAM,MAAM,GAAY,EAAE,CAAC;IAE3B,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE;QAClD,IAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAA,KAAK,GAAS,KAAK,GAAd,EAAE,GAAG,GAAI,KAAK,GAAT,CAAU;QAC3B,IAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC;QACnD,IAAI,SAAS,GAAG,GAAG,GAAG,KAAK,EAAE;YAC3B,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;SACvC;QACD,SAAS,IAAI,SAAS,CAAC;QACvB,CAAC,EAAE,CAAC;KACL;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AApBD,sFAoBC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allocator.spec.js","sourceRoot":"","sources":["../../src/builder/allocator.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { DatafileContent, ExistingState, FeatureKey } from "@featurevisor/types";
2
+ import { ProjectConfig } from "../config";
3
+ import { Datasource } from "../datasource";
4
+ export interface BuildOptions {
5
+ schemaVersion: string;
6
+ revision: string;
7
+ environment: string;
8
+ tag?: string;
9
+ features?: FeatureKey[];
10
+ }
11
+ export declare function buildDatafile(projectConfig: ProjectConfig, datasource: Datasource, options: BuildOptions, existingState: ExistingState): DatafileContent;
@@ -1,67 +1,10 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
2
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.buildProject = exports.buildDatafile = exports.getFeatureRanges = exports.getExistingStateFilePath = exports.getDatafilePath = void 0;
3
+ exports.buildDatafile = void 0;
15
4
  var fs = require("fs");
16
- var path = require("path");
17
- var mkdirp = require("mkdirp");
18
- var config_1 = require("./config");
19
- var datasource_1 = require("./datasource/datasource");
5
+ var utils_1 = require("../utils");
20
6
  var traffic_1 = require("./traffic");
21
- var utils_1 = require("./utils");
22
- function getDatafilePath(projectConfig, environment, tag) {
23
- var fileName = "datafile-tag-".concat(tag, ".json");
24
- return path.join(projectConfig.outputDirectoryPath, environment, fileName);
25
- }
26
- exports.getDatafilePath = getDatafilePath;
27
- function getExistingStateFilePath(projectConfig, environment) {
28
- return path.join(projectConfig.stateDirectoryPath, "existing-state-".concat(environment, ".json"));
29
- }
30
- exports.getExistingStateFilePath = getExistingStateFilePath;
31
- function getFeatureRanges(projectConfig, datasource) {
32
- var featureRanges = new Map();
33
- var featureIsInGroup = {}; // featureKey => boolean
34
- var groups = [];
35
- if (fs.existsSync(projectConfig.groupsDirectoryPath)) {
36
- var groupFiles = datasource.listGroups();
37
- var _loop_1 = function (groupKey) {
38
- var parsedGroup = datasource.readGroup(groupKey);
39
- groups.push(__assign(__assign({}, parsedGroup), { key: groupKey }));
40
- var accumulatedPercentage = 0;
41
- parsedGroup.slots.forEach(function (slot, slotIndex) {
42
- var isFirstSlot = slotIndex === 0;
43
- if (slot.feature) {
44
- var featureKey = slot.feature;
45
- if (typeof featureKey === "string") {
46
- featureIsInGroup[featureKey] = true;
47
- }
48
- var featureRangesForFeature = featureRanges.get(featureKey) || [];
49
- var start = isFirstSlot ? accumulatedPercentage : accumulatedPercentage + 1;
50
- var end = accumulatedPercentage + slot.percentage * 1000;
51
- featureRangesForFeature.push([start, end]);
52
- featureRanges.set(slot.feature, featureRangesForFeature);
53
- }
54
- accumulatedPercentage += slot.percentage * 1000;
55
- });
56
- };
57
- for (var _i = 0, groupFiles_1 = groupFiles; _i < groupFiles_1.length; _i++) {
58
- var groupKey = groupFiles_1[_i];
59
- _loop_1(groupKey);
60
- }
61
- }
62
- return { featureRanges: featureRanges, featureIsInGroup: featureIsInGroup };
63
- }
64
- exports.getFeatureRanges = getFeatureRanges;
7
+ var getFeatureRanges_1 = require("./getFeatureRanges");
65
8
  function buildDatafile(projectConfig, datasource, options, existingState) {
66
9
  var datafileContent = {
67
10
  schemaVersion: options.schemaVersion,
@@ -72,7 +15,7 @@ function buildDatafile(projectConfig, datasource, options, existingState) {
72
15
  };
73
16
  var segmentKeysUsedByTag = new Set();
74
17
  var attributeKeysUsedByTag = new Set();
75
- var _a = getFeatureRanges(projectConfig, datasource), featureRanges = _a.featureRanges, featureIsInGroup = _a.featureIsInGroup;
18
+ var _a = (0, getFeatureRanges_1.getFeatureRanges)(projectConfig, datasource), featureRanges = _a.featureRanges, featureIsInGroup = _a.featureIsInGroup;
76
19
  // features
77
20
  var features = [];
78
21
  var featuresDirectory = projectConfig.featuresDirectoryPath;
@@ -241,48 +184,4 @@ function buildDatafile(projectConfig, datasource, options, existingState) {
241
184
  return datafileContent;
242
185
  }
243
186
  exports.buildDatafile = buildDatafile;
244
- function buildProject(rootDirectoryPath, projectConfig, cliOptions) {
245
- if (cliOptions === void 0) { cliOptions = {}; }
246
- var tags = projectConfig.tags;
247
- var environments = projectConfig.environments;
248
- var pkg = require(path.join(rootDirectoryPath, "package.json"));
249
- var datasource = new datasource_1.Datasource(projectConfig);
250
- for (var _i = 0, environments_1 = environments; _i < environments_1.length; _i++) {
251
- var environment = environments_1[_i];
252
- console.log("\nBuilding datafiles for environment: ".concat(environment));
253
- var existingStateFilePath = getExistingStateFilePath(projectConfig, environment);
254
- var existingState = fs.existsSync(existingStateFilePath)
255
- ? require(existingStateFilePath)
256
- : {
257
- features: {},
258
- };
259
- for (var _a = 0, tags_1 = tags; _a < tags_1.length; _a++) {
260
- var tag = tags_1[_a];
261
- console.log("\n => Tag: ".concat(tag));
262
- var datafileContent = buildDatafile(projectConfig, datasource, {
263
- schemaVersion: config_1.SCHEMA_VERSION,
264
- revision: cliOptions.revision || pkg.version,
265
- environment: environment,
266
- tag: tag,
267
- }, existingState);
268
- // write datafile for environment/tag
269
- var outputEnvironmentDirPath = path.join(projectConfig.outputDirectoryPath, environment);
270
- mkdirp.sync(outputEnvironmentDirPath);
271
- var outputFilePath = getDatafilePath(projectConfig, environment, tag);
272
- fs.writeFileSync(outputFilePath, projectConfig.prettyDatafile
273
- ? JSON.stringify(datafileContent, null, 2)
274
- : JSON.stringify(datafileContent));
275
- var shortPath = outputFilePath.replace(rootDirectoryPath + path.sep, "");
276
- console.log(" Datafile generated: ".concat(shortPath));
277
- }
278
- // write state for environment
279
- if (!fs.existsSync(projectConfig.stateDirectoryPath)) {
280
- mkdirp.sync(projectConfig.stateDirectoryPath);
281
- }
282
- fs.writeFileSync(existingStateFilePath, projectConfig.prettyState
283
- ? JSON.stringify(existingState, null, 2)
284
- : JSON.stringify(existingState));
285
- }
286
- }
287
- exports.buildProject = buildProject;
288
- //# sourceMappingURL=builder.js.map
187
+ //# sourceMappingURL=buildDatafile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildDatafile.js","sourceRoot":"","sources":["../../src/builder/buildDatafile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { EnvironmentKey } from "@featurevisor/types";
2
+ import { ProjectConfig } from "../config";
3
+ export declare function getDatafilePath(projectConfig: ProjectConfig, environment: EnvironmentKey, tag: string): string;
4
+ export declare function getExistingStateFilePath(projectConfig: ProjectConfig, environment: EnvironmentKey): string;
5
+ export interface BuildCLIOptions {
6
+ revision?: string;
7
+ }
8
+ export declare function buildProject(rootDirectoryPath: any, projectConfig: ProjectConfig, cliOptions?: BuildCLIOptions): void;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildProject = exports.getExistingStateFilePath = exports.getDatafilePath = void 0;
4
+ var fs = require("fs");
5
+ var path = require("path");
6
+ var mkdirp = require("mkdirp");
7
+ var config_1 = require("../config");
8
+ var datasource_1 = require("../datasource");
9
+ var buildDatafile_1 = require("./buildDatafile");
10
+ function getDatafilePath(projectConfig, environment, tag) {
11
+ var fileName = "datafile-tag-".concat(tag, ".json");
12
+ return path.join(projectConfig.outputDirectoryPath, environment, fileName);
13
+ }
14
+ exports.getDatafilePath = getDatafilePath;
15
+ function getExistingStateFilePath(projectConfig, environment) {
16
+ return path.join(projectConfig.stateDirectoryPath, "existing-state-".concat(environment, ".json"));
17
+ }
18
+ exports.getExistingStateFilePath = getExistingStateFilePath;
19
+ function buildProject(rootDirectoryPath, projectConfig, cliOptions) {
20
+ if (cliOptions === void 0) { cliOptions = {}; }
21
+ var tags = projectConfig.tags;
22
+ var environments = projectConfig.environments;
23
+ var pkg = require(path.join(rootDirectoryPath, "package.json"));
24
+ var datasource = new datasource_1.Datasource(projectConfig);
25
+ for (var _i = 0, environments_1 = environments; _i < environments_1.length; _i++) {
26
+ var environment = environments_1[_i];
27
+ console.log("\nBuilding datafiles for environment: ".concat(environment));
28
+ var existingStateFilePath = getExistingStateFilePath(projectConfig, environment);
29
+ var existingState = fs.existsSync(existingStateFilePath)
30
+ ? require(existingStateFilePath)
31
+ : {
32
+ features: {},
33
+ };
34
+ for (var _a = 0, tags_1 = tags; _a < tags_1.length; _a++) {
35
+ var tag = tags_1[_a];
36
+ console.log("\n => Tag: ".concat(tag));
37
+ var datafileContent = (0, buildDatafile_1.buildDatafile)(projectConfig, datasource, {
38
+ schemaVersion: config_1.SCHEMA_VERSION,
39
+ revision: cliOptions.revision || pkg.version,
40
+ environment: environment,
41
+ tag: tag,
42
+ }, existingState);
43
+ // write datafile for environment/tag
44
+ var outputEnvironmentDirPath = path.join(projectConfig.outputDirectoryPath, environment);
45
+ mkdirp.sync(outputEnvironmentDirPath);
46
+ var outputFilePath = getDatafilePath(projectConfig, environment, tag);
47
+ fs.writeFileSync(outputFilePath, projectConfig.prettyDatafile
48
+ ? JSON.stringify(datafileContent, null, 2)
49
+ : JSON.stringify(datafileContent));
50
+ var shortPath = outputFilePath.replace(rootDirectoryPath + path.sep, "");
51
+ console.log(" Datafile generated: ".concat(shortPath));
52
+ }
53
+ // write state for environment
54
+ if (!fs.existsSync(projectConfig.stateDirectoryPath)) {
55
+ mkdirp.sync(projectConfig.stateDirectoryPath);
56
+ }
57
+ fs.writeFileSync(existingStateFilePath, projectConfig.prettyState
58
+ ? JSON.stringify(existingState, null, 2)
59
+ : JSON.stringify(existingState));
60
+ }
61
+ }
62
+ exports.buildProject = buildProject;
63
+ //# sourceMappingURL=buildProject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildProject.js","sourceRoot":"","sources":["../../src/builder/buildProject.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { FeatureKey, Range } from "@featurevisor/types";
2
+ import { ProjectConfig } from "../config";
3
+ import { Datasource } from "../datasource";
4
+ export type FeatureRanges = Map<FeatureKey, Range[]>;
5
+ export interface FeatureRangesResult {
6
+ featureRanges: FeatureRanges;
7
+ featureIsInGroup: {
8
+ [key: string]: boolean;
9
+ };
10
+ }
11
+ export declare function getFeatureRanges(projectConfig: ProjectConfig, datasource: Datasource): FeatureRangesResult;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.getFeatureRanges = void 0;
15
+ var fs = require("fs");
16
+ function getFeatureRanges(projectConfig, datasource) {
17
+ var featureRanges = new Map();
18
+ var featureIsInGroup = {}; // featureKey => boolean
19
+ var groups = [];
20
+ if (fs.existsSync(projectConfig.groupsDirectoryPath)) {
21
+ var groupFiles = datasource.listGroups();
22
+ var _loop_1 = function (groupKey) {
23
+ var parsedGroup = datasource.readGroup(groupKey);
24
+ groups.push(__assign(__assign({}, parsedGroup), { key: groupKey }));
25
+ var accumulatedPercentage = 0;
26
+ parsedGroup.slots.forEach(function (slot, slotIndex) {
27
+ var isFirstSlot = slotIndex === 0;
28
+ if (slot.feature) {
29
+ var featureKey = slot.feature;
30
+ if (typeof featureKey === "string") {
31
+ featureIsInGroup[featureKey] = true;
32
+ }
33
+ var featureRangesForFeature = featureRanges.get(featureKey) || [];
34
+ var start = isFirstSlot ? accumulatedPercentage : accumulatedPercentage + 1;
35
+ var end = accumulatedPercentage + slot.percentage * 1000;
36
+ featureRangesForFeature.push([start, end]);
37
+ featureRanges.set(slot.feature, featureRangesForFeature);
38
+ }
39
+ accumulatedPercentage += slot.percentage * 1000;
40
+ });
41
+ };
42
+ for (var _i = 0, groupFiles_1 = groupFiles; _i < groupFiles_1.length; _i++) {
43
+ var groupKey = groupFiles_1[_i];
44
+ _loop_1(groupKey);
45
+ }
46
+ }
47
+ return { featureRanges: featureRanges, featureIsInGroup: featureIsInGroup };
48
+ }
49
+ exports.getFeatureRanges = getFeatureRanges;
50
+ //# sourceMappingURL=getFeatureRanges.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFeatureRanges.js","sourceRoot":"","sources":["../../src/builder/getFeatureRanges.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,uBAAyB;AAczB,SAAgB,gBAAgB,CAC9B,aAA4B,EAC5B,UAAsB;IAEtB,IAAM,aAAa,GAAG,IAAI,GAAG,EAAuB,CAAC;IACrD,IAAM,gBAAgB,GAAG,EAAE,CAAC,CAAC,wBAAwB;IAErD,IAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE;QACpD,IAAM,UAAU,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC;gCAEhC,QAAQ;YACjB,IAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAEnD,MAAM,CAAC,IAAI,uBACN,WAAW,KACd,GAAG,EAAE,QAAQ,IACb,CAAC;YAEH,IAAI,qBAAqB,GAAG,CAAC,CAAC;YAC9B,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,SAAS;gBACjD,IAAM,WAAW,GAAG,SAAS,KAAK,CAAC,CAAC;gBAEpC,IAAI,IAAI,CAAC,OAAO,EAAE;oBAChB,IAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC;oBAEhC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;wBAClC,gBAAgB,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;qBACrC;oBAED,IAAM,uBAAuB,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;oBAEpE,IAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,GAAG,CAAC,CAAC;oBAC9E,IAAM,GAAG,GAAG,qBAAqB,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBAE3D,uBAAuB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;oBAE3C,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;iBAC1D;gBAED,qBAAqB,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAClD,CAAC,CAAC,CAAC;;QA9BL,KAAuB,UAAU,EAAV,yBAAU,EAAV,wBAAU,EAAV,IAAU;YAA5B,IAAM,QAAQ,mBAAA;oBAAR,QAAQ;SA+BlB;KACF;IAED,OAAO,EAAE,aAAa,eAAA,EAAE,gBAAgB,kBAAA,EAAE,CAAC;AAC7C,CAAC;AA9CD,4CA8CC"}
@@ -0,0 +1,2 @@
1
+ export * from "./buildDatafile";
2
+ export * from "./buildProject";
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./buildDatafile"), exports);
18
+ __exportStar(require("./buildProject"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/builder/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,iDAA+B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traffic.js","sourceRoot":"","sources":["../../src/builder/traffic.ts"],"names":[],"mappings":";;;AACA,yCAAwD;AAExD,yCAAmF;AAEnF,SAAgB,yBAAyB,CACvC,cAAuC,EAAE,2BAA2B;AACpE,eAAiC;IAEjC,IAAI,CAAC,eAAe,IAAI,OAAO,eAAe,CAAC,UAAU,KAAK,WAAW,EAAE;QACzE,OAAO,KAAK,CAAC;KACd;IAED,IAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;QACnD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,UAAC,EAAiB;gBAAf,KAAK,WAAA,EAAE,MAAM,YAAA;YAAO,OAAA,CAAC,EAAE,KAAK,OAAA,EAAE,MAAM,QAAA,EAAE,CAAC;QAAnB,CAAmB,CAAC,CAAC;QAChF,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO,CACL,IAAI,CAAC,SAAS,CACZ,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,UAAC,EAAiB;YAAf,KAAK,WAAA,EAAE,MAAM,YAAA;QAAO,OAAA,CAAC;YACrD,KAAK,OAAA;YACL,MAAM,QAAA;SACP,CAAC;IAHoD,CAGpD,CAAC,CACJ,KAAK,eAAe,CACtB,CAAC;AACJ,CAAC;AApBD,8DAoBC;AAED,SAAgB,qBAAqB,CACnC,iBAA6B,EAAE,YAAY;AAC3C,mBAAmB;IAEnB,IAAI,CAAC,mBAAmB,EAAE;QACxB,OAAO,CAAC,CAAC;KACV;IAED,IAAM,kBAAkB,GAAG,mBAAmB,CAAC,UAAU,CAAC;IAE1D,OAAO,iBAAiB,GAAG,kBAAkB,CAAC;AAChD,CAAC;AAXD,sDAWC;AAED,SAAgB,qBAAqB,CACnC,eAAwB,EAAE,2BAA2B;AACrD,eAAiC;IAEjC,IAAI,CAAC,eAAe,EAAE;QACpB,OAAO,KAAK,CAAC;KACd;IAED,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;QAC3B,OAAO,KAAK,CAAC;KACd;IAED,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;AACpF,CAAC;AAbD,sDAaC;AAED,SAAgB,UAAU;AACxB,oBAAoB;AACpB,UAAmC,EACnC,WAAmB;AACnB,wBAAwB;AACxB,eAA4C;AAC5C,0BAA0B;AAC1B,MAAgB;IAEhB,IAAM,MAAM,GAAc,EAAE,CAAC;IAE7B,4CAA4C;IAC5C,IAAM,eAAe,GACnB,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE,yBAAmB,CAAC,CAAa,CAAC;IAEjF,WAAW,CAAC,OAAO,CAAC,UAAU,UAAU;QACtC,IAAM,cAAc,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,UAAU;QAExD,IAAM,OAAO,GAAY;YACvB,GAAG,EAAE,UAAU,CAAC,GAAG;YACnB,QAAQ,EACN,OAAO,UAAU,CAAC,QAAQ,KAAK,QAAQ;gBACrC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC;gBACrC,CAAC,CAAC,UAAU,CAAC,QAAQ;YACzB,UAAU,EAAE,cAAc,GAAG,CAAC,yBAAmB,GAAG,GAAG,CAAC;YACxD,UAAU,EAAE,EAAE;SACf,CAAC;QAEF,YAAY;QACZ,IAAI,UAAU,CAAC,SAAS,EAAE;YACxB,OAAO,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;SAC1C;QAED,IAAI,UAAU,CAAC,SAAS,EAAE;YACxB,OAAO,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;SAC1C;QAED,iBAAiB;QACjB,IAAM,iBAAiB,GAAG,yBAAyB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QACjF,IAAM,mBAAmB,GAAG,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,EAAxB,CAAwB,CAAC,CAAC;QAC3F,IAAM,kBAAkB,GAAG,qBAAqB,CAAC,OAAO,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;QAC1F,IAAM,aAAa,GAAG,qBAAqB,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;QAE9E,IAAM,gBAAgB,GACpB,CAAC,mBAAmB,IAAI,WAAW;YACnC,iBAAiB,IAAI,qBAAqB;YAC1C,kBAAkB,GAAG,CAAC,IAAI,uBAAuB;YACjD,aAAa,CAAC,CAAC,+CAA+C;QAEhE,IAAI,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC;QAEzE,IAAI,mBAAmB,IAAI,CAAC,gBAAgB,EAAE;YAC5C,iDAAiD;YACjD,IAAI,aAAW,GAAG,CAAC,CAAC;YAEpB,OAAO,CAAC,UAAU,GAAG,mBAAmB,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAoB;oBAAlB,SAAS,eAAA,EAAE,KAAK,WAAA;gBAClF,IAAM,MAAM,GAAG;oBACb,SAAS,WAAA;oBACT,KAAK,EAAE,KAAK;iBACb,CAAC;gBAEF,aAAW,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAEnC,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,sBAAsB,GAAG,IAAA,iDAAqC,EAAC,eAAe,EAAE,aAAW,CAAC,CAAC;SAC9F;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC7B,UAAU,CAAC,OAAO,CAAC,UAAU,SAAS;gBACpC,IAAM,MAAM,GAAG,SAAS,CAAC,MAAgB,CAAC;gBAC1C,IAAM,UAAU,GAAG,MAAM,GAAG,CAAC,yBAAmB,GAAG,GAAG,CAAC,CAAC;gBAExD,IAAM,WAAW,GAAG,gBAAgB;oBAClC,CAAC,CAAC,UAAU,GAAG,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,cAAc;oBACpD,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,kBAAkB,CAAC,CAAC,eAAe;gBACxD,IAAM,YAAY,GAAG,IAAA,yBAAa,EAAC,sBAAsB,EAAE,WAAW,CAAC,CAAC;gBAExE,YAAY,CAAC,OAAO,CAAC,UAAU,KAAK;oBAClC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;wBACtB,SAAS,EAAE,SAAS,CAAC,KAAK;wBAC1B,KAAK,OAAA;qBACN,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,sBAAsB,GAAG,IAAA,iDAAqC,EAC5D,sBAAsB,EACtB,WAAW,CACZ,CAAC;YACJ,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,UAAC,CAAC;YAC/C,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBACxC,OAAO,KAAK,CAAC;aACd;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAzGD,gCAyGC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traffic.spec.js","sourceRoot":"","sources":["../../src/builder/traffic.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./datasource";
2
+ export * from "./parsers";