@etrigan/feature-toggles
Advanced tools
Comparing version
# @etrigan/feature-toggles | ||
## 2.0.0 | ||
### Major Changes | ||
- 1b6dddc: Update launch darkly sdk major version, and bump several other deps. | ||
### Patch Changes | ||
- @etrigan/feature-toggles-client@1.1.8 | ||
## 1.3.0 | ||
@@ -4,0 +14,0 @@ |
@@ -32,3 +32,3 @@ "use strict"; | ||
else { | ||
cb(new Error("FileNotFound " + file)); | ||
cb(new Error("FileNotFound ".concat(file))); | ||
} | ||
@@ -35,0 +35,0 @@ }); |
@@ -12,3 +12,3 @@ "use strict"; | ||
switch (_a.label) { | ||
case 0: return [4 /*yield*/, features_state_file_1.readFeatureFile(featureStateFile, log)]; | ||
case 0: return [4 /*yield*/, (0, features_state_file_1.readFeatureFile)(featureStateFile, log)]; | ||
case 1: | ||
@@ -15,0 +15,0 @@ featuresFromFeatureFile = _a.sent(); |
@@ -11,7 +11,7 @@ "use strict"; | ||
return tslib_1.__awaiter(this, void 0, void 0, function () { | ||
var _a, log, featureStateFile, getFeatures, subscribeToChanges, initialFeatureState, err_1, featureStateFileExistsResult, featureUpdater, currentProcessingChange; | ||
var _a, log, featureStateFile, getFeatures, subscribeToChanges, initialFeatureState, err_1, error, featureStateFileExistsResult, featureUpdater, currentProcessingChange; | ||
return tslib_1.__generator(this, function (_b) { | ||
switch (_b.label) { | ||
case 0: | ||
_a = options.log, log = _a === void 0 ? typescript_log_1.noopLogger() : _a, featureStateFile = options.featureStateFile, getFeatures = options.getFeatures, subscribeToChanges = options.subscribeToChanges; | ||
_a = options.log, log = _a === void 0 ? (0, typescript_log_1.noopLogger)() : _a, featureStateFile = options.featureStateFile, getFeatures = options.getFeatures, subscribeToChanges = options.subscribeToChanges; | ||
_b.label = 1; | ||
@@ -26,11 +26,12 @@ case 1: | ||
err_1 = _b.sent(); | ||
log.error({ err: err_1 }, 'Error fetching toggles'); | ||
error = err_1 instanceof Error ? err_1 : new Error(err_1 ? err_1.toString() : 'Unknown error'); | ||
log.error({ err: error }, 'Error fetching toggles'); | ||
return [3 /*break*/, 4]; | ||
case 4: | ||
if (!initialFeatureState) return [3 /*break*/, 6]; | ||
return [4 /*yield*/, features_state_file_1.writeFeatureFile(featureStateFile, initialFeatureState, log)]; | ||
return [4 /*yield*/, (0, features_state_file_1.writeFeatureFile)(featureStateFile, initialFeatureState, log)]; | ||
case 5: | ||
_b.sent(); | ||
_b.label = 6; | ||
case 6: return [4 /*yield*/, features_state_file_1.featureStateFileExists(featureStateFile) | ||
case 6: return [4 /*yield*/, (0, features_state_file_1.featureStateFileExists)(featureStateFile) | ||
// We want to read the state from the file to ensure it works. | ||
@@ -42,5 +43,5 @@ ]; | ||
if (!featureStateFileExistsResult) { | ||
throw new Error("Expecting feature state file to exist at " + features_state_file_1.featureFilePath(featureStateFile)); | ||
throw new Error("Expecting feature state file to exist at ".concat((0, features_state_file_1.featureFilePath)(featureStateFile))); | ||
} | ||
return [4 /*yield*/, features_state_file_1.readFeatureFile(featureStateFile, log)]; | ||
return [4 /*yield*/, (0, features_state_file_1.readFeatureFile)(featureStateFile, log)]; | ||
case 8: | ||
@@ -65,3 +66,3 @@ initialFeatureState = _b.sent(); | ||
return tslib_1.__awaiter(this, void 0, void 0, function () { | ||
var rawFeatureValues, err_2, err_3; | ||
var rawFeatureValues, err_2, error, err_3, error; | ||
return tslib_1.__generator(this, function (_a) { | ||
@@ -86,3 +87,4 @@ switch (_a.label) { | ||
err_2 = _a.sent(); | ||
log.error({ err: err_2 }, 'Failed to fetch new features'); | ||
error = err_2 instanceof Error ? err_2 : new Error(err_2 ? err_2.toString() : 'Unknown error'); | ||
log.error({ err: error }, 'Failed to fetch new features'); | ||
return [2 /*return*/]; | ||
@@ -95,3 +97,3 @@ case 6: | ||
_a.trys.push([7, 9, , 10]); | ||
return [4 /*yield*/, features_state_file_1.writeFeatureFile(options.featureStateFile, rawFeatureValues, log)]; | ||
return [4 /*yield*/, (0, features_state_file_1.writeFeatureFile)(options.featureStateFile, rawFeatureValues, log)]; | ||
case 8: | ||
@@ -102,3 +104,4 @@ _a.sent(); | ||
err_3 = _a.sent(); | ||
log.error({ err: err_3 }, 'Failed to write feature file'); | ||
error = err_3 instanceof Error ? err_3 : new Error(err_3 ? err_3.toString() : 'Unknown error'); | ||
log.error({ err: error }, 'Failed to write feature file'); | ||
return [3 /*break*/, 10]; | ||
@@ -105,0 +108,0 @@ case 10: return [4 /*yield*/, featureUpdater.updateToggleState(rawFeatureValues)]; |
@@ -11,4 +11,4 @@ "use strict"; | ||
switch (_a.label) { | ||
case 0: return [4 /*yield*/, create_feature_updater_1.createFeatureUpdater({ | ||
log: typescript_log_1.consoleLogger(), | ||
case 0: return [4 /*yield*/, (0, create_feature_updater_1.createFeatureUpdater)({ | ||
log: (0, typescript_log_1.consoleLogger)(), | ||
getFeatures: function () { | ||
@@ -32,4 +32,4 @@ return Promise.resolve({ | ||
switch (_c.label) { | ||
case 0: return [4 /*yield*/, create_feature_updater_1.createFeatureUpdater({ | ||
log: typescript_log_1.consoleLogger(), | ||
case 0: return [4 /*yield*/, (0, create_feature_updater_1.createFeatureUpdater)({ | ||
log: (0, typescript_log_1.consoleLogger)(), | ||
getFeatures: function () { | ||
@@ -36,0 +36,0 @@ return Promise.resolve({ |
@@ -5,3 +5,3 @@ "use strict"; | ||
var tslib_1 = require("tslib"); | ||
var cluster = tslib_1.__importStar(require("cluster")); | ||
var cluster_1 = tslib_1.__importDefault(require("cluster")); | ||
var events_1 = require("events"); | ||
@@ -28,3 +28,3 @@ var FeatureUpdater = /** @class */ (function (_super) { | ||
this.log.debug({ featureValues: this.featureValues }, "New feature set received"); | ||
this.emit("features-updated" /* FeaturesUpdated */); | ||
this.emit("features-updated" /* FeatureUpdaterEvents.FeaturesUpdated */); | ||
this.sendUpdate(undefined); | ||
@@ -40,5 +40,5 @@ return [2 /*return*/]; | ||
}; | ||
if (workerId) { | ||
this.log.debug("Sending features to worker " + workerId); | ||
var worker = cluster.workers[workerId]; | ||
if (workerId && cluster_1.default.workers) { | ||
this.log.debug("Sending features to worker ".concat(workerId)); | ||
var worker = cluster_1.default.workers[workerId]; | ||
if (worker) { | ||
@@ -49,6 +49,6 @@ worker.send(message); | ||
} | ||
for (var id in cluster.workers) { | ||
if (cluster.workers.hasOwnProperty(id)) { | ||
this.log.debug("Sending features to worker " + id); | ||
var worker = cluster.workers[id]; | ||
for (var id in cluster_1.default.workers) { | ||
if (cluster_1.default.workers.hasOwnProperty(id)) { | ||
this.log.debug("Sending features to worker ".concat(id)); | ||
var worker = cluster_1.default.workers[id]; | ||
if (worker) { | ||
@@ -55,0 +55,0 @@ worker.send(message); |
@@ -16,4 +16,4 @@ "use strict"; | ||
var filePath = featureFilePath(featureStateFile); | ||
logger.debug("Writing feature state file to " + filePath); | ||
return util_1.promisify(fs_1.default.writeFile)(filePath, JSON.stringify(featureState, null, 4)); | ||
logger.debug("Writing feature state file to ".concat(filePath)); | ||
return (0, util_1.promisify)(fs_1.default.writeFile)(filePath, JSON.stringify(featureState, null, 4)); | ||
} | ||
@@ -28,8 +28,8 @@ exports.writeFeatureFile = writeFeatureFile; | ||
filePath = featureFilePath(featureStateFile); | ||
logger.debug("Reading features from " + filePath); | ||
return [4 /*yield*/, util_1.promisify(fs_1.default.readFile)(filePath)]; | ||
logger.debug("Reading features from ".concat(filePath)); | ||
return [4 /*yield*/, (0, util_1.promisify)(fs_1.default.readFile)(filePath)]; | ||
case 1: | ||
data = _a.sent(); | ||
if (!data) { | ||
throw new Error("Configuration read from " + filePath + ", but data is empty"); | ||
throw new Error("Configuration read from ".concat(filePath, ", but data is empty")); | ||
} | ||
@@ -47,5 +47,5 @@ return [2 /*return*/, JSON.parse(data.toString())]; | ||
var filePath = featureFilePath(featureStateFile); | ||
return util_1.promisify(fs_1.default.exists)(filePath); | ||
return (0, util_1.promisify)(fs_1.default.exists)(filePath); | ||
} | ||
exports.featureStateFileExists = featureStateFileExists; | ||
//# sourceMappingURL=features-state-file.js.map |
@@ -8,3 +8,3 @@ "use strict"; | ||
function feaureStateMiddleware(req, _res, next) { | ||
req.features = feature_toggles_client_1.toFeatureState(featureManager.featureState); | ||
req.features = (0, feature_toggles_client_1.toFeatureState)(featureManager.featureState); | ||
next(); | ||
@@ -11,0 +11,0 @@ } |
{ | ||
"name": "@etrigan/feature-toggles", | ||
"version": "1.3.0", | ||
"version": "2.0.0", | ||
"description": "Etrigan feature toggles", | ||
@@ -10,3 +10,3 @@ "main": "dist/index.js", | ||
"dependencies": { | ||
"@etrigan/feature-toggles-client": "1.1.7" | ||
"@etrigan/feature-toggles-client": "1.1.8" | ||
}, | ||
@@ -13,0 +13,0 @@ "peerDependencies": { |
@@ -41,3 +41,4 @@ import { RawFeatureValues } from '@etrigan/feature-toggles-client' | ||
} catch (err) { | ||
log.error({ err }, 'Error fetching toggles') | ||
const error = err instanceof Error ? err : new Error(err ? err.toString() : 'Unknown error') | ||
log.error({ err: error }, 'Error fetching toggles') | ||
} | ||
@@ -90,3 +91,5 @@ | ||
} catch (err) { | ||
log.error({ err }, 'Failed to fetch new features') | ||
const error = err instanceof Error ? err : new Error(err ? err.toString() : 'Unknown error') | ||
log.error({ err: error }, 'Failed to fetch new features') | ||
return | ||
@@ -103,3 +106,5 @@ } | ||
} catch (err) { | ||
log.error({ err }, 'Failed to write feature file') | ||
const error = err instanceof Error ? err : new Error(err ? err.toString() : 'Unknown error') | ||
log.error({ err: error }, 'Failed to write feature file') | ||
} | ||
@@ -106,0 +111,0 @@ |
@@ -1,2 +0,2 @@ | ||
import * as cluster from 'cluster' | ||
import cluster from 'cluster'; | ||
import { Logger } from 'typescript-log' | ||
@@ -40,3 +40,3 @@ import { EventEmitter } from 'events' | ||
if (workerId) { | ||
if (workerId && cluster.workers) { | ||
this.log.debug(`Sending features to worker ${workerId}`) | ||
@@ -43,0 +43,0 @@ const worker = cluster.workers[workerId] |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
85245
2.03%836
0.72%+ Added
- Removed