UNPKG

@knapsack/app

Version:

Build Design Systems on top of knapsack, by Basalt

114 lines (99 loc) 3.39 kB
"use strict"; 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;