UNPKG

lightfold

Version:

lightweight scaffolding and archiving utility CLI.

1,836 lines (1,519 loc) 1.05 MB
(function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); else if(typeof define === 'function' && define.amd) define([], factory); else if(typeof exports === 'object') exports["expect"] = factory(); else root["expect"] = factory(); })(window, function() { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = "./packages/expect/src/index.ts"); /******/ }) /************************************************************************/ /******/ ({ /***/ "./node_modules/@babel/code-frame/lib/index.js": /*!*****************************************************!*\ !*** ./node_modules/@babel/code-frame/lib/index.js ***! \*****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(process) { Object.defineProperty(exports, "__esModule", { value: true }); exports.codeFrameColumns = codeFrameColumns; exports.default = _default; function _highlight() { var data = _interopRequireWildcard(__webpack_require__(/*! @babel/highlight */ "./node_modules/@babel/highlight/lib/index.js")); _highlight = function _highlight() { return data; }; return data; } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } var deprecationWarningShown = false; function getDefs(chalk) { return { gutter: chalk.grey, marker: chalk.red.bold, message: chalk.red.bold }; } var NEWLINE = /\r\n|[\n\r\u2028\u2029]/; function getMarkerLines(loc, source, opts) { var startLoc = Object.assign({ column: 0, line: -1 }, loc.start); var endLoc = Object.assign({}, startLoc, loc.end); var _ref = opts || {}, _ref$linesAbove = _ref.linesAbove, linesAbove = _ref$linesAbove === void 0 ? 2 : _ref$linesAbove, _ref$linesBelow = _ref.linesBelow, linesBelow = _ref$linesBelow === void 0 ? 3 : _ref$linesBelow; var startLine = startLoc.line; var startColumn = startLoc.column; var endLine = endLoc.line; var endColumn = endLoc.column; var start = Math.max(startLine - (linesAbove + 1), 0); var end = Math.min(source.length, endLine + linesBelow); if (startLine === -1) { start = 0; } if (endLine === -1) { end = source.length; } var lineDiff = endLine - startLine; var markerLines = {}; if (lineDiff) { for (var i = 0; i <= lineDiff; i++) { var lineNumber = i + startLine; if (!startColumn) { markerLines[lineNumber] = true; } else if (i === 0) { var sourceLength = source[lineNumber - 1].length; markerLines[lineNumber] = [startColumn, sourceLength - startColumn]; } else if (i === lineDiff) { markerLines[lineNumber] = [0, endColumn]; } else { var _sourceLength = source[lineNumber - i].length; markerLines[lineNumber] = [0, _sourceLength]; } } } else { if (startColumn === endColumn) { if (startColumn) { markerLines[startLine] = [startColumn, 0]; } else { markerLines[startLine] = true; } } else { markerLines[startLine] = [startColumn, endColumn - startColumn]; } } return { start: start, end: end, markerLines: markerLines }; } function codeFrameColumns(rawLines, loc) { var opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; var highlighted = (opts.highlightCode || opts.forceColor) && (0, _highlight().shouldHighlight)(opts); var chalk = (0, _highlight().getChalk)(opts); var defs = getDefs(chalk); var maybeHighlight = function maybeHighlight(chalkFn, string) { return highlighted ? chalkFn(string) : string; }; if (highlighted) rawLines = (0, _highlight().default)(rawLines, opts); var lines = rawLines.split(NEWLINE); var _getMarkerLines = getMarkerLines(loc, lines, opts), start = _getMarkerLines.start, end = _getMarkerLines.end, markerLines = _getMarkerLines.markerLines; var hasColumns = loc.start && typeof loc.start.column === "number"; var numberMaxWidth = String(end).length; var frame = lines.slice(start, end).map(function (line, index) { var number = start + 1 + index; var paddedNumber = " ".concat(number).slice(-numberMaxWidth); var gutter = " ".concat(paddedNumber, " | "); var hasMarker = markerLines[number]; var lastMarkerLine = !markerLines[number + 1]; if (hasMarker) { var markerLine = ""; if (Array.isArray(hasMarker)) { var markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " "); var numberOfMarkers = hasMarker[1] || 1; markerLine = ["\n ", maybeHighlight(defs.gutter, gutter.replace(/\d/g, " ")), markerSpacing, maybeHighlight(defs.marker, "^").repeat(numberOfMarkers)].join(""); if (lastMarkerLine && opts.message) { markerLine += " " + maybeHighlight(defs.message, opts.message); } } return [maybeHighlight(defs.marker, ">"), maybeHighlight(defs.gutter, gutter), line, markerLine].join(""); } else { return " ".concat(maybeHighlight(defs.gutter, gutter)).concat(line); } }).join("\n"); if (opts.message && !hasColumns) { frame = "".concat(" ".repeat(numberMaxWidth + 1)).concat(opts.message, "\n").concat(frame); } if (highlighted) { return chalk.reset(frame); } else { return frame; } } function _default(rawLines, lineNumber, colNumber) { var opts = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; if (!deprecationWarningShown) { deprecationWarningShown = true; var message = "Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`."; if (process.emitWarning) { process.emitWarning(message, "DeprecationWarning"); } else { var deprecationError = new Error(message); deprecationError.name = "DeprecationWarning"; console.warn(new Error(message)); } } colNumber = Math.max(colNumber, 0); var location = { start: { column: colNumber, line: lineNumber } }; return codeFrameColumns(rawLines, location, opts); } /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../process/browser.js */ "./node_modules/process/browser.js"))) /***/ }), /***/ "./node_modules/@babel/highlight/lib/index.js": /*!****************************************************!*\ !*** ./node_modules/@babel/highlight/lib/index.js ***! \****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } Object.defineProperty(exports, "__esModule", { value: true }); exports.shouldHighlight = shouldHighlight; exports.getChalk = getChalk; exports.default = highlight; function _jsTokens() { var data = _interopRequireWildcard(__webpack_require__(/*! js-tokens */ "./node_modules/js-tokens/index.js")); _jsTokens = function _jsTokens() { return data; }; return data; } function _esutils() { var data = _interopRequireDefault(__webpack_require__(/*! esutils */ "./node_modules/esutils/lib/utils.js")); _esutils = function _esutils() { return data; }; return data; } function _chalk() { var data = _interopRequireDefault(__webpack_require__(/*! chalk */ "./packages/expect/build/fakeChalk.js")); _chalk = function _chalk() { return data; }; return data; } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } function getDefs(chalk) { return { keyword: chalk.cyan, capitalized: chalk.yellow, jsx_tag: chalk.yellow, punctuator: chalk.yellow, number: chalk.magenta, string: chalk.green, regex: chalk.magenta, comment: chalk.grey, invalid: chalk.white.bgRed.bold }; } var NEWLINE = /\r\n|[\n\r\u2028\u2029]/; var JSX_TAG = /^[a-z][\w-]*$/i; var BRACKET = /^[()[\]{}]$/; function getTokenType(match) { var _match$slice = match.slice(-2), _match$slice2 = _slicedToArray(_match$slice, 2), offset = _match$slice2[0], text = _match$slice2[1]; var token = (0, _jsTokens().matchToToken)(match); if (token.type === "name") { if (_esutils().default.keyword.isReservedWordES6(token.value)) { return "keyword"; } if (JSX_TAG.test(token.value) && (text[offset - 1] === "<" || text.substr(offset - 2, 2) == "</")) { return "jsx_tag"; } if (token.value[0] !== token.value[0].toLowerCase()) { return "capitalized"; } } if (token.type === "punctuator" && BRACKET.test(token.value)) { return "bracket"; } if (token.type === "invalid" && (token.value === "@" || token.value === "#")) { return "punctuator"; } return token.type; } function highlightTokens(defs, text) { return text.replace(_jsTokens().default, function () { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } var type = getTokenType(args); var colorize = defs[type]; if (colorize) { return args[0].split(NEWLINE).map(function (str) { return colorize(str); }).join("\n"); } else { return args[0]; } }); } function shouldHighlight(options) { return _chalk().default.supportsColor || options.forceColor; } function getChalk(options) { var chalk = _chalk().default; if (options.forceColor) { chalk = new (_chalk().default.constructor)({ enabled: true, level: 1 }); } return chalk; } function highlight(code) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; if (shouldHighlight(options)) { var chalk = getChalk(options); var defs = getDefs(chalk); return highlightTokens(defs, code); } else { return code; } } /***/ }), /***/ "./node_modules/ansi-regex/index.js": /*!******************************************!*\ !*** ./node_modules/ansi-regex/index.js ***! \******************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; module.exports = function (options) { options = Object.assign({ onlyFirst: false }, options); var pattern = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))'].join('|'); return new RegExp(pattern, options.onlyFirst ? undefined : 'g'); }; /***/ }), /***/ "./node_modules/ansi-styles/index.js": /*!*******************************************!*\ !*** ./node_modules/ansi-styles/index.js ***! \*******************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(module) { function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } var colorConvert = __webpack_require__(/*! color-convert */ "./node_modules/color-convert/index.js"); var wrapAnsi16 = function wrapAnsi16(fn, offset) { return function () { var code = fn.apply(colorConvert, arguments); return "\x1B[".concat(code + offset, "m"); }; }; var wrapAnsi256 = function wrapAnsi256(fn, offset) { return function () { var code = fn.apply(colorConvert, arguments); return "\x1B[".concat(38 + offset, ";5;").concat(code, "m"); }; }; var wrapAnsi16m = function wrapAnsi16m(fn, offset) { return function () { var rgb = fn.apply(colorConvert, arguments); return "\x1B[".concat(38 + offset, ";2;").concat(rgb[0], ";").concat(rgb[1], ";").concat(rgb[2], "m"); }; }; function assembleStyles() { var codes = new Map(); var styles = { modifier: { reset: [0, 0], // 21 isn't widely supported and 22 does the same thing bold: [1, 22], dim: [2, 22], italic: [3, 23], underline: [4, 24], inverse: [7, 27], hidden: [8, 28], strikethrough: [9, 29] }, color: { black: [30, 39], red: [31, 39], green: [32, 39], yellow: [33, 39], blue: [34, 39], magenta: [35, 39], cyan: [36, 39], white: [37, 39], gray: [90, 39], // Bright color redBright: [91, 39], greenBright: [92, 39], yellowBright: [93, 39], blueBright: [94, 39], magentaBright: [95, 39], cyanBright: [96, 39], whiteBright: [97, 39] }, bgColor: { bgBlack: [40, 49], bgRed: [41, 49], bgGreen: [42, 49], bgYellow: [43, 49], bgBlue: [44, 49], bgMagenta: [45, 49], bgCyan: [46, 49], bgWhite: [47, 49], // Bright color bgBlackBright: [100, 49], bgRedBright: [101, 49], bgGreenBright: [102, 49], bgYellowBright: [103, 49], bgBlueBright: [104, 49], bgMagentaBright: [105, 49], bgCyanBright: [106, 49], bgWhiteBright: [107, 49] } }; // Fix humans styles.color.grey = styles.color.gray; var _arr = Object.keys(styles); for (var _i = 0; _i < _arr.length; _i++) { var groupName = _arr[_i]; var group = styles[groupName]; var _arr3 = Object.keys(group); for (var _i3 = 0; _i3 < _arr3.length; _i3++) { var styleName = _arr3[_i3]; var style = group[styleName]; styles[styleName] = { open: "\x1B[".concat(style[0], "m"), close: "\x1B[".concat(style[1], "m") }; group[styleName] = styles[styleName]; codes.set(style[0], style[1]); } Object.defineProperty(styles, groupName, { value: group, enumerable: false }); Object.defineProperty(styles, 'codes', { value: codes, enumerable: false }); } var ansi2ansi = function ansi2ansi(n) { return n; }; var rgb2rgb = function rgb2rgb(r, g, b) { return [r, g, b]; }; styles.color.close = "\x1B[39m"; styles.bgColor.close = "\x1B[49m"; styles.color.ansi = { ansi: wrapAnsi16(ansi2ansi, 0) }; styles.color.ansi256 = { ansi256: wrapAnsi256(ansi2ansi, 0) }; styles.color.ansi16m = { rgb: wrapAnsi16m(rgb2rgb, 0) }; styles.bgColor.ansi = { ansi: wrapAnsi16(ansi2ansi, 10) }; styles.bgColor.ansi256 = { ansi256: wrapAnsi256(ansi2ansi, 10) }; styles.bgColor.ansi16m = { rgb: wrapAnsi16m(rgb2rgb, 10) }; var _arr2 = Object.keys(colorConvert); for (var _i2 = 0; _i2 < _arr2.length; _i2++) { var key = _arr2[_i2]; if (_typeof(colorConvert[key]) !== 'object') { continue; } var suite = colorConvert[key]; if (key === 'ansi16') { key = 'ansi'; } if ('ansi16' in suite) { styles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0); styles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10); } if ('ansi256' in suite) { styles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0); styles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10); } if ('rgb' in suite) { styles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0); styles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10); } } return styles; } // Make the export immutable Object.defineProperty(module, 'exports', { enumerable: true, get: assembleStyles }); /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/module.js */ "./node_modules/webpack/buildin/module.js")(module))) /***/ }), /***/ "./node_modules/arr-diff/index.js": /*!****************************************!*\ !*** ./node_modules/arr-diff/index.js ***! \****************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /*! * arr-diff <https://github.com/jonschlinkert/arr-diff> * * Copyright (c) 2014-2017, Jon Schlinkert. * Released under the MIT License. */ module.exports = function diff(arr /*, arrays*/ ) { var len = arguments.length; var idx = 0; while (++idx < len) { arr = diffArray(arr, arguments[idx]); } return arr; }; function diffArray(one, two) { if (!Array.isArray(two)) { return one.slice(); } var tlen = two.length; var olen = one.length; var idx = -1; var arr = []; while (++idx < olen) { var ele = one[idx]; var hasEle = false; for (var i = 0; i < tlen; i++) { var val = two[i]; if (ele === val) { hasEle = true; break; } } if (hasEle === false) { arr.push(ele); } } return arr; } /***/ }), /***/ "./node_modules/arr-flatten/index.js": /*!*******************************************!*\ !*** ./node_modules/arr-flatten/index.js ***! \*******************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /*! * arr-flatten <https://github.com/jonschlinkert/arr-flatten> * * Copyright (c) 2014-2017, Jon Schlinkert. * Released under the MIT License. */ module.exports = function (arr) { return flat(arr, []); }; function flat(arr, res) { var i = 0, cur; var len = arr.length; for (; i < len; i++) { cur = arr[i]; Array.isArray(cur) ? flat(cur, res) : res.push(cur); } return res; } /***/ }), /***/ "./node_modules/arr-union/index.js": /*!*****************************************!*\ !*** ./node_modules/arr-union/index.js ***! \*****************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; module.exports = function union(init) { if (!Array.isArray(init)) { throw new TypeError('arr-union expects the first argument to be an array.'); } var len = arguments.length; var i = 0; while (++i < len) { var arg = arguments[i]; if (!arg) continue; if (!Array.isArray(arg)) { arg = [arg]; } for (var j = 0; j < arg.length; j++) { var ele = arg[j]; if (init.indexOf(ele) >= 0) { continue; } init.push(ele); } } return init; }; /***/ }), /***/ "./node_modules/array-unique/index.js": /*!********************************************!*\ !*** ./node_modules/array-unique/index.js ***! \********************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /*! * array-unique <https://github.com/jonschlinkert/array-unique> * * Copyright (c) 2014-2015, Jon Schlinkert. * Licensed under the MIT License. */ module.exports = function unique(arr) { if (!Array.isArray(arr)) { throw new TypeError('array-unique expects an array.'); } var len = arr.length; var i = -1; while (i++ < len) { var j = i + 1; for (; j < arr.length; ++j) { if (arr[i] === arr[j]) { arr.splice(j--, 1); } } } return arr; }; module.exports.immutable = function uniqueImmutable(arr) { if (!Array.isArray(arr)) { throw new TypeError('array-unique expects an array.'); } var arrLen = arr.length; var newArr = new Array(arrLen); for (var i = 0; i < arrLen; i++) { newArr[i] = arr[i]; } return module.exports(newArr); }; /***/ }), /***/ "./node_modules/assign-symbols/index.js": /*!**********************************************!*\ !*** ./node_modules/assign-symbols/index.js ***! \**********************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /*! * assign-symbols <https://github.com/jonschlinkert/assign-symbols> * * Copyright (c) 2015, Jon Schlinkert. * Licensed under the MIT License. */ module.exports = function (receiver, objects) { if (receiver === null || typeof receiver === 'undefined') { throw new TypeError('expected first argument to be an object.'); } if (typeof objects === 'undefined' || typeof Symbol === 'undefined') { return receiver; } if (typeof Object.getOwnPropertySymbols !== 'function') { return receiver; } var isEnumerable = Object.prototype.propertyIsEnumerable; var target = Object(receiver); var len = arguments.length, i = 0; while (++i < len) { var provider = Object(arguments[i]); var names = Object.getOwnPropertySymbols(provider); for (var j = 0; j < names.length; j++) { var key = names[j]; if (isEnumerable.call(provider, key)) { target[key] = provider[key]; } } } return target; }; /***/ }), /***/ "./node_modules/base/index.js": /*!************************************!*\ !*** ./node_modules/base/index.js ***! \************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var util = __webpack_require__(/*! util */ "./node_modules/util/util.js"); var define = __webpack_require__(/*! define-property */ "./node_modules/base/node_modules/define-property/index.js"); var CacheBase = __webpack_require__(/*! cache-base */ "./node_modules/cache-base/index.js"); var Emitter = __webpack_require__(/*! component-emitter */ "./node_modules/base/node_modules/component-emitter/index.js"); var isObject = __webpack_require__(/*! isobject */ "./node_modules/isobject/index.js"); var merge = __webpack_require__(/*! mixin-deep */ "./node_modules/mixin-deep/index.js"); var pascal = __webpack_require__(/*! pascalcase */ "./node_modules/pascalcase/index.js"); var cu = __webpack_require__(/*! class-utils */ "./node_modules/class-utils/index.js"); /** * Optionally define a custom `cache` namespace to use. */ function namespace(name) { var Cache = name ? CacheBase.namespace(name) : CacheBase; var fns = []; /** * Create an instance of `Base` with the given `config` and `options`. * * ```js * // initialize with `config` and `options` * var app = new Base({isApp: true}, {abc: true}); * app.set('foo', 'bar'); * * // values defined with the given `config` object will be on the root of the instance * console.log(app.baz); //=> undefined * console.log(app.foo); //=> 'bar' * // or use `.get` * console.log(app.get('isApp')); //=> true * console.log(app.get('foo')); //=> 'bar' * * // values defined with the given `options` object will be on `app.options * console.log(app.options.abc); //=> true * ``` * * @param {Object} `config` If supplied, this object is passed to [cache-base][] to merge onto the the instance upon instantiation. * @param {Object} `options` If supplied, this object is used to initialize the `base.options` object. * @api public */ function Base(config, options) { if (!(this instanceof Base)) { return new Base(config, options); } Cache.call(this, config); this.is('base'); this.initBase(config, options); } /** * Inherit cache-base */ util.inherits(Base, Cache); /** * Add static emitter methods */ Emitter(Base); /** * Initialize `Base` defaults with the given `config` object */ Base.prototype.initBase = function (config, options) { this.options = merge({}, this.options, options); this.cache = this.cache || {}; this.define('registered', {}); if (name) this[name] = {}; // make `app._callbacks` non-enumerable this.define('_callbacks', this._callbacks); if (isObject(config)) { this.visit('set', config); } Base.run(this, 'use', fns); }; /** * Set the given `name` on `app._name` and `app.is*` properties. Used for doing * lookups in plugins. * * ```js * app.is('foo'); * console.log(app._name); * //=> 'foo' * console.log(app.isFoo); * //=> true * app.is('bar'); * console.log(app.isFoo); * //=> true * console.log(app.isBar); * //=> true * console.log(app._name); * //=> 'bar' * ``` * @name .is * @param {String} `name` * @return {Boolean} * @api public */ Base.prototype.is = function (name) { if (typeof name !== 'string') { throw new TypeError('expected name to be a string'); } this.define('is' + pascal(name), true); this.define('_name', name); this.define('_appname', name); return this; }; /** * Returns true if a plugin has already been registered on an instance. * * Plugin implementors are encouraged to use this first thing in a plugin * to prevent the plugin from being called more than once on the same * instance. * * ```js * var base = new Base(); * base.use(function(app) { * if (app.isRegistered('myPlugin')) return; * // do stuff to `app` * }); * * // to also record the plugin as being registered * base.use(function(app) { * if (app.isRegistered('myPlugin', true)) return; * // do stuff to `app` * }); * ``` * @name .isRegistered * @emits `plugin` Emits the name of the plugin being registered. Useful for unit tests, to ensure plugins are only registered once. * @param {String} `name` The plugin name. * @param {Boolean} `register` If the plugin if not already registered, to record it as being registered pass `true` as the second argument. * @return {Boolean} Returns true if a plugin is already registered. * @api public */ Base.prototype.isRegistered = function (name, register) { if (this.registered.hasOwnProperty(name)) { return true; } if (register !== false) { this.registered[name] = true; this.emit('plugin', name); } return false; }; /** * Define a plugin function to be called immediately upon init. Plugins are chainable * and expose the following arguments to the plugin function: * * - `app`: the current instance of `Base` * - `base`: the [first ancestor instance](#base) of `Base` * * ```js * var app = new Base() * .use(foo) * .use(bar) * .use(baz) * ``` * @name .use * @param {Function} `fn` plugin function to call * @return {Object} Returns the item instance for chaining. * @api public */ Base.prototype.use = function (fn) { fn.call(this, this); return this; }; /** * The `.define` method is used for adding non-enumerable property on the instance. * Dot-notation is **not supported** with `define`. * * ```js * // arbitrary `render` function using lodash `template` * app.define('render', function(str, locals) { * return _.template(str)(locals); * }); * ``` * @name .define * @param {String} `key` The name of the property to define. * @param {any} `value` * @return {Object} Returns the instance for chaining. * @api public */ Base.prototype.define = function (key, val) { if (isObject(key)) { return this.visit('define', key); } define(this, key, val); return this; }; /** * Mix property `key` onto the Base prototype. If base is inherited using * `Base.extend` this method will be overridden by a new `mixin` method that will * only add properties to the prototype of the inheriting application. * * ```js * app.mixin('foo', function() { * // do stuff * }); * ``` * @name .mixin * @param {String} `key` * @param {Object|Array} `val` * @return {Object} Returns the `base` instance for chaining. * @api public */ Base.prototype.mixin = function (key, val) { Base.prototype[key] = val; return this; }; /** * Non-enumberable mixin array, used by the static [Base.mixin]() method. */ Base.prototype.mixins = Base.prototype.mixins || []; /** * Getter/setter used when creating nested instances of `Base`, for storing a reference * to the first ancestor instance. This works by setting an instance of `Base` on the `parent` * property of a "child" instance. The `base` property defaults to the current instance if * no `parent` property is defined. * * ```js * // create an instance of `Base`, this is our first ("base") instance * var first = new Base(); * first.foo = 'bar'; // arbitrary property, to make it easier to see what's happening later * * // create another instance * var second = new Base(); * // create a reference to the first instance (`first`) * second.parent = first; * * // create another instance * var third = new Base(); * // create a reference to the previous instance (`second`) * // repeat this pattern every time a "child" instance is created * third.parent = second; * * // we can always access the first instance using the `base` property * console.log(first.base.foo); * //=> 'bar' * console.log(second.base.foo); * //=> 'bar' * console.log(third.base.foo); * //=> 'bar' * // and now you know how to get to third base ;) * ``` * @name .base * @api public */ Object.defineProperty(Base.prototype, 'base', { configurable: true, get: function get() { return this.parent ? this.parent.base : this; } }); /** * Static method for adding global plugin functions that will * be added to an instance when created. * * ```js * Base.use(function(app) { * app.foo = 'bar'; * }); * var app = new Base(); * console.log(app.foo); * //=> 'bar' * ``` * @name #use * @param {Function} `fn` Plugin function to use on each instance. * @return {Object} Returns the `Base` constructor for chaining * @api public */ define(Base, 'use', function (fn) { fns.push(fn); return Base; }); /** * Run an array of functions by passing each function * to a method on the given object specified by the given property. * * @param {Object} `obj` Object containing method to use. * @param {String} `prop` Name of the method on the object to use. * @param {Array} `arr` Array of functions to pass to the method. */ define(Base, 'run', function (obj, prop, arr) { var len = arr.length, i = 0; while (len--) { obj[prop](arr[i++]); } return Base; }); /** * Static method for inheriting the prototype and static methods of the `Base` class. * This method greatly simplifies the process of creating inheritance-based applications. * See [static-extend][] for more details. * * ```js * var extend = cu.extend(Parent); * Parent.extend(Child); * * // optional methods * Parent.extend(Child, { * foo: function() {}, * bar: function() {} * }); * ``` * @name #extend * @param {Function} `Ctor` constructor to extend * @param {Object} `methods` Optional prototype properties to mix in. * @return {Object} Returns the `Base` constructor for chaining * @api public */ define(Base, 'extend', cu.extend(Base, function (Ctor, Parent) { Ctor.prototype.mixins = Ctor.prototype.mixins || []; define(Ctor, 'mixin', function (fn) { var mixin = fn(Ctor.prototype, Ctor); if (typeof mixin === 'function') { Ctor.prototype.mixins.push(mixin); } return Ctor; }); define(Ctor, 'mixins', function (Child) { Base.run(Child, 'mixin', Ctor.prototype.mixins); return Ctor; }); Ctor.prototype.mixin = function (key, value) { Ctor.prototype[key] = value; return this; }; return Base; })); /** * Used for adding methods to the `Base` prototype, and/or to the prototype of child instances. * When a mixin function returns a function, the returned function is pushed onto the `.mixins` * array, making it available to be used on inheriting classes whenever `Base.mixins()` is * called (e.g. `Base.mixins(Child)`). * * ```js * Base.mixin(function(proto) { * proto.foo = function(msg) { * return 'foo ' + msg; * }; * }); * ``` * @name #mixin * @param {Function} `fn` Function to call * @return {Object} Returns the `Base` constructor for chaining * @api public */ define(Base, 'mixin', function (fn) { var mixin = fn(Base.prototype, Base); if (typeof mixin === 'function') { Base.prototype.mixins.push(mixin); } return Base; }); /** * Static method for running global mixin functions against a child constructor. * Mixins must be registered before calling this method. * * ```js * Base.extend(Child); * Base.mixins(Child); * ``` * @name #mixins * @param {Function} `Child` Constructor function of a child class * @return {Object} Returns the `Base` constructor for chaining * @api public */ define(Base, 'mixins', function (Child) { Base.run(Child, 'mixin', Base.prototype.mixins); return Base; }); /** * Similar to `util.inherit`, but copies all static properties, prototype properties, and * getters/setters from `Provider` to `Receiver`. See [class-utils][]{#inherit} for more details. * * ```js * Base.inherit(Foo, Bar); * ``` * @name #inherit * @param {Function} `Receiver` Receiving (child) constructor * @param {Function} `Provider` Providing (parent) constructor * @return {Object} Returns the `Base` constructor for chaining * @api public */ define(Base, 'inherit', cu.inherit); define(Base, 'bubble', cu.bubble); return Base; } /** * Expose `Base` with default settings */ module.exports = namespace(); /** * Allow users to define a namespace */ module.exports.namespace = namespace; /***/ }), /***/ "./node_modules/base/node_modules/component-emitter/index.js": /*!*******************************************************************!*\ !*** ./node_modules/base/node_modules/component-emitter/index.js ***! \*******************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /** * Expose `Emitter`. */ if (true) { module.exports = Emitter; } /** * Initialize a new `Emitter`. * * @api public */ function Emitter(obj) { if (obj) return mixin(obj); } ; /** * Mixin the emitter properties. * * @param {Object} obj * @return {Object} * @api private */ function mixin(obj) { for (var key in Emitter.prototype) { obj[key] = Emitter.prototype[key]; } return obj; } /** * Listen on the given `event` with `fn`. * * @param {String} event * @param {Function} fn * @return {Emitter} * @api public */ Emitter.prototype.on = Emitter.prototype.addEventListener = function (event, fn) { this._callbacks = this._callbacks || {}; (this._callbacks['$' + event] = this._callbacks['$' + event] || []).push(fn); return this; }; /** * Adds an `event` listener that will be invoked a single * time then automatically removed. * * @param {String} event * @param {Function} fn * @return {Emitter} * @api public */ Emitter.prototype.once = function (event, fn) { function on() { this.off(event, on); fn.apply(this, arguments); } on.fn = fn; this.on(event, on); return this; }; /** * Remove the given callback for `event` or all * registered callbacks. * * @param {String} event * @param {Function} fn * @return {Emitter} * @api public */ Emitter.prototype.off = Emitter.prototype.removeListener = Emitter.prototype.removeAllListeners = Emitter.prototype.removeEventListener = function (event, fn) { this._callbacks = this._callbacks || {}; // all if (0 == arguments.length) { this._callbacks = {}; return this; } // specific event var callbacks = this._callbacks['$' + event]; if (!callbacks) return this; // remove all handlers if (1 == arguments.length) { delete this._callbacks['$' + event]; return this; } // remove specific handler var cb; for (var i = 0; i < callbacks.length; i++) { cb = callbacks[i]; if (cb === fn || cb.fn === fn) { callbacks.splice(i, 1); break; } } // Remove event specific arrays for event types that no // one is subscribed for to avoid memory leak. if (callbacks.length === 0) { delete this._callbacks['$' + event]; } return this; }; /** * Emit `event` with the given args. * * @param {String} event * @param {Mixed} ... * @return {Emitter} */ Emitter.prototype.emit = function (event) { this._callbacks = this._callbacks || {}; var args = new Array(arguments.length - 1), callbacks = this._callbacks['$' + event]; for (var i = 1; i < arguments.length; i++) { args[i - 1] = arguments[i]; } if (callbacks) { callbacks = callbacks.slice(0); for (var i = 0, len = callbacks.length; i < len; ++i) { callbacks[i].apply(this, args); } } return this; }; /** * Return array of callbacks for `event`. * * @param {String} event * @return {Array} * @api public */ Emitter.prototype.listeners = function (event) { this._callbacks = this._callbacks || {}; return this._callbacks['$' + event] || []; }; /** * Check if this emitter has `event` handlers. * * @param {String} event * @return {Boolean} * @api public */ Emitter.prototype.hasListeners = function (event) { return !!this.listeners(event).length; }; /***/ }), /***/ "./node_modules/base/node_modules/define-property/index.js": /*!*****************************************************************!*\ !*** ./node_modules/base/node_modules/define-property/index.js ***! \*****************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /*! * define-property <https://github.com/jonschlinkert/define-property> * * Copyright (c) 2015, 2017, Jon Schlinkert. * Released under the MIT License. */ function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } var isDescriptor = __webpack_require__(/*! is-descriptor */ "./node_modules/is-descriptor/index.js"); module.exports = function defineProperty(obj, prop, val) { if (_typeof(obj) !== 'object' && typeof obj !== 'function') { throw new TypeError('expected an object or function.'); } if (typeof prop !== 'string') { throw new TypeError('expected `prop` to be a string.'); } if (isDescriptor(val) && ('set' in val || 'get' in val)) { return Object.defineProperty(obj, prop, val); } return Object.defineProperty(obj, prop, { configurable: true, enumerable: false, writable: true, value: val }); }; /***/ }), /***/ "./node_modules/braces/index.js": /*!**************************************!*\ !*** ./node_modules/braces/index.js ***! \**************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /** * Module dependencies */ var toRegex = __webpack_require__(/*! to-regex */ "./node_modules/to-regex/index.js"); var unique = __webpack_require__(/*! array-unique */ "./node_modules/array-unique/index.js"); var extend = __webpack_require__(/*! extend-shallow */ "./node_modules/extend-shallow/index.js"); /** * Local dependencies */ var compilers = __webpack_require__(/*! ./lib/compilers */ "./node_modules/braces/lib/compilers.js"); var parsers = __webpack_require__(/*! ./lib/parsers */ "./node_modules/braces/lib/parsers.js"); var Braces = __webpack_require__(/*! ./lib/braces */ "./node_modules/braces/lib/braces.js"); var utils = __webpack_require__(/*! ./lib/utils */ "./node_modules/braces/lib/utils.js"); var MAX_LENGTH = 1024 * 64; var cache = {}; /** * Convert the given `braces` pattern into a regex-compatible string. By default, only one string is generated for every input string. Set `options.expand` to true to return an array of patterns (similar to Bash or minimatch. Before using `options.expand`, it's recommended that you read the [performance notes](#performance)). * * ```js * var braces = require('braces'); * console.log(braces('{a,b,c}')); * //=> ['(a|b|c)'] * * console.log(braces('{a,b,c}', {expand: true})); * //=> ['a', 'b', 'c'] * ``` * @param {String} `str` * @param {Object} `options` * @return {String} * @api public */ function braces(pattern, options) { var key = utils.createKey(String(pattern), options); var arr = []; var disabled = options && options.cache === false; if (!disabled && cache.hasOwnProperty(key)) { return cache[key]; } if (Array.isArray(pattern)) { for (var i = 0; i < pattern.length; i++) { arr.push.apply(arr, braces.create(pattern[i], options)); } } else { arr = braces.create(pattern, options); } if (options && options.nodupes === true) { arr = unique(arr); } if (!disabled) { cache[key] = arr; } return arr; } /** * Expands a brace pattern into an array. This method is called by the main [braces](#braces) function when `options.expand` is true. Before using this method it's recommended that you read the [performance notes](#performance)) and advantages of using [.optimize](#optimize) instead. * * ```js * var braces = require('braces'); * console.log(braces.expand('a/{b,c}/d')); * //=> ['a/b/d', 'a/c/d']; * ``` * @param {String} `pattern` Brace pattern * @param {Object} `options` * @return {Array} Returns an array of expanded values. * @api public */ braces.expand = function (pattern, options) { return braces.create(pattern, extend({}, options, { expand: true })); }; /** * Expands a brace pattern into a regex-compatible, optimized string. This method is called by the main [braces](#braces) function by default. * * ```js * var braces = require('braces'); * console.log(braces.expand('a/{b,c}/d')); * //=> ['a/(b|c)/d'] * ``` * @param {String} `pattern` Brace pattern * @param {Object} `options` * @return {Array} Returns an array of expanded values. * @api public */ braces.optimize = function (pattern, options) { return braces.create(pattern, options); }; /** * Processes a brace pattern and returns either an expanded array (if `options.expand` is true), a highly optimized regex-compatible string. This method is called by the main [braces](#braces) function. * * ```js * var braces = require('braces'); * console.log(braces.create('user-{200..300}/project-{a,b,c}-{1..10}')) * //=> 'user-(20[0-9]|2[1-9][0-9]|300)/project-(a|b|c)-([1-9]|10)' * ``` * @param {String} `pattern` Brace pattern * @param {Object} `options` * @return {Array} Returns an array of expanded values. * @api public */ braces.create = function (pattern, options) { if (typeof pattern !== 'string') { throw new TypeError('expected a string'); } var maxLength = options && options.maxLength || MAX_LENGTH; if (pattern.length >= maxLength) { throw new Error('expected pattern to be less than ' + maxLength + ' characters'); } function create() { if (pattern === '' || pattern.length < 3) { return [pattern]; } if (utils.isEmptySets(pattern)) { return []; } if (utils.isQuotedString(pattern)) { return [pattern.slice(1, -1)]; } var proto = new Braces(options); var result = !options || options.expand !== true ? proto.optimize(pattern, options) : proto.expand(pattern, options); // get the generated pattern(s) var arr = result.output; // filter out empty strings if specified if (options && options.noempty === true) { arr = arr.filter(Boolean); } // filter out duplicates if specified if (options && options.nodupes === true) { arr = unique(arr); } Object.defineProperty(arr, 'result', { enumerable: false, value: result }); return arr; } return memoize('create', pattern, options, create); }; /** * Create a regular expression from the given string `pattern`. * * ```js * var braces = require('braces'); * * console.log(braces.makeRe('id-{200..300}')); * //=> /^(?:id-(20[0-9]|2[1-9][0-9]|300))$/ * ``` * @param {String} `pattern` The pattern to convert to regex. * @param {Object} `options` * @return {RegExp} * @api public */ braces.makeRe = function (pattern, options) { if (typeof pattern !== 'string') { throw new TypeError('expected a string'); } var maxLength = options && options.maxLe