├── .gitignore ├── .npmignore ├── README.md ├── babel.config.js ├── lib ├── babel.js ├── index.js ├── inject.js ├── postcss.js ├── template.js └── utils.js ├── package.json ├── src ├── babel.js ├── index.js ├── inject.js ├── postcss.js ├── template.js └── utils.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | .gitignore 2 | .npmignore 3 | yarn.lock 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # vant-compiler 2 | 3 | Vue single file component compiler. 4 | 5 | ## Install 6 | 7 | #### NPM 8 | 9 | ```shell 10 | npm i @vant/compiler -S 11 | ``` 12 | 13 | #### YARN 14 | 15 | ```shell 16 | yarn add @vant/compiler 17 | ``` 18 | 19 | ### Options 20 | 21 | | Option | Default | Description | 22 | |---|---|---| 23 | | template | `{ preserveWhitespace: false }` | Vue template compiler options | 24 | | babel | `{}` | babel options | 25 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | [ 4 | '@babel/preset-env', 5 | { 6 | loose: true 7 | } 8 | ] 9 | ] 10 | }; 11 | -------------------------------------------------------------------------------- /lib/babel.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | exports.__esModule = true; 4 | exports.default = _default; 5 | 6 | var _core = require("@babel/core"); 7 | 8 | var _path = _interopRequireDefault(require("path")); 9 | 10 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 11 | 12 | function _extends() { _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; }; return _extends.apply(this, arguments); } 13 | 14 | var defaultConfig = { 15 | configFile: _path.default.join(__dirname, '../babel.config.js') 16 | }; 17 | 18 | function _default(source, config) { 19 | if (config === void 0) { 20 | config = {}; 21 | } 22 | 23 | return (0, _core.transform)(source, _extends({}, defaultConfig, config)).code; 24 | } -------------------------------------------------------------------------------- /lib/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var _babel = _interopRequireDefault(require("./babel")); 4 | 5 | var _inject = _interopRequireDefault(require("./inject")); 6 | 7 | var _template = _interopRequireDefault(require("./template")); 8 | 9 | var compiler = _interopRequireWildcard(require("vue-template-compiler")); 10 | 11 | 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; } } 12 | 13 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 14 | 15 | module.exports = function (code, config) { 16 | if (config === void 0) { 17 | config = {}; 18 | } 19 | 20 | var component = compiler.parseComponent(code); 21 | var styles = component.styles, 22 | template = component.template; 23 | var script = component.script || { 24 | content: 'export default {};' 25 | }; 26 | var js; 27 | 28 | if (template) { 29 | var render = (0, _template.default)(template, config.template); 30 | js = (0, _babel.default)((0, _inject.default)(script.content, render), config.babel); 31 | } else { 32 | js = (0, _babel.default)(script.content, config.babel); 33 | } 34 | 35 | var css = styles && styles[0] ? styles[0].content : ''; 36 | return { 37 | js: js, 38 | css: css 39 | }; 40 | }; -------------------------------------------------------------------------------- /lib/inject.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | exports.__esModule = true; 4 | exports.default = inject; 5 | 6 | /** 7 | * find injection position 8 | */ 9 | function inject(rawScript, render) { 10 | var _findInjectionPositio = findInjectionPosition(rawScript), 11 | matches = _findInjectionPositio.matches, 12 | script = _findInjectionPositio.script; 13 | 14 | if (matches && matches.length) { 15 | var staticRenderFnsStr = render.staticRenderFns !== '[]' ? "staticRenderFns: " + render.staticRenderFns + ", \n" : ''; 16 | var renderScript = "module.exports={\n render: " + render.render + ",\n\n " + staticRenderFnsStr; 17 | return script.split(matches[1]).join(renderScript.replace('module.exports={', matches[1]).replace(/\}$/, '')); 18 | } 19 | 20 | throw new Error("cannot find 'export defaults'."); 21 | } 22 | 23 | function findInjectionPosition(script) { 24 | var hasDefaultExportObject = /(export default[^{]*\{)/g.exec(script); 25 | if (hasDefaultExportObject) return { 26 | script: script, 27 | matches: hasDefaultExportObject 28 | }; 29 | var hasDefaultExportReference = /(export default[\s]+((?!(?:do|if|in|for|let|new|try|var|case|else|enum|eval|false|null|this|true|void|with|break|catch|class|const|super|throw|while|yield|delete|export|import|public|return|static|switch|typeof|default|extends|finally|package|private|continue|debugger|function|arguments|interface|protected|implements|instanceof)$)[$A-Z_a-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0\u08a2-\u08ac\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa80-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc][$A-Z_a-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0\u08a2-\u08ac\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa80-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc0-9\u0300-\u036f\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08e4-\u08fe\u0900-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c01-\u0c03\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c82\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d02\u0d03\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19b0-\u19c0\u19c8\u19c9\u19d0-\u19d9\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf2-\u1cf4\u1dc0-\u1de6\u1dfc-\u1dff\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua880\ua881\ua8b4-\ua8c4\ua8d0-\ua8d9\ua8e0-\ua8f1\ua900-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f]*))/g.exec(script); 30 | if (!hasDefaultExportReference) return { 31 | script: script, 32 | matches: null 33 | }; 34 | var name = hasDefaultExportReference[2].replace('$', '\\$'); 35 | var result = new RegExp("(" + name + "[\\s]=[^{]*\\{)", 'g').exec(script); 36 | if (result) return { 37 | script: script, 38 | matches: result 39 | }; 40 | var lit = new RegExp("export\\s+default\\s+" + name, 'g'); 41 | script = script.replace(lit, ";\n var __$" + name + " = Object.assign(" + name + ", {})\n __$" + name + ".prototype = " + name + ".prototype\n export default __$" + name + "\n "); 42 | var data = { 43 | matches: new RegExp("(__\\$" + name + " = Object\\.assign\\(" + name + ", \\{)", 'g').exec(script), 44 | script: script 45 | }; 46 | return data; 47 | } -------------------------------------------------------------------------------- /lib/postcss.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | exports.__esModule = true; 4 | exports.default = _default; 5 | 6 | require("babel-polyfill"); 7 | 8 | var _postcss = _interopRequireDefault(require("postcss")); 9 | 10 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 11 | 12 | function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } 13 | 14 | function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } 15 | 16 | function _default(_x, _x2) { 17 | return _ref.apply(this, arguments); 18 | } 19 | 20 | function _ref() { 21 | _ref = _asyncToGenerator( 22 | /*#__PURE__*/ 23 | regeneratorRuntime.mark(function _callee(source, plugins) { 24 | var content, result; 25 | return regeneratorRuntime.wrap(function _callee$(_context) { 26 | while (1) { 27 | switch (_context.prev = _context.next) { 28 | case 0: 29 | if (!(!source || !source[0])) { 30 | _context.next = 2; 31 | break; 32 | } 33 | 34 | return _context.abrupt("return", ''); 35 | 36 | case 2: 37 | content = source[0].content; 38 | 39 | if (plugins) { 40 | _context.next = 7; 41 | break; 42 | } 43 | 44 | return _context.abrupt("return", content); 45 | 46 | case 7: 47 | _context.next = 9; 48 | return (0, _postcss.default)(plugins).process(content); 49 | 50 | case 9: 51 | result = _context.sent; 52 | return _context.abrupt("return", result.css); 53 | 54 | case 11: 55 | case "end": 56 | return _context.stop(); 57 | } 58 | } 59 | }, _callee, this); 60 | })); 61 | return _ref.apply(this, arguments); 62 | } -------------------------------------------------------------------------------- /lib/template.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | exports.__esModule = true; 4 | exports.default = parse; 5 | 6 | var compiler = _interopRequireWildcard(require("vue-template-compiler")); 7 | 8 | var _vueTemplateEs2015Compiler = _interopRequireDefault(require("vue-template-es2015-compiler")); 9 | 10 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 11 | 12 | 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; } } 13 | 14 | function _extends() { _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; }; return _extends.apply(this, arguments); } 15 | 16 | var defaultConfig = { 17 | preserveWhitespace: false 18 | }; 19 | 20 | function parse(template, config) { 21 | if (config === void 0) { 22 | config = {}; 23 | } 24 | 25 | var compiled = compiler.compile(template.content, _extends({}, defaultConfig, config)); 26 | 27 | if (compiled.errors.length) { 28 | throw new Error("\n Error compiling template:\n" + pad(html) + "\n" + compiled.errors.map(function (e) { 29 | return " - " + e; 30 | }).join('\n') + '\n'); 31 | } 32 | 33 | return { 34 | render: toFunction(compiled.render), 35 | staticRenderFns: "[" + compiled.staticRenderFns.map(toFunction).join(',') + "]" 36 | }; 37 | } 38 | 39 | function toFunction(code) { 40 | return (0, _vueTemplateEs2015Compiler.default)("var TEMP_VAR = function (){" + code + "}").replace('var TEMP_VAR = ', ''); 41 | } -------------------------------------------------------------------------------- /lib/utils.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | exports.__esModule = true; 4 | exports.pad = pad; 5 | 6 | function pad(html) { 7 | return html.split(/\r?\n/).map(function (line) { 8 | return " " + line; 9 | }).join('\n'); 10 | } -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@vant/compiler", 3 | "version": "1.0.0", 4 | "description": "compile vue single file component to js file.", 5 | "main": "lib/index.js", 6 | "scripts": { 7 | "test": "npm test", 8 | "build": "babel src --out-dir lib", 9 | "release": "npm run build && npm publish --access public" 10 | }, 11 | "repository": { 12 | "type": "git", 13 | "url": "git+https://github.com/chenjiahan/vue-sfc-compiler.git" 14 | }, 15 | "keywords": [ 16 | "sfc", 17 | "compile", 18 | "vue", 19 | "component" 20 | ], 21 | "author": "neverland", 22 | "license": "ISC", 23 | "bugs": { 24 | "url": "https://github.com/chenjiahan/vue-sfc-compiler/issues" 25 | }, 26 | "homepage": "https://github.com/chenjiahan/vue-sfc-compiler#readme", 27 | "peerDependencies": { 28 | "vue-template-compiler": ">=2.5.0", 29 | "vue-template-es2015-compiler": ">=1.6.0" 30 | }, 31 | "devDependencies": { 32 | "@babel/cli": "^7.2.0", 33 | "@babel/core": "^7.2.2", 34 | "@babel/preset-env": "^7.2.0", 35 | "vue-template-compiler": "^2.5.21", 36 | "vue-template-es2015-compiler": "^1.6.0" 37 | }, 38 | "dependencies": {} 39 | } 40 | -------------------------------------------------------------------------------- /src/babel.js: -------------------------------------------------------------------------------- 1 | import { transform } from '@babel/core'; 2 | import path from 'path'; 3 | 4 | const defaultConfig = { 5 | configFile: path.join(__dirname, '../babel.config.js') 6 | }; 7 | 8 | export default function(source, config = {}) { 9 | return transform(source, { 10 | ...defaultConfig, 11 | ...config 12 | }).code; 13 | } 14 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | import babel from './babel'; 2 | import inject from './inject'; 3 | import parseTemplate from './template'; 4 | import * as compiler from 'vue-template-compiler'; 5 | 6 | module.exports = function(code, config = {}) { 7 | const component = compiler.parseComponent(code); 8 | const { styles, template } = component; 9 | const script = component.script || { content: 'export default {};' }; 10 | 11 | let js; 12 | if (template) { 13 | const render = parseTemplate(template, config.template); 14 | js = babel(inject(script.content, render), config.babel); 15 | } else { 16 | js = babel(script.content, config.babel); 17 | } 18 | 19 | const css = styles && styles[0] ? styles[0].content : ''; 20 | 21 | return { js, css }; 22 | }; 23 | -------------------------------------------------------------------------------- /src/inject.js: -------------------------------------------------------------------------------- 1 | /** 2 | * find injection position 3 | */ 4 | 5 | export default function inject(rawScript, render) { 6 | const { matches, script } = findInjectionPosition(rawScript); 7 | 8 | if (matches && matches.length) { 9 | const staticRenderFnsStr = render.staticRenderFns !== '[]' ? `staticRenderFns: ${render.staticRenderFns}, \n` : ''; 10 | const renderScript = `module.exports={\n render: ${render.render},\n\n ${staticRenderFnsStr}`; 11 | 12 | return script 13 | .split(matches[1]) 14 | .join( 15 | renderScript.replace('module.exports={', matches[1]).replace(/\}$/, '') 16 | ); 17 | } 18 | 19 | throw new Error(`cannot find 'export defaults'.`); 20 | } 21 | 22 | function findInjectionPosition(script) { 23 | const hasDefaultExportObject = /(export default[^{]*\{)/g.exec(script); 24 | 25 | if (hasDefaultExportObject) 26 | return { script, matches: hasDefaultExportObject }; 27 | 28 | const hasDefaultExportReference = /(export default[\s]+((?!(?:do|if|in|for|let|new|try|var|case|else|enum|eval|false|null|this|true|void|with|break|catch|class|const|super|throw|while|yield|delete|export|import|public|return|static|switch|typeof|default|extends|finally|package|private|continue|debugger|function|arguments|interface|protected|implements|instanceof)$)[$A-Z_a-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0\u08a2-\u08ac\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa80-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc][$A-Z_a-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0\u08a2-\u08ac\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa80-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc0-9\u0300-\u036f\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08e4-\u08fe\u0900-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c01-\u0c03\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c82\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d02\u0d03\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19b0-\u19c0\u19c8\u19c9\u19d0-\u19d9\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf2-\u1cf4\u1dc0-\u1de6\u1dfc-\u1dff\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua880\ua881\ua8b4-\ua8c4\ua8d0-\ua8d9\ua8e0-\ua8f1\ua900-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f]*))/g.exec( 29 | script 30 | ); 31 | 32 | if (!hasDefaultExportReference) return { script, matches: null }; 33 | 34 | const name = hasDefaultExportReference[2].replace('$', '\\$'); 35 | 36 | const result = new RegExp(`(${name}[\\s]=[^{]*\\{)`, 'g').exec(script); 37 | if (result) return { script, matches: result }; 38 | 39 | const lit = new RegExp(`export\\s+default\\s+${name}`, 'g'); 40 | script = script.replace( 41 | lit, 42 | `; 43 | var __$${name} = Object.assign(${name}, {}) 44 | __$${name}.prototype = ${name}.prototype 45 | export default __$${name} 46 | ` 47 | ); 48 | const data = { 49 | matches: new RegExp( 50 | `(__\\$${name} = Object\\.assign\\(${name}, \\{)`, 51 | 'g' 52 | ).exec(script), 53 | script 54 | }; 55 | return data; 56 | } -------------------------------------------------------------------------------- /src/postcss.js: -------------------------------------------------------------------------------- 1 | import "babel-polyfill"; 2 | import postcss from 'postcss'; 3 | 4 | export default async function(source, plugins) { 5 | if (!source || !source[0]) { 6 | return ''; 7 | } 8 | 9 | const { content } = source[0]; 10 | 11 | if (!plugins) { 12 | return content; 13 | } else { 14 | const result = await postcss(plugins).process(content); 15 | return result.css; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/template.js: -------------------------------------------------------------------------------- 1 | /** 2 | * parse HTML to render function 3 | */ 4 | 5 | import * as compiler from 'vue-template-compiler'; 6 | import compilerES2015 from 'vue-template-es2015-compiler'; 7 | 8 | const defaultConfig = { 9 | preserveWhitespace: false 10 | }; 11 | 12 | export default function parse(template, config = {}) { 13 | const compiled = compiler.compile(template.content, { 14 | ...defaultConfig, 15 | ...config 16 | }); 17 | 18 | if (compiled.errors.length) { 19 | throw new Error( 20 | `\n Error compiling template:\n${pad(html)}\n` + 21 | compiled.errors.map(e => ` - ${e}`).join('\n') + 22 | '\n' 23 | ); 24 | } 25 | 26 | return { 27 | render: toFunction(compiled.render), 28 | staticRenderFns: `[${compiled.staticRenderFns.map(toFunction).join(',')}]` 29 | }; 30 | } 31 | 32 | function toFunction(code) { 33 | return compilerES2015( 34 | `var TEMP_VAR = function (){${code}}` 35 | ).replace('var TEMP_VAR = ', ''); 36 | } 37 | -------------------------------------------------------------------------------- /src/utils.js: -------------------------------------------------------------------------------- 1 | export function pad(html) { 2 | return html.split(/\r?\n/).map(line => ` ${line}`).join('\n'); 3 | } 4 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/cli@^7.2.0": 6 | version "7.2.0" 7 | resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.2.0.tgz#505ed8d351daee6a88918da02c046c18c8c5a24f" 8 | dependencies: 9 | commander "^2.8.1" 10 | convert-source-map "^1.1.0" 11 | fs-readdir-recursive "^1.1.0" 12 | glob "^7.0.0" 13 | lodash "^4.17.10" 14 | mkdirp "^0.5.1" 15 | output-file-sync "^2.0.0" 16 | slash "^2.0.0" 17 | source-map "^0.5.0" 18 | optionalDependencies: 19 | chokidar "^2.0.3" 20 | 21 | "@babel/code-frame@^7.0.0": 22 | version "7.0.0" 23 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" 24 | dependencies: 25 | "@babel/highlight" "^7.0.0" 26 | 27 | "@babel/core@^7.2.2": 28 | version "7.2.2" 29 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.2.2.tgz#07adba6dde27bb5ad8d8672f15fde3e08184a687" 30 | dependencies: 31 | "@babel/code-frame" "^7.0.0" 32 | "@babel/generator" "^7.2.2" 33 | "@babel/helpers" "^7.2.0" 34 | "@babel/parser" "^7.2.2" 35 | "@babel/template" "^7.2.2" 36 | "@babel/traverse" "^7.2.2" 37 | "@babel/types" "^7.2.2" 38 | convert-source-map "^1.1.0" 39 | debug "^4.1.0" 40 | json5 "^2.1.0" 41 | lodash "^4.17.10" 42 | resolve "^1.3.2" 43 | semver "^5.4.1" 44 | source-map "^0.5.0" 45 | 46 | "@babel/generator@^7.2.2": 47 | version "7.2.2" 48 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.2.2.tgz#18c816c70962640eab42fe8cae5f3947a5c65ccc" 49 | dependencies: 50 | "@babel/types" "^7.2.2" 51 | jsesc "^2.5.1" 52 | lodash "^4.17.10" 53 | source-map "^0.5.0" 54 | trim-right "^1.0.1" 55 | 56 | "@babel/helper-annotate-as-pure@^7.0.0": 57 | version "7.0.0" 58 | resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32" 59 | dependencies: 60 | "@babel/types" "^7.0.0" 61 | 62 | "@babel/helper-builder-binary-assignment-operator-visitor@^7.1.0": 63 | version "7.1.0" 64 | resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz#6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f" 65 | dependencies: 66 | "@babel/helper-explode-assignable-expression" "^7.1.0" 67 | "@babel/types" "^7.0.0" 68 | 69 | "@babel/helper-call-delegate@^7.1.0": 70 | version "7.1.0" 71 | resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz#6a957f105f37755e8645343d3038a22e1449cc4a" 72 | dependencies: 73 | "@babel/helper-hoist-variables" "^7.0.0" 74 | "@babel/traverse" "^7.1.0" 75 | "@babel/types" "^7.0.0" 76 | 77 | "@babel/helper-define-map@^7.1.0": 78 | version "7.1.0" 79 | resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz#3b74caec329b3c80c116290887c0dd9ae468c20c" 80 | dependencies: 81 | "@babel/helper-function-name" "^7.1.0" 82 | "@babel/types" "^7.0.0" 83 | lodash "^4.17.10" 84 | 85 | "@babel/helper-explode-assignable-expression@^7.1.0": 86 | version "7.1.0" 87 | resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz#537fa13f6f1674df745b0c00ec8fe4e99681c8f6" 88 | dependencies: 89 | "@babel/traverse" "^7.1.0" 90 | "@babel/types" "^7.0.0" 91 | 92 | "@babel/helper-function-name@^7.1.0": 93 | version "7.1.0" 94 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" 95 | dependencies: 96 | "@babel/helper-get-function-arity" "^7.0.0" 97 | "@babel/template" "^7.1.0" 98 | "@babel/types" "^7.0.0" 99 | 100 | "@babel/helper-get-function-arity@^7.0.0": 101 | version "7.0.0" 102 | resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" 103 | dependencies: 104 | "@babel/types" "^7.0.0" 105 | 106 | "@babel/helper-hoist-variables@^7.0.0": 107 | version "7.0.0" 108 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz#46adc4c5e758645ae7a45deb92bab0918c23bb88" 109 | dependencies: 110 | "@babel/types" "^7.0.0" 111 | 112 | "@babel/helper-member-expression-to-functions@^7.0.0": 113 | version "7.0.0" 114 | resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz#8cd14b0a0df7ff00f009e7d7a436945f47c7a16f" 115 | dependencies: 116 | "@babel/types" "^7.0.0" 117 | 118 | "@babel/helper-module-imports@^7.0.0": 119 | version "7.0.0" 120 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d" 121 | dependencies: 122 | "@babel/types" "^7.0.0" 123 | 124 | "@babel/helper-module-transforms@^7.1.0": 125 | version "7.2.2" 126 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.2.2.tgz#ab2f8e8d231409f8370c883d20c335190284b963" 127 | dependencies: 128 | "@babel/helper-module-imports" "^7.0.0" 129 | "@babel/helper-simple-access" "^7.1.0" 130 | "@babel/helper-split-export-declaration" "^7.0.0" 131 | "@babel/template" "^7.2.2" 132 | "@babel/types" "^7.2.2" 133 | lodash "^4.17.10" 134 | 135 | "@babel/helper-optimise-call-expression@^7.0.0": 136 | version "7.0.0" 137 | resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5" 138 | dependencies: 139 | "@babel/types" "^7.0.0" 140 | 141 | "@babel/helper-plugin-utils@^7.0.0": 142 | version "7.0.0" 143 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" 144 | 145 | "@babel/helper-regex@^7.0.0": 146 | version "7.0.0" 147 | resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.0.0.tgz#2c1718923b57f9bbe64705ffe5640ac64d9bdb27" 148 | dependencies: 149 | lodash "^4.17.10" 150 | 151 | "@babel/helper-remap-async-to-generator@^7.1.0": 152 | version "7.1.0" 153 | resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz#361d80821b6f38da75bd3f0785ece20a88c5fe7f" 154 | dependencies: 155 | "@babel/helper-annotate-as-pure" "^7.0.0" 156 | "@babel/helper-wrap-function" "^7.1.0" 157 | "@babel/template" "^7.1.0" 158 | "@babel/traverse" "^7.1.0" 159 | "@babel/types" "^7.0.0" 160 | 161 | "@babel/helper-replace-supers@^7.1.0": 162 | version "7.1.0" 163 | resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.1.0.tgz#5fc31de522ec0ef0899dc9b3e7cf6a5dd655f362" 164 | dependencies: 165 | "@babel/helper-member-expression-to-functions" "^7.0.0" 166 | "@babel/helper-optimise-call-expression" "^7.0.0" 167 | "@babel/traverse" "^7.1.0" 168 | "@babel/types" "^7.0.0" 169 | 170 | "@babel/helper-simple-access@^7.1.0": 171 | version "7.1.0" 172 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz#65eeb954c8c245beaa4e859da6188f39d71e585c" 173 | dependencies: 174 | "@babel/template" "^7.1.0" 175 | "@babel/types" "^7.0.0" 176 | 177 | "@babel/helper-split-export-declaration@^7.0.0": 178 | version "7.0.0" 179 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz#3aae285c0311c2ab095d997b8c9a94cad547d813" 180 | dependencies: 181 | "@babel/types" "^7.0.0" 182 | 183 | "@babel/helper-wrap-function@^7.1.0": 184 | version "7.2.0" 185 | resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz#c4e0012445769e2815b55296ead43a958549f6fa" 186 | dependencies: 187 | "@babel/helper-function-name" "^7.1.0" 188 | "@babel/template" "^7.1.0" 189 | "@babel/traverse" "^7.1.0" 190 | "@babel/types" "^7.2.0" 191 | 192 | "@babel/helpers@^7.2.0": 193 | version "7.2.0" 194 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.2.0.tgz#8335f3140f3144270dc63c4732a4f8b0a50b7a21" 195 | dependencies: 196 | "@babel/template" "^7.1.2" 197 | "@babel/traverse" "^7.1.5" 198 | "@babel/types" "^7.2.0" 199 | 200 | "@babel/highlight@^7.0.0": 201 | version "7.0.0" 202 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" 203 | dependencies: 204 | chalk "^2.0.0" 205 | esutils "^2.0.2" 206 | js-tokens "^4.0.0" 207 | 208 | "@babel/parser@^7.2.2": 209 | version "7.2.2" 210 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.2.2.tgz#37ebdbc88a2e1ebc6c8dd3d35ea9436e3e39e477" 211 | 212 | "@babel/plugin-proposal-async-generator-functions@^7.2.0": 213 | version "7.2.0" 214 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz#b289b306669dce4ad20b0252889a15768c9d417e" 215 | dependencies: 216 | "@babel/helper-plugin-utils" "^7.0.0" 217 | "@babel/helper-remap-async-to-generator" "^7.1.0" 218 | "@babel/plugin-syntax-async-generators" "^7.2.0" 219 | 220 | "@babel/plugin-proposal-json-strings@^7.2.0": 221 | version "7.2.0" 222 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz#568ecc446c6148ae6b267f02551130891e29f317" 223 | dependencies: 224 | "@babel/helper-plugin-utils" "^7.0.0" 225 | "@babel/plugin-syntax-json-strings" "^7.2.0" 226 | 227 | "@babel/plugin-proposal-object-rest-spread@^7.2.0": 228 | version "7.2.0" 229 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.2.0.tgz#88f5fec3e7ad019014c97f7ee3c992f0adbf7fb8" 230 | dependencies: 231 | "@babel/helper-plugin-utils" "^7.0.0" 232 | "@babel/plugin-syntax-object-rest-spread" "^7.2.0" 233 | 234 | "@babel/plugin-proposal-optional-catch-binding@^7.2.0": 235 | version "7.2.0" 236 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz#135d81edb68a081e55e56ec48541ece8065c38f5" 237 | dependencies: 238 | "@babel/helper-plugin-utils" "^7.0.0" 239 | "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" 240 | 241 | "@babel/plugin-proposal-unicode-property-regex@^7.2.0": 242 | version "7.2.0" 243 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.2.0.tgz#abe7281fe46c95ddc143a65e5358647792039520" 244 | dependencies: 245 | "@babel/helper-plugin-utils" "^7.0.0" 246 | "@babel/helper-regex" "^7.0.0" 247 | regexpu-core "^4.2.0" 248 | 249 | "@babel/plugin-syntax-async-generators@^7.2.0": 250 | version "7.2.0" 251 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz#69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f" 252 | dependencies: 253 | "@babel/helper-plugin-utils" "^7.0.0" 254 | 255 | "@babel/plugin-syntax-json-strings@^7.2.0": 256 | version "7.2.0" 257 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz#72bd13f6ffe1d25938129d2a186b11fd62951470" 258 | dependencies: 259 | "@babel/helper-plugin-utils" "^7.0.0" 260 | 261 | "@babel/plugin-syntax-object-rest-spread@^7.2.0": 262 | version "7.2.0" 263 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz#3b7a3e733510c57e820b9142a6579ac8b0dfad2e" 264 | dependencies: 265 | "@babel/helper-plugin-utils" "^7.0.0" 266 | 267 | "@babel/plugin-syntax-optional-catch-binding@^7.2.0": 268 | version "7.2.0" 269 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz#a94013d6eda8908dfe6a477e7f9eda85656ecf5c" 270 | dependencies: 271 | "@babel/helper-plugin-utils" "^7.0.0" 272 | 273 | "@babel/plugin-transform-arrow-functions@^7.2.0": 274 | version "7.2.0" 275 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz#9aeafbe4d6ffc6563bf8f8372091628f00779550" 276 | dependencies: 277 | "@babel/helper-plugin-utils" "^7.0.0" 278 | 279 | "@babel/plugin-transform-async-to-generator@^7.2.0": 280 | version "7.2.0" 281 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.2.0.tgz#68b8a438663e88519e65b776f8938f3445b1a2ff" 282 | dependencies: 283 | "@babel/helper-module-imports" "^7.0.0" 284 | "@babel/helper-plugin-utils" "^7.0.0" 285 | "@babel/helper-remap-async-to-generator" "^7.1.0" 286 | 287 | "@babel/plugin-transform-block-scoped-functions@^7.2.0": 288 | version "7.2.0" 289 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz#5d3cc11e8d5ddd752aa64c9148d0db6cb79fd190" 290 | dependencies: 291 | "@babel/helper-plugin-utils" "^7.0.0" 292 | 293 | "@babel/plugin-transform-block-scoping@^7.2.0": 294 | version "7.2.0" 295 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz#f17c49d91eedbcdf5dd50597d16f5f2f770132d4" 296 | dependencies: 297 | "@babel/helper-plugin-utils" "^7.0.0" 298 | lodash "^4.17.10" 299 | 300 | "@babel/plugin-transform-classes@^7.2.0": 301 | version "7.2.2" 302 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz#6c90542f210ee975aa2aa8c8b5af7fa73a126953" 303 | dependencies: 304 | "@babel/helper-annotate-as-pure" "^7.0.0" 305 | "@babel/helper-define-map" "^7.1.0" 306 | "@babel/helper-function-name" "^7.1.0" 307 | "@babel/helper-optimise-call-expression" "^7.0.0" 308 | "@babel/helper-plugin-utils" "^7.0.0" 309 | "@babel/helper-replace-supers" "^7.1.0" 310 | "@babel/helper-split-export-declaration" "^7.0.0" 311 | globals "^11.1.0" 312 | 313 | "@babel/plugin-transform-computed-properties@^7.2.0": 314 | version "7.2.0" 315 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz#83a7df6a658865b1c8f641d510c6f3af220216da" 316 | dependencies: 317 | "@babel/helper-plugin-utils" "^7.0.0" 318 | 319 | "@babel/plugin-transform-destructuring@^7.2.0": 320 | version "7.2.0" 321 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.2.0.tgz#e75269b4b7889ec3a332cd0d0c8cff8fed0dc6f3" 322 | dependencies: 323 | "@babel/helper-plugin-utils" "^7.0.0" 324 | 325 | "@babel/plugin-transform-dotall-regex@^7.2.0": 326 | version "7.2.0" 327 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.2.0.tgz#f0aabb93d120a8ac61e925ea0ba440812dbe0e49" 328 | dependencies: 329 | "@babel/helper-plugin-utils" "^7.0.0" 330 | "@babel/helper-regex" "^7.0.0" 331 | regexpu-core "^4.1.3" 332 | 333 | "@babel/plugin-transform-duplicate-keys@^7.2.0": 334 | version "7.2.0" 335 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz#d952c4930f312a4dbfff18f0b2914e60c35530b3" 336 | dependencies: 337 | "@babel/helper-plugin-utils" "^7.0.0" 338 | 339 | "@babel/plugin-transform-exponentiation-operator@^7.2.0": 340 | version "7.2.0" 341 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz#a63868289e5b4007f7054d46491af51435766008" 342 | dependencies: 343 | "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0" 344 | "@babel/helper-plugin-utils" "^7.0.0" 345 | 346 | "@babel/plugin-transform-for-of@^7.2.0": 347 | version "7.2.0" 348 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz#ab7468befa80f764bb03d3cb5eef8cc998e1cad9" 349 | dependencies: 350 | "@babel/helper-plugin-utils" "^7.0.0" 351 | 352 | "@babel/plugin-transform-function-name@^7.2.0": 353 | version "7.2.0" 354 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz#f7930362829ff99a3174c39f0afcc024ef59731a" 355 | dependencies: 356 | "@babel/helper-function-name" "^7.1.0" 357 | "@babel/helper-plugin-utils" "^7.0.0" 358 | 359 | "@babel/plugin-transform-literals@^7.2.0": 360 | version "7.2.0" 361 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz#690353e81f9267dad4fd8cfd77eafa86aba53ea1" 362 | dependencies: 363 | "@babel/helper-plugin-utils" "^7.0.0" 364 | 365 | "@babel/plugin-transform-modules-amd@^7.2.0": 366 | version "7.2.0" 367 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz#82a9bce45b95441f617a24011dc89d12da7f4ee6" 368 | dependencies: 369 | "@babel/helper-module-transforms" "^7.1.0" 370 | "@babel/helper-plugin-utils" "^7.0.0" 371 | 372 | "@babel/plugin-transform-modules-commonjs@^7.2.0": 373 | version "7.2.0" 374 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz#c4f1933f5991d5145e9cfad1dfd848ea1727f404" 375 | dependencies: 376 | "@babel/helper-module-transforms" "^7.1.0" 377 | "@babel/helper-plugin-utils" "^7.0.0" 378 | "@babel/helper-simple-access" "^7.1.0" 379 | 380 | "@babel/plugin-transform-modules-systemjs@^7.2.0": 381 | version "7.2.0" 382 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.2.0.tgz#912bfe9e5ff982924c81d0937c92d24994bb9068" 383 | dependencies: 384 | "@babel/helper-hoist-variables" "^7.0.0" 385 | "@babel/helper-plugin-utils" "^7.0.0" 386 | 387 | "@babel/plugin-transform-modules-umd@^7.2.0": 388 | version "7.2.0" 389 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz#7678ce75169f0877b8eb2235538c074268dd01ae" 390 | dependencies: 391 | "@babel/helper-module-transforms" "^7.1.0" 392 | "@babel/helper-plugin-utils" "^7.0.0" 393 | 394 | "@babel/plugin-transform-new-target@^7.0.0": 395 | version "7.0.0" 396 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz#ae8fbd89517fa7892d20e6564e641e8770c3aa4a" 397 | dependencies: 398 | "@babel/helper-plugin-utils" "^7.0.0" 399 | 400 | "@babel/plugin-transform-object-super@^7.2.0": 401 | version "7.2.0" 402 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz#b35d4c10f56bab5d650047dad0f1d8e8814b6598" 403 | dependencies: 404 | "@babel/helper-plugin-utils" "^7.0.0" 405 | "@babel/helper-replace-supers" "^7.1.0" 406 | 407 | "@babel/plugin-transform-parameters@^7.2.0": 408 | version "7.2.0" 409 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.2.0.tgz#0d5ad15dc805e2ea866df4dd6682bfe76d1408c2" 410 | dependencies: 411 | "@babel/helper-call-delegate" "^7.1.0" 412 | "@babel/helper-get-function-arity" "^7.0.0" 413 | "@babel/helper-plugin-utils" "^7.0.0" 414 | 415 | "@babel/plugin-transform-regenerator@^7.0.0": 416 | version "7.0.0" 417 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz#5b41686b4ed40bef874d7ed6a84bdd849c13e0c1" 418 | dependencies: 419 | regenerator-transform "^0.13.3" 420 | 421 | "@babel/plugin-transform-shorthand-properties@^7.2.0": 422 | version "7.2.0" 423 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz#6333aee2f8d6ee7e28615457298934a3b46198f0" 424 | dependencies: 425 | "@babel/helper-plugin-utils" "^7.0.0" 426 | 427 | "@babel/plugin-transform-spread@^7.2.0": 428 | version "7.2.2" 429 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz#3103a9abe22f742b6d406ecd3cd49b774919b406" 430 | dependencies: 431 | "@babel/helper-plugin-utils" "^7.0.0" 432 | 433 | "@babel/plugin-transform-sticky-regex@^7.2.0": 434 | version "7.2.0" 435 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz#a1e454b5995560a9c1e0d537dfc15061fd2687e1" 436 | dependencies: 437 | "@babel/helper-plugin-utils" "^7.0.0" 438 | "@babel/helper-regex" "^7.0.0" 439 | 440 | "@babel/plugin-transform-template-literals@^7.2.0": 441 | version "7.2.0" 442 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz#d87ed01b8eaac7a92473f608c97c089de2ba1e5b" 443 | dependencies: 444 | "@babel/helper-annotate-as-pure" "^7.0.0" 445 | "@babel/helper-plugin-utils" "^7.0.0" 446 | 447 | "@babel/plugin-transform-typeof-symbol@^7.2.0": 448 | version "7.2.0" 449 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz#117d2bcec2fbf64b4b59d1f9819894682d29f2b2" 450 | dependencies: 451 | "@babel/helper-plugin-utils" "^7.0.0" 452 | 453 | "@babel/plugin-transform-unicode-regex@^7.2.0": 454 | version "7.2.0" 455 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz#4eb8db16f972f8abb5062c161b8b115546ade08b" 456 | dependencies: 457 | "@babel/helper-plugin-utils" "^7.0.0" 458 | "@babel/helper-regex" "^7.0.0" 459 | regexpu-core "^4.1.3" 460 | 461 | "@babel/preset-env@^7.2.0": 462 | version "7.2.0" 463 | resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.2.0.tgz#a5030e7e4306af5a295dd5d7c78dc5464af3fee2" 464 | dependencies: 465 | "@babel/helper-module-imports" "^7.0.0" 466 | "@babel/helper-plugin-utils" "^7.0.0" 467 | "@babel/plugin-proposal-async-generator-functions" "^7.2.0" 468 | "@babel/plugin-proposal-json-strings" "^7.2.0" 469 | "@babel/plugin-proposal-object-rest-spread" "^7.2.0" 470 | "@babel/plugin-proposal-optional-catch-binding" "^7.2.0" 471 | "@babel/plugin-proposal-unicode-property-regex" "^7.2.0" 472 | "@babel/plugin-syntax-async-generators" "^7.2.0" 473 | "@babel/plugin-syntax-object-rest-spread" "^7.2.0" 474 | "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" 475 | "@babel/plugin-transform-arrow-functions" "^7.2.0" 476 | "@babel/plugin-transform-async-to-generator" "^7.2.0" 477 | "@babel/plugin-transform-block-scoped-functions" "^7.2.0" 478 | "@babel/plugin-transform-block-scoping" "^7.2.0" 479 | "@babel/plugin-transform-classes" "^7.2.0" 480 | "@babel/plugin-transform-computed-properties" "^7.2.0" 481 | "@babel/plugin-transform-destructuring" "^7.2.0" 482 | "@babel/plugin-transform-dotall-regex" "^7.2.0" 483 | "@babel/plugin-transform-duplicate-keys" "^7.2.0" 484 | "@babel/plugin-transform-exponentiation-operator" "^7.2.0" 485 | "@babel/plugin-transform-for-of" "^7.2.0" 486 | "@babel/plugin-transform-function-name" "^7.2.0" 487 | "@babel/plugin-transform-literals" "^7.2.0" 488 | "@babel/plugin-transform-modules-amd" "^7.2.0" 489 | "@babel/plugin-transform-modules-commonjs" "^7.2.0" 490 | "@babel/plugin-transform-modules-systemjs" "^7.2.0" 491 | "@babel/plugin-transform-modules-umd" "^7.2.0" 492 | "@babel/plugin-transform-new-target" "^7.0.0" 493 | "@babel/plugin-transform-object-super" "^7.2.0" 494 | "@babel/plugin-transform-parameters" "^7.2.0" 495 | "@babel/plugin-transform-regenerator" "^7.0.0" 496 | "@babel/plugin-transform-shorthand-properties" "^7.2.0" 497 | "@babel/plugin-transform-spread" "^7.2.0" 498 | "@babel/plugin-transform-sticky-regex" "^7.2.0" 499 | "@babel/plugin-transform-template-literals" "^7.2.0" 500 | "@babel/plugin-transform-typeof-symbol" "^7.2.0" 501 | "@babel/plugin-transform-unicode-regex" "^7.2.0" 502 | browserslist "^4.3.4" 503 | invariant "^2.2.2" 504 | js-levenshtein "^1.1.3" 505 | semver "^5.3.0" 506 | 507 | "@babel/template@^7.1.0", "@babel/template@^7.1.2", "@babel/template@^7.2.2": 508 | version "7.2.2" 509 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.2.2.tgz#005b3fdf0ed96e88041330379e0da9a708eb2907" 510 | dependencies: 511 | "@babel/code-frame" "^7.0.0" 512 | "@babel/parser" "^7.2.2" 513 | "@babel/types" "^7.2.2" 514 | 515 | "@babel/traverse@^7.1.0", "@babel/traverse@^7.1.5", "@babel/traverse@^7.2.2": 516 | version "7.2.2" 517 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.2.2.tgz#961039de1f9bcb946d807efe2dba9c92e859d188" 518 | dependencies: 519 | "@babel/code-frame" "^7.0.0" 520 | "@babel/generator" "^7.2.2" 521 | "@babel/helper-function-name" "^7.1.0" 522 | "@babel/helper-split-export-declaration" "^7.0.0" 523 | "@babel/parser" "^7.2.2" 524 | "@babel/types" "^7.2.2" 525 | debug "^4.1.0" 526 | globals "^11.1.0" 527 | lodash "^4.17.10" 528 | 529 | "@babel/types@^7.0.0": 530 | version "7.0.0" 531 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0.tgz#6e191793d3c854d19c6749989e3bc55f0e962118" 532 | dependencies: 533 | esutils "^2.0.2" 534 | lodash "^4.17.10" 535 | to-fast-properties "^2.0.0" 536 | 537 | "@babel/types@^7.2.0", "@babel/types@^7.2.2": 538 | version "7.2.2" 539 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.2.2.tgz#44e10fc24e33af524488b716cdaee5360ea8ed1e" 540 | dependencies: 541 | esutils "^2.0.2" 542 | lodash "^4.17.10" 543 | to-fast-properties "^2.0.0" 544 | 545 | abbrev@1: 546 | version "1.1.1" 547 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" 548 | 549 | ansi-regex@^2.0.0: 550 | version "2.1.1" 551 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 552 | 553 | ansi-regex@^3.0.0: 554 | version "3.0.0" 555 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 556 | 557 | ansi-styles@^3.2.1: 558 | version "3.2.1" 559 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 560 | dependencies: 561 | color-convert "^1.9.0" 562 | 563 | anymatch@^2.0.0: 564 | version "2.0.0" 565 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" 566 | dependencies: 567 | micromatch "^3.1.4" 568 | normalize-path "^2.1.1" 569 | 570 | aproba@^1.0.3: 571 | version "1.2.0" 572 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" 573 | 574 | are-we-there-yet@~1.1.2: 575 | version "1.1.5" 576 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" 577 | dependencies: 578 | delegates "^1.0.0" 579 | readable-stream "^2.0.6" 580 | 581 | arr-diff@^4.0.0: 582 | version "4.0.0" 583 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" 584 | 585 | arr-flatten@^1.1.0: 586 | version "1.1.0" 587 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" 588 | 589 | arr-union@^3.1.0: 590 | version "3.1.0" 591 | resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" 592 | 593 | array-unique@^0.3.2: 594 | version "0.3.2" 595 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" 596 | 597 | assign-symbols@^1.0.0: 598 | version "1.0.0" 599 | resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" 600 | 601 | async-each@^1.0.0: 602 | version "1.0.1" 603 | resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" 604 | 605 | atob@^2.1.1: 606 | version "2.1.2" 607 | resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" 608 | 609 | balanced-match@^1.0.0: 610 | version "1.0.0" 611 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 612 | 613 | base@^0.11.1: 614 | version "0.11.2" 615 | resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" 616 | dependencies: 617 | cache-base "^1.0.1" 618 | class-utils "^0.3.5" 619 | component-emitter "^1.2.1" 620 | define-property "^1.0.0" 621 | isobject "^3.0.1" 622 | mixin-deep "^1.2.0" 623 | pascalcase "^0.1.1" 624 | 625 | binary-extensions@^1.0.0: 626 | version "1.11.0" 627 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" 628 | 629 | brace-expansion@^1.1.7: 630 | version "1.1.11" 631 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 632 | dependencies: 633 | balanced-match "^1.0.0" 634 | concat-map "0.0.1" 635 | 636 | braces@^2.3.0, braces@^2.3.1: 637 | version "2.3.2" 638 | resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" 639 | dependencies: 640 | arr-flatten "^1.1.0" 641 | array-unique "^0.3.2" 642 | extend-shallow "^2.0.1" 643 | fill-range "^4.0.0" 644 | isobject "^3.0.1" 645 | repeat-element "^1.1.2" 646 | snapdragon "^0.8.1" 647 | snapdragon-node "^2.0.1" 648 | split-string "^3.0.2" 649 | to-regex "^3.0.1" 650 | 651 | browserslist@^4.3.4: 652 | version "4.16.6" 653 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" 654 | dependencies: 655 | caniuse-lite "^1.0.30001219" 656 | colorette "^1.2.2" 657 | electron-to-chromium "^1.3.723" 658 | escalade "^3.1.1" 659 | node-releases "^1.1.71" 660 | 661 | cache-base@^1.0.1: 662 | version "1.0.1" 663 | resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" 664 | dependencies: 665 | collection-visit "^1.0.0" 666 | component-emitter "^1.2.1" 667 | get-value "^2.0.6" 668 | has-value "^1.0.0" 669 | isobject "^3.0.1" 670 | set-value "^2.0.0" 671 | to-object-path "^0.3.0" 672 | union-value "^1.0.0" 673 | unset-value "^1.0.0" 674 | 675 | caniuse-lite@^1.0.30001219: 676 | version "1.0.30001228" 677 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001228.tgz#bfdc5942cd3326fa51ee0b42fbef4da9d492a7fa" 678 | 679 | chalk@^2.0.0: 680 | version "2.4.1" 681 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" 682 | dependencies: 683 | ansi-styles "^3.2.1" 684 | escape-string-regexp "^1.0.5" 685 | supports-color "^5.3.0" 686 | 687 | chokidar@^2.0.3: 688 | version "2.0.4" 689 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.4.tgz#356ff4e2b0e8e43e322d18a372460bbcf3accd26" 690 | dependencies: 691 | anymatch "^2.0.0" 692 | async-each "^1.0.0" 693 | braces "^2.3.0" 694 | glob-parent "^3.1.0" 695 | inherits "^2.0.1" 696 | is-binary-path "^1.0.0" 697 | is-glob "^4.0.0" 698 | lodash.debounce "^4.0.8" 699 | normalize-path "^2.1.1" 700 | path-is-absolute "^1.0.0" 701 | readdirp "^2.0.0" 702 | upath "^1.0.5" 703 | optionalDependencies: 704 | fsevents "^1.2.2" 705 | 706 | chownr@^1.1.4: 707 | version "1.1.4" 708 | resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" 709 | 710 | class-utils@^0.3.5: 711 | version "0.3.6" 712 | resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" 713 | dependencies: 714 | arr-union "^3.1.0" 715 | define-property "^0.2.5" 716 | isobject "^3.0.0" 717 | static-extend "^0.1.1" 718 | 719 | code-point-at@^1.0.0: 720 | version "1.1.0" 721 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 722 | 723 | collection-visit@^1.0.0: 724 | version "1.0.0" 725 | resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" 726 | dependencies: 727 | map-visit "^1.0.0" 728 | object-visit "^1.0.0" 729 | 730 | color-convert@^1.9.0: 731 | version "1.9.3" 732 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 733 | dependencies: 734 | color-name "1.1.3" 735 | 736 | color-name@1.1.3: 737 | version "1.1.3" 738 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 739 | 740 | colorette@^1.2.2: 741 | version "1.2.2" 742 | resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" 743 | 744 | commander@^2.8.1: 745 | version "2.17.1" 746 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" 747 | 748 | component-emitter@^1.2.1: 749 | version "1.2.1" 750 | resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" 751 | 752 | concat-map@0.0.1: 753 | version "0.0.1" 754 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 755 | 756 | console-control-strings@^1.0.0, console-control-strings@~1.1.0: 757 | version "1.1.0" 758 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" 759 | 760 | convert-source-map@^1.1.0: 761 | version "1.5.1" 762 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" 763 | 764 | copy-descriptor@^0.1.0: 765 | version "0.1.1" 766 | resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" 767 | 768 | core-util-is@~1.0.0: 769 | version "1.0.2" 770 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 771 | 772 | de-indent@^1.0.2: 773 | version "1.0.2" 774 | resolved "http://registry.npm.qima-inc.com/de-indent/download/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" 775 | 776 | debug@^2.1.2, debug@^2.2.0, debug@^2.3.3: 777 | version "2.6.9" 778 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 779 | dependencies: 780 | ms "2.0.0" 781 | 782 | debug@^4.1.0: 783 | version "4.1.0" 784 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.0.tgz#373687bffa678b38b1cd91f861b63850035ddc87" 785 | dependencies: 786 | ms "^2.1.1" 787 | 788 | decode-uri-component@^0.2.0: 789 | version "0.2.0" 790 | resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" 791 | 792 | deep-extend@^0.6.0: 793 | version "0.6.0" 794 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" 795 | 796 | define-property@^0.2.5: 797 | version "0.2.5" 798 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" 799 | dependencies: 800 | is-descriptor "^0.1.0" 801 | 802 | define-property@^1.0.0: 803 | version "1.0.0" 804 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" 805 | dependencies: 806 | is-descriptor "^1.0.0" 807 | 808 | define-property@^2.0.2: 809 | version "2.0.2" 810 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" 811 | dependencies: 812 | is-descriptor "^1.0.2" 813 | isobject "^3.0.1" 814 | 815 | delegates@^1.0.0: 816 | version "1.0.0" 817 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 818 | 819 | detect-libc@^1.0.2: 820 | version "1.0.3" 821 | resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" 822 | 823 | electron-to-chromium@^1.3.723: 824 | version "1.3.737" 825 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.737.tgz#196f2e9656f4f3c31930750e1899c091b72d36b5" 826 | 827 | escalade@^3.1.1: 828 | version "3.1.1" 829 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 830 | 831 | escape-string-regexp@^1.0.5: 832 | version "1.0.5" 833 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 834 | 835 | esutils@^2.0.2: 836 | version "2.0.2" 837 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 838 | 839 | expand-brackets@^2.1.4: 840 | version "2.1.4" 841 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" 842 | dependencies: 843 | debug "^2.3.3" 844 | define-property "^0.2.5" 845 | extend-shallow "^2.0.1" 846 | posix-character-classes "^0.1.0" 847 | regex-not "^1.0.0" 848 | snapdragon "^0.8.1" 849 | to-regex "^3.0.1" 850 | 851 | extend-shallow@^2.0.1: 852 | version "2.0.1" 853 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" 854 | dependencies: 855 | is-extendable "^0.1.0" 856 | 857 | extend-shallow@^3.0.0, extend-shallow@^3.0.2: 858 | version "3.0.2" 859 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" 860 | dependencies: 861 | assign-symbols "^1.0.0" 862 | is-extendable "^1.0.1" 863 | 864 | extglob@^2.0.4: 865 | version "2.0.4" 866 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" 867 | dependencies: 868 | array-unique "^0.3.2" 869 | define-property "^1.0.0" 870 | expand-brackets "^2.1.4" 871 | extend-shallow "^2.0.1" 872 | fragment-cache "^0.2.1" 873 | regex-not "^1.0.0" 874 | snapdragon "^0.8.1" 875 | to-regex "^3.0.1" 876 | 877 | fill-range@^4.0.0: 878 | version "4.0.0" 879 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" 880 | dependencies: 881 | extend-shallow "^2.0.1" 882 | is-number "^3.0.0" 883 | repeat-string "^1.6.1" 884 | to-regex-range "^2.1.0" 885 | 886 | for-in@^1.0.2: 887 | version "1.0.2" 888 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" 889 | 890 | fragment-cache@^0.2.1: 891 | version "0.2.1" 892 | resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" 893 | dependencies: 894 | map-cache "^0.2.2" 895 | 896 | fs-minipass@^1.2.7: 897 | version "1.2.7" 898 | resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" 899 | dependencies: 900 | minipass "^2.6.0" 901 | 902 | fs-readdir-recursive@^1.1.0: 903 | version "1.1.0" 904 | resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" 905 | 906 | fs.realpath@^1.0.0: 907 | version "1.0.0" 908 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 909 | 910 | fsevents@^1.2.2: 911 | version "1.2.4" 912 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426" 913 | dependencies: 914 | nan "^2.9.2" 915 | node-pre-gyp "^0.10.0" 916 | 917 | gauge@~2.7.3: 918 | version "2.7.4" 919 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" 920 | dependencies: 921 | aproba "^1.0.3" 922 | console-control-strings "^1.0.0" 923 | has-unicode "^2.0.0" 924 | object-assign "^4.1.0" 925 | signal-exit "^3.0.0" 926 | string-width "^1.0.1" 927 | strip-ansi "^3.0.1" 928 | wide-align "^1.1.0" 929 | 930 | get-value@^2.0.3, get-value@^2.0.6: 931 | version "2.0.6" 932 | resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" 933 | 934 | glob-parent@^3.1.0: 935 | version "3.1.0" 936 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" 937 | dependencies: 938 | is-glob "^3.1.0" 939 | path-dirname "^1.0.0" 940 | 941 | glob@^7.0.0, glob@^7.0.5: 942 | version "7.1.3" 943 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" 944 | dependencies: 945 | fs.realpath "^1.0.0" 946 | inflight "^1.0.4" 947 | inherits "2" 948 | minimatch "^3.0.4" 949 | once "^1.3.0" 950 | path-is-absolute "^1.0.0" 951 | 952 | globals@^11.1.0: 953 | version "11.7.0" 954 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.7.0.tgz#a583faa43055b1aca771914bf68258e2fc125673" 955 | 956 | graceful-fs@^4.1.11, graceful-fs@^4.1.2: 957 | version "4.1.11" 958 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" 959 | 960 | has-flag@^3.0.0: 961 | version "3.0.0" 962 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 963 | 964 | has-unicode@^2.0.0: 965 | version "2.0.1" 966 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" 967 | 968 | has-value@^0.3.1: 969 | version "0.3.1" 970 | resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" 971 | dependencies: 972 | get-value "^2.0.3" 973 | has-values "^0.1.4" 974 | isobject "^2.0.0" 975 | 976 | has-value@^1.0.0: 977 | version "1.0.0" 978 | resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" 979 | dependencies: 980 | get-value "^2.0.6" 981 | has-values "^1.0.0" 982 | isobject "^3.0.0" 983 | 984 | has-values@^0.1.4: 985 | version "0.1.4" 986 | resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" 987 | 988 | has-values@^1.0.0: 989 | version "1.0.0" 990 | resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" 991 | dependencies: 992 | is-number "^3.0.0" 993 | kind-of "^4.0.0" 994 | 995 | he@^1.1.0: 996 | version "1.1.1" 997 | resolved "http://registry.npm.qima-inc.com/he/download/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" 998 | 999 | iconv-lite@^0.4.4: 1000 | version "0.4.24" 1001 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 1002 | dependencies: 1003 | safer-buffer ">= 2.1.2 < 3" 1004 | 1005 | ignore-walk@^3.0.1: 1006 | version "3.0.1" 1007 | resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" 1008 | dependencies: 1009 | minimatch "^3.0.4" 1010 | 1011 | inflight@^1.0.4: 1012 | version "1.0.6" 1013 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1014 | dependencies: 1015 | once "^1.3.0" 1016 | wrappy "1" 1017 | 1018 | inherits@2, inherits@^2.0.1, inherits@~2.0.3: 1019 | version "2.0.3" 1020 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 1021 | 1022 | ini@~1.3.0: 1023 | version "1.3.7" 1024 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84" 1025 | 1026 | invariant@^2.2.2: 1027 | version "2.2.4" 1028 | resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" 1029 | dependencies: 1030 | loose-envify "^1.0.0" 1031 | 1032 | is-accessor-descriptor@^0.1.6: 1033 | version "0.1.6" 1034 | resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" 1035 | dependencies: 1036 | kind-of "^3.0.2" 1037 | 1038 | is-accessor-descriptor@^1.0.0: 1039 | version "1.0.0" 1040 | resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" 1041 | dependencies: 1042 | kind-of "^6.0.0" 1043 | 1044 | is-binary-path@^1.0.0: 1045 | version "1.0.1" 1046 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" 1047 | dependencies: 1048 | binary-extensions "^1.0.0" 1049 | 1050 | is-buffer@^1.1.5: 1051 | version "1.1.6" 1052 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" 1053 | 1054 | is-data-descriptor@^0.1.4: 1055 | version "0.1.4" 1056 | resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" 1057 | dependencies: 1058 | kind-of "^3.0.2" 1059 | 1060 | is-data-descriptor@^1.0.0: 1061 | version "1.0.0" 1062 | resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" 1063 | dependencies: 1064 | kind-of "^6.0.0" 1065 | 1066 | is-descriptor@^0.1.0: 1067 | version "0.1.6" 1068 | resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" 1069 | dependencies: 1070 | is-accessor-descriptor "^0.1.6" 1071 | is-data-descriptor "^0.1.4" 1072 | kind-of "^5.0.0" 1073 | 1074 | is-descriptor@^1.0.0, is-descriptor@^1.0.2: 1075 | version "1.0.2" 1076 | resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" 1077 | dependencies: 1078 | is-accessor-descriptor "^1.0.0" 1079 | is-data-descriptor "^1.0.0" 1080 | kind-of "^6.0.2" 1081 | 1082 | is-extendable@^0.1.0, is-extendable@^0.1.1: 1083 | version "0.1.1" 1084 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 1085 | 1086 | is-extendable@^1.0.1: 1087 | version "1.0.1" 1088 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" 1089 | dependencies: 1090 | is-plain-object "^2.0.4" 1091 | 1092 | is-extglob@^2.1.0, is-extglob@^2.1.1: 1093 | version "2.1.1" 1094 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1095 | 1096 | is-fullwidth-code-point@^1.0.0: 1097 | version "1.0.0" 1098 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 1099 | dependencies: 1100 | number-is-nan "^1.0.0" 1101 | 1102 | is-fullwidth-code-point@^2.0.0: 1103 | version "2.0.0" 1104 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 1105 | 1106 | is-glob@^3.1.0: 1107 | version "3.1.0" 1108 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" 1109 | dependencies: 1110 | is-extglob "^2.1.0" 1111 | 1112 | is-glob@^4.0.0: 1113 | version "4.0.0" 1114 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" 1115 | dependencies: 1116 | is-extglob "^2.1.1" 1117 | 1118 | is-number@^3.0.0: 1119 | version "3.0.0" 1120 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" 1121 | dependencies: 1122 | kind-of "^3.0.2" 1123 | 1124 | is-plain-obj@^1.1.0: 1125 | version "1.1.0" 1126 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" 1127 | 1128 | is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: 1129 | version "2.0.4" 1130 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" 1131 | dependencies: 1132 | isobject "^3.0.1" 1133 | 1134 | is-windows@^1.0.2: 1135 | version "1.0.2" 1136 | resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" 1137 | 1138 | isarray@1.0.0, isarray@~1.0.0: 1139 | version "1.0.0" 1140 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 1141 | 1142 | isobject@^2.0.0: 1143 | version "2.1.0" 1144 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" 1145 | dependencies: 1146 | isarray "1.0.0" 1147 | 1148 | isobject@^3.0.0, isobject@^3.0.1: 1149 | version "3.0.1" 1150 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" 1151 | 1152 | js-levenshtein@^1.1.3: 1153 | version "1.1.3" 1154 | resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.3.tgz#3ef627df48ec8cf24bacf05c0f184ff30ef413c5" 1155 | 1156 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: 1157 | version "4.0.0" 1158 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1159 | 1160 | jsesc@^2.5.1: 1161 | version "2.5.1" 1162 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.1.tgz#e421a2a8e20d6b0819df28908f782526b96dd1fe" 1163 | 1164 | jsesc@~0.5.0: 1165 | version "0.5.0" 1166 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" 1167 | 1168 | json5@^2.1.0: 1169 | version "2.1.0" 1170 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850" 1171 | dependencies: 1172 | minimist "^1.2.0" 1173 | 1174 | kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: 1175 | version "3.2.2" 1176 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" 1177 | dependencies: 1178 | is-buffer "^1.1.5" 1179 | 1180 | kind-of@^4.0.0: 1181 | version "4.0.0" 1182 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" 1183 | dependencies: 1184 | is-buffer "^1.1.5" 1185 | 1186 | kind-of@^5.0.0: 1187 | version "5.1.0" 1188 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" 1189 | 1190 | kind-of@^6.0.0, kind-of@^6.0.2: 1191 | version "6.0.2" 1192 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" 1193 | 1194 | lodash.debounce@^4.0.8: 1195 | version "4.0.8" 1196 | resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" 1197 | 1198 | lodash@^4.17.10: 1199 | version "4.17.21" 1200 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 1201 | 1202 | loose-envify@^1.0.0: 1203 | version "1.4.0" 1204 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 1205 | dependencies: 1206 | js-tokens "^3.0.0 || ^4.0.0" 1207 | 1208 | map-cache@^0.2.2: 1209 | version "0.2.2" 1210 | resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" 1211 | 1212 | map-visit@^1.0.0: 1213 | version "1.0.0" 1214 | resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" 1215 | dependencies: 1216 | object-visit "^1.0.0" 1217 | 1218 | micromatch@^3.1.4: 1219 | version "3.1.10" 1220 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" 1221 | dependencies: 1222 | arr-diff "^4.0.0" 1223 | array-unique "^0.3.2" 1224 | braces "^2.3.1" 1225 | define-property "^2.0.2" 1226 | extend-shallow "^3.0.2" 1227 | extglob "^2.0.4" 1228 | fragment-cache "^0.2.1" 1229 | kind-of "^6.0.2" 1230 | nanomatch "^1.2.9" 1231 | object.pick "^1.3.0" 1232 | regex-not "^1.0.0" 1233 | snapdragon "^0.8.1" 1234 | to-regex "^3.0.2" 1235 | 1236 | minimatch@^3.0.2, minimatch@^3.0.4: 1237 | version "3.0.4" 1238 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 1239 | dependencies: 1240 | brace-expansion "^1.1.7" 1241 | 1242 | minimist@^1.2.0, minimist@^1.2.5: 1243 | version "1.2.5" 1244 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" 1245 | 1246 | minipass@^2.6.0, minipass@^2.9.0: 1247 | version "2.9.0" 1248 | resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" 1249 | dependencies: 1250 | safe-buffer "^5.1.2" 1251 | yallist "^3.0.0" 1252 | 1253 | minizlib@^1.3.3: 1254 | version "1.3.3" 1255 | resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" 1256 | dependencies: 1257 | minipass "^2.9.0" 1258 | 1259 | mixin-deep@^1.2.0: 1260 | version "1.3.2" 1261 | resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" 1262 | dependencies: 1263 | for-in "^1.0.2" 1264 | is-extendable "^1.0.1" 1265 | 1266 | mkdirp@^0.5.1, mkdirp@^0.5.5: 1267 | version "0.5.5" 1268 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" 1269 | dependencies: 1270 | minimist "^1.2.5" 1271 | 1272 | ms@2.0.0: 1273 | version "2.0.0" 1274 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 1275 | 1276 | ms@^2.1.1: 1277 | version "2.1.1" 1278 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" 1279 | 1280 | nan@^2.9.2: 1281 | version "2.11.0" 1282 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.11.0.tgz#574e360e4d954ab16966ec102c0c049fd961a099" 1283 | 1284 | nanomatch@^1.2.9: 1285 | version "1.2.13" 1286 | resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" 1287 | dependencies: 1288 | arr-diff "^4.0.0" 1289 | array-unique "^0.3.2" 1290 | define-property "^2.0.2" 1291 | extend-shallow "^3.0.2" 1292 | fragment-cache "^0.2.1" 1293 | is-windows "^1.0.2" 1294 | kind-of "^6.0.2" 1295 | object.pick "^1.3.0" 1296 | regex-not "^1.0.0" 1297 | snapdragon "^0.8.1" 1298 | to-regex "^3.0.1" 1299 | 1300 | needle@^2.2.1: 1301 | version "2.2.2" 1302 | resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.2.tgz#1120ca4c41f2fcc6976fd28a8968afe239929418" 1303 | dependencies: 1304 | debug "^2.1.2" 1305 | iconv-lite "^0.4.4" 1306 | sax "^1.2.4" 1307 | 1308 | node-pre-gyp@^0.10.0: 1309 | version "0.10.3" 1310 | resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc" 1311 | dependencies: 1312 | detect-libc "^1.0.2" 1313 | mkdirp "^0.5.1" 1314 | needle "^2.2.1" 1315 | nopt "^4.0.1" 1316 | npm-packlist "^1.1.6" 1317 | npmlog "^4.0.2" 1318 | rc "^1.2.7" 1319 | rimraf "^2.6.1" 1320 | semver "^5.3.0" 1321 | tar "^4" 1322 | 1323 | node-releases@^1.1.71: 1324 | version "1.1.72" 1325 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.72.tgz#14802ab6b1039a79a0c7d662b610a5bbd76eacbe" 1326 | 1327 | nopt@^4.0.1: 1328 | version "4.0.1" 1329 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" 1330 | dependencies: 1331 | abbrev "1" 1332 | osenv "^0.1.4" 1333 | 1334 | normalize-path@^2.1.1: 1335 | version "2.1.1" 1336 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" 1337 | dependencies: 1338 | remove-trailing-separator "^1.0.1" 1339 | 1340 | npm-bundled@^1.0.1: 1341 | version "1.0.5" 1342 | resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.5.tgz#3c1732b7ba936b3a10325aef616467c0ccbcc979" 1343 | 1344 | npm-packlist@^1.1.6: 1345 | version "1.1.11" 1346 | resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.11.tgz#84e8c683cbe7867d34b1d357d893ce29e28a02de" 1347 | dependencies: 1348 | ignore-walk "^3.0.1" 1349 | npm-bundled "^1.0.1" 1350 | 1351 | npmlog@^4.0.2: 1352 | version "4.1.2" 1353 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" 1354 | dependencies: 1355 | are-we-there-yet "~1.1.2" 1356 | console-control-strings "~1.1.0" 1357 | gauge "~2.7.3" 1358 | set-blocking "~2.0.0" 1359 | 1360 | number-is-nan@^1.0.0: 1361 | version "1.0.1" 1362 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 1363 | 1364 | object-assign@^4.1.0: 1365 | version "4.1.1" 1366 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 1367 | 1368 | object-copy@^0.1.0: 1369 | version "0.1.0" 1370 | resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" 1371 | dependencies: 1372 | copy-descriptor "^0.1.0" 1373 | define-property "^0.2.5" 1374 | kind-of "^3.0.3" 1375 | 1376 | object-visit@^1.0.0: 1377 | version "1.0.1" 1378 | resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" 1379 | dependencies: 1380 | isobject "^3.0.0" 1381 | 1382 | object.pick@^1.3.0: 1383 | version "1.3.0" 1384 | resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" 1385 | dependencies: 1386 | isobject "^3.0.1" 1387 | 1388 | once@^1.3.0: 1389 | version "1.4.0" 1390 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1391 | dependencies: 1392 | wrappy "1" 1393 | 1394 | os-homedir@^1.0.0: 1395 | version "1.0.2" 1396 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 1397 | 1398 | os-tmpdir@^1.0.0: 1399 | version "1.0.2" 1400 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 1401 | 1402 | osenv@^0.1.4: 1403 | version "0.1.5" 1404 | resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" 1405 | dependencies: 1406 | os-homedir "^1.0.0" 1407 | os-tmpdir "^1.0.0" 1408 | 1409 | output-file-sync@^2.0.0: 1410 | version "2.0.1" 1411 | resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-2.0.1.tgz#f53118282f5f553c2799541792b723a4c71430c0" 1412 | dependencies: 1413 | graceful-fs "^4.1.11" 1414 | is-plain-obj "^1.1.0" 1415 | mkdirp "^0.5.1" 1416 | 1417 | pascalcase@^0.1.1: 1418 | version "0.1.1" 1419 | resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" 1420 | 1421 | path-dirname@^1.0.0: 1422 | version "1.0.2" 1423 | resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" 1424 | 1425 | path-is-absolute@^1.0.0: 1426 | version "1.0.1" 1427 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1428 | 1429 | path-parse@^1.0.5: 1430 | version "1.0.7" 1431 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 1432 | 1433 | posix-character-classes@^0.1.0: 1434 | version "0.1.1" 1435 | resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" 1436 | 1437 | private@^0.1.6: 1438 | version "0.1.8" 1439 | resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" 1440 | 1441 | process-nextick-args@~2.0.0: 1442 | version "2.0.0" 1443 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" 1444 | 1445 | rc@^1.2.7: 1446 | version "1.2.8" 1447 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" 1448 | dependencies: 1449 | deep-extend "^0.6.0" 1450 | ini "~1.3.0" 1451 | minimist "^1.2.0" 1452 | strip-json-comments "~2.0.1" 1453 | 1454 | readable-stream@^2.0.2, readable-stream@^2.0.6: 1455 | version "2.3.6" 1456 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" 1457 | dependencies: 1458 | core-util-is "~1.0.0" 1459 | inherits "~2.0.3" 1460 | isarray "~1.0.0" 1461 | process-nextick-args "~2.0.0" 1462 | safe-buffer "~5.1.1" 1463 | string_decoder "~1.1.1" 1464 | util-deprecate "~1.0.1" 1465 | 1466 | readdirp@^2.0.0: 1467 | version "2.1.0" 1468 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" 1469 | dependencies: 1470 | graceful-fs "^4.1.2" 1471 | minimatch "^3.0.2" 1472 | readable-stream "^2.0.2" 1473 | set-immediate-shim "^1.0.1" 1474 | 1475 | regenerate-unicode-properties@^7.0.0: 1476 | version "7.0.0" 1477 | resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz#107405afcc4a190ec5ed450ecaa00ed0cafa7a4c" 1478 | dependencies: 1479 | regenerate "^1.4.0" 1480 | 1481 | regenerate@^1.4.0: 1482 | version "1.4.0" 1483 | resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" 1484 | 1485 | regenerator-transform@^0.13.3: 1486 | version "0.13.3" 1487 | resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.13.3.tgz#264bd9ff38a8ce24b06e0636496b2c856b57bcbb" 1488 | dependencies: 1489 | private "^0.1.6" 1490 | 1491 | regex-not@^1.0.0, regex-not@^1.0.2: 1492 | version "1.0.2" 1493 | resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" 1494 | dependencies: 1495 | extend-shallow "^3.0.2" 1496 | safe-regex "^1.1.0" 1497 | 1498 | regexpu-core@^4.1.3, regexpu-core@^4.2.0: 1499 | version "4.2.0" 1500 | resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.2.0.tgz#a3744fa03806cffe146dea4421a3e73bdcc47b1d" 1501 | dependencies: 1502 | regenerate "^1.4.0" 1503 | regenerate-unicode-properties "^7.0.0" 1504 | regjsgen "^0.4.0" 1505 | regjsparser "^0.3.0" 1506 | unicode-match-property-ecmascript "^1.0.4" 1507 | unicode-match-property-value-ecmascript "^1.0.2" 1508 | 1509 | regjsgen@^0.4.0: 1510 | version "0.4.0" 1511 | resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.4.0.tgz#c1eb4c89a209263f8717c782591523913ede2561" 1512 | 1513 | regjsparser@^0.3.0: 1514 | version "0.3.0" 1515 | resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.3.0.tgz#3c326da7fcfd69fa0d332575a41c8c0cdf588c96" 1516 | dependencies: 1517 | jsesc "~0.5.0" 1518 | 1519 | remove-trailing-separator@^1.0.1: 1520 | version "1.1.0" 1521 | resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" 1522 | 1523 | repeat-element@^1.1.2: 1524 | version "1.1.3" 1525 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" 1526 | 1527 | repeat-string@^1.6.1: 1528 | version "1.6.1" 1529 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 1530 | 1531 | resolve-url@^0.2.1: 1532 | version "0.2.1" 1533 | resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" 1534 | 1535 | resolve@^1.3.2: 1536 | version "1.8.1" 1537 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" 1538 | dependencies: 1539 | path-parse "^1.0.5" 1540 | 1541 | ret@~0.1.10: 1542 | version "0.1.15" 1543 | resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" 1544 | 1545 | rimraf@^2.6.1: 1546 | version "2.6.2" 1547 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" 1548 | dependencies: 1549 | glob "^7.0.5" 1550 | 1551 | safe-buffer@^5.1.2, safe-buffer@^5.2.1: 1552 | version "5.2.1" 1553 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 1554 | 1555 | safe-buffer@~5.1.0, safe-buffer@~5.1.1: 1556 | version "5.1.2" 1557 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 1558 | 1559 | safe-regex@^1.1.0: 1560 | version "1.1.0" 1561 | resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" 1562 | dependencies: 1563 | ret "~0.1.10" 1564 | 1565 | "safer-buffer@>= 2.1.2 < 3": 1566 | version "2.1.2" 1567 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 1568 | 1569 | sax@^1.2.4: 1570 | version "1.2.4" 1571 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" 1572 | 1573 | semver@^5.3.0, semver@^5.4.1: 1574 | version "5.5.1" 1575 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.1.tgz#7dfdd8814bdb7cabc7be0fb1d734cfb66c940477" 1576 | 1577 | set-blocking@~2.0.0: 1578 | version "2.0.0" 1579 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 1580 | 1581 | set-immediate-shim@^1.0.1: 1582 | version "1.0.1" 1583 | resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" 1584 | 1585 | set-value@^0.4.3: 1586 | version "0.4.3" 1587 | resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" 1588 | dependencies: 1589 | extend-shallow "^2.0.1" 1590 | is-extendable "^0.1.1" 1591 | is-plain-object "^2.0.1" 1592 | to-object-path "^0.3.0" 1593 | 1594 | set-value@^2.0.0: 1595 | version "2.0.0" 1596 | resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" 1597 | dependencies: 1598 | extend-shallow "^2.0.1" 1599 | is-extendable "^0.1.1" 1600 | is-plain-object "^2.0.3" 1601 | split-string "^3.0.1" 1602 | 1603 | signal-exit@^3.0.0: 1604 | version "3.0.2" 1605 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 1606 | 1607 | slash@^2.0.0: 1608 | version "2.0.0" 1609 | resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" 1610 | 1611 | snapdragon-node@^2.0.1: 1612 | version "2.1.1" 1613 | resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" 1614 | dependencies: 1615 | define-property "^1.0.0" 1616 | isobject "^3.0.0" 1617 | snapdragon-util "^3.0.1" 1618 | 1619 | snapdragon-util@^3.0.1: 1620 | version "3.0.1" 1621 | resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" 1622 | dependencies: 1623 | kind-of "^3.2.0" 1624 | 1625 | snapdragon@^0.8.1: 1626 | version "0.8.2" 1627 | resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" 1628 | dependencies: 1629 | base "^0.11.1" 1630 | debug "^2.2.0" 1631 | define-property "^0.2.5" 1632 | extend-shallow "^2.0.1" 1633 | map-cache "^0.2.2" 1634 | source-map "^0.5.6" 1635 | source-map-resolve "^0.5.0" 1636 | use "^3.1.0" 1637 | 1638 | source-map-resolve@^0.5.0: 1639 | version "0.5.2" 1640 | resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" 1641 | dependencies: 1642 | atob "^2.1.1" 1643 | decode-uri-component "^0.2.0" 1644 | resolve-url "^0.2.1" 1645 | source-map-url "^0.4.0" 1646 | urix "^0.1.0" 1647 | 1648 | source-map-url@^0.4.0: 1649 | version "0.4.0" 1650 | resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" 1651 | 1652 | source-map@^0.5.0, source-map@^0.5.6: 1653 | version "0.5.7" 1654 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 1655 | 1656 | split-string@^3.0.1, split-string@^3.0.2: 1657 | version "3.1.0" 1658 | resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" 1659 | dependencies: 1660 | extend-shallow "^3.0.0" 1661 | 1662 | static-extend@^0.1.1: 1663 | version "0.1.2" 1664 | resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" 1665 | dependencies: 1666 | define-property "^0.2.5" 1667 | object-copy "^0.1.0" 1668 | 1669 | string-width@^1.0.1: 1670 | version "1.0.2" 1671 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 1672 | dependencies: 1673 | code-point-at "^1.0.0" 1674 | is-fullwidth-code-point "^1.0.0" 1675 | strip-ansi "^3.0.0" 1676 | 1677 | "string-width@^1.0.2 || 2": 1678 | version "2.1.1" 1679 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 1680 | dependencies: 1681 | is-fullwidth-code-point "^2.0.0" 1682 | strip-ansi "^4.0.0" 1683 | 1684 | string_decoder@~1.1.1: 1685 | version "1.1.1" 1686 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 1687 | dependencies: 1688 | safe-buffer "~5.1.0" 1689 | 1690 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 1691 | version "3.0.1" 1692 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 1693 | dependencies: 1694 | ansi-regex "^2.0.0" 1695 | 1696 | strip-ansi@^4.0.0: 1697 | version "4.0.0" 1698 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 1699 | dependencies: 1700 | ansi-regex "^3.0.0" 1701 | 1702 | strip-json-comments@~2.0.1: 1703 | version "2.0.1" 1704 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 1705 | 1706 | supports-color@^5.3.0: 1707 | version "5.5.0" 1708 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 1709 | dependencies: 1710 | has-flag "^3.0.0" 1711 | 1712 | tar@^4: 1713 | version "4.4.19" 1714 | resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" 1715 | dependencies: 1716 | chownr "^1.1.4" 1717 | fs-minipass "^1.2.7" 1718 | minipass "^2.9.0" 1719 | minizlib "^1.3.3" 1720 | mkdirp "^0.5.5" 1721 | safe-buffer "^5.2.1" 1722 | yallist "^3.1.1" 1723 | 1724 | to-fast-properties@^2.0.0: 1725 | version "2.0.0" 1726 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 1727 | 1728 | to-object-path@^0.3.0: 1729 | version "0.3.0" 1730 | resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" 1731 | dependencies: 1732 | kind-of "^3.0.2" 1733 | 1734 | to-regex-range@^2.1.0: 1735 | version "2.1.1" 1736 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" 1737 | dependencies: 1738 | is-number "^3.0.0" 1739 | repeat-string "^1.6.1" 1740 | 1741 | to-regex@^3.0.1, to-regex@^3.0.2: 1742 | version "3.0.2" 1743 | resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" 1744 | dependencies: 1745 | define-property "^2.0.2" 1746 | extend-shallow "^3.0.2" 1747 | regex-not "^1.0.2" 1748 | safe-regex "^1.1.0" 1749 | 1750 | trim-right@^1.0.1: 1751 | version "1.0.1" 1752 | resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" 1753 | 1754 | unicode-canonical-property-names-ecmascript@^1.0.4: 1755 | version "1.0.4" 1756 | resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" 1757 | 1758 | unicode-match-property-ecmascript@^1.0.4: 1759 | version "1.0.4" 1760 | resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" 1761 | dependencies: 1762 | unicode-canonical-property-names-ecmascript "^1.0.4" 1763 | unicode-property-aliases-ecmascript "^1.0.4" 1764 | 1765 | unicode-match-property-value-ecmascript@^1.0.2: 1766 | version "1.0.2" 1767 | resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz#9f1dc76926d6ccf452310564fd834ace059663d4" 1768 | 1769 | unicode-property-aliases-ecmascript@^1.0.4: 1770 | version "1.0.4" 1771 | resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz#5a533f31b4317ea76f17d807fa0d116546111dd0" 1772 | 1773 | union-value@^1.0.0: 1774 | version "1.0.0" 1775 | resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" 1776 | dependencies: 1777 | arr-union "^3.1.0" 1778 | get-value "^2.0.6" 1779 | is-extendable "^0.1.1" 1780 | set-value "^0.4.3" 1781 | 1782 | unset-value@^1.0.0: 1783 | version "1.0.0" 1784 | resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" 1785 | dependencies: 1786 | has-value "^0.3.1" 1787 | isobject "^3.0.0" 1788 | 1789 | upath@^1.0.5: 1790 | version "1.1.0" 1791 | resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd" 1792 | 1793 | urix@^0.1.0: 1794 | version "0.1.0" 1795 | resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" 1796 | 1797 | use@^3.1.0: 1798 | version "3.1.1" 1799 | resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" 1800 | 1801 | util-deprecate@~1.0.1: 1802 | version "1.0.2" 1803 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 1804 | 1805 | vue-template-compiler@^2.5.21: 1806 | version "2.5.21" 1807 | resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.5.21.tgz#a57ceb903177e8f643560a8d639a0f8db647054a" 1808 | dependencies: 1809 | de-indent "^1.0.2" 1810 | he "^1.1.0" 1811 | 1812 | vue-template-es2015-compiler@^1.6.0: 1813 | version "1.6.0" 1814 | resolved "http://registry.npm.qima-inc.com/vue-template-es2015-compiler/download/vue-template-es2015-compiler-1.6.0.tgz#dc42697133302ce3017524356a6c61b7b69b4a18" 1815 | 1816 | wide-align@^1.1.0: 1817 | version "1.1.3" 1818 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" 1819 | dependencies: 1820 | string-width "^1.0.2 || 2" 1821 | 1822 | wrappy@1: 1823 | version "1.0.2" 1824 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1825 | 1826 | yallist@^3.0.0, yallist@^3.1.1: 1827 | version "3.1.1" 1828 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" 1829 | --------------------------------------------------------------------------------