@knapsack/app
Version:
Build Design Systems on top of knapsack, by Basalt
114 lines (99 loc) • 3.39 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getFeaturesForUser = getFeaturesForUser;
exports.enableCodeBlockLiveEdit = exports.enablePatternIcons = exports.enableTemplatePush = exports.enableUiCreatePattern = exports.enableUiSettings = exports.enableBlockquotes = exports.FeatureList = void 0;
var _fflip = _interopRequireDefault(require("fflip"));
/**
* Copyright (C) 2018 Basalt
This file is part of Knapsack.
Knapsack is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2 of the License, or (at your option)
any later version.
Knapsack is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details.
You should have received a copy of the GNU General Public License along
with Knapsack; if not, see <https://www.gnu.org/licenses>.
*/
let FeatureList;
exports.FeatureList = FeatureList;
(function (FeatureList) {
FeatureList["templatePush"] = "templatePush";
FeatureList["showNonFunctioningUi"] = "showNonFunctioningUi";
FeatureList["autosave"] = "autosave";
FeatureList["isLocalDev"] = "isLocalDev";
})(FeatureList || (exports.FeatureList = FeatureList = {}));
var Criteria;
(function (Criteria) {
Criteria["isLocalDev"] = "isLocalDev";
Criteria["isKsDev"] = "isKsDev";
Criteria["isKsTestRun"] = "isKsTestRun";
})(Criteria || (Criteria = {}));
const {
NODE_ENV,
KS_DEV,
KS_TEST_RUN
} = process.env;
const isProd = NODE_ENV === 'production';
const criteria = [{
id: Criteria.isLocalDev,
check: (user, arg) => {
return arg !== isProd === arg;
}
}, {
id: Criteria.isKsDev,
check: (user, isKsDev) => {
return KS_DEV === 'yes' === isKsDev;
}
}, {
id: Criteria.isKsTestRun,
check: (user, isKsTestRun) => {
return KS_TEST_RUN === 'yes' === isKsTestRun;
}
}];
const featuresConfig = [{
id: FeatureList.templatePush,
criteria: {
isLocalDev: true
}
}, {
id: FeatureList.showNonFunctioningUi,
criteria: {
isKsDev: true
}
}, {
id: FeatureList.autosave,
criteria: {
isLocalDev: true,
isKsTestRun: false
}
}, {
id: FeatureList.isLocalDev,
criteria: {
isLocalDev: true
}
}];
_fflip.default.config({
criteria,
features: featuresConfig
});
function getFeaturesForUser(userInfo) {
return _fflip.default.getFeaturesForUser(userInfo);
}
const enableBlockquotes = false;
exports.enableBlockquotes = enableBlockquotes;
const enableUiSettings = true; // @todo fix ability to create new patterns via UI
exports.enableUiSettings = enableUiSettings;
const enableUiCreatePattern = false;
exports.enableUiCreatePattern = enableUiCreatePattern;
const enableTemplatePush = true; // @todo enablePatternIcons is not support in pattern-grid.jsx and playground-sidebar--pattern-list-item as of adoption of gql over REST API
exports.enableTemplatePush = enableTemplatePush;
const enablePatternIcons = false;
exports.enablePatternIcons = enablePatternIcons;
const enableCodeBlockLiveEdit = false;
exports.enableCodeBlockLiveEdit = enableCodeBlockLiveEdit;