UNPKG

re-start

Version:

Start preset with reconfigurable tasks

79 lines (54 loc) 3.24 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.createPreset = exports.wrapCommand = exports.optify = exports.rayify = exports.DEV_ENV = exports.PROD_ENV = exports.TEST_ENV = undefined; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /* eslint-disable no-confusing-arrow,no-ternary,no-magic-numbers */ var _start = require('start'); var _start2 = _interopRequireDefault(_start); var _startEnv = require('start-env'); var _startEnv2 = _interopRequireDefault(_startEnv); var _minimist = require('minimist'); var _minimist2 = _interopRequireDefault(_minimist); var _config = require('./config'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } // eslint-disable-line import/named var TEST_ENV = exports.TEST_ENV = (0, _startEnv2.default)('NODE_ENV', 'test'); var PROD_ENV = exports.PROD_ENV = (0, _startEnv2.default)('NODE_ENV', 'production'); var DEV_ENV = exports.DEV_ENV = (0, _startEnv2.default)('NODE_ENV', 'development'); var rayify = exports.rayify = function rayify(items) { return Array.isArray(items) ? items : [items]; }; var optify = exports.optify = function optify(obj) { return obj ? [obj] : []; }; var wrapCommand = exports.wrapCommand = function wrapCommand(command, commands, rawOpts) { return function () { for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return command(commands, _extends({}, rawOpts, args.length !== 0 && _typeof(args[0]) === 'object' ? args[0] : (0, _minimist2.default)(args))); }; }; var createPreset = exports.createPreset = function createPreset(commands, defaults) { return function () { var startOrOpts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var maybeOpts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var start = null; var rawOpts = startOrOpts; if (typeof startOrOpts === 'function') { start = startOrOpts; rawOpts = maybeOpts; } var opts = _extends({}, defaults, (_config.config || {}).restart, rawOpts); var preset = { start: start || (0, _start2.default)(opts.reporter(opts.reporterOpts)) }; /* beautify preserve:start */ Object.assign(preset, Object.keys(commands).reduce(function (configured, key) { return Object.assign(configured, _defineProperty({}, key, wrapCommand(commands[key], preset, opts))); }, {})); /* beautify preserve:end */ return preset; }; };