├── .gitignore ├── demo ├── demo.jpg ├── colority.js └── index.html ├── .npmignore ├── .babelrc ├── .travis.yml ├── .eslintrc ├── package.json ├── dist ├── colority.es.min.js ├── colority.min.js ├── colority.es.js ├── colority.js ├── colority.es.js.map ├── colority.js.map ├── colority.min.js.map └── colority.es.min.js.map ├── LICENSE ├── rollup.config.js ├── README.md ├── src └── index.ts └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | npm-debug.log 3 | example 4 | test 5 | -------------------------------------------------------------------------------- /demo/demo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dabanlee/colority/HEAD/demo/demo.jpg -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | example 3 | test 4 | rollup.config.js 5 | package-lock.json 6 | yarn.lock 7 | .babelrc 8 | .eslintrc 9 | .eslintignore 10 | .gitignore 11 | -------------------------------------------------------------------------------- /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [["es2015", { "modules": false }]], 3 | "plugins": [ 4 | "transform-class-properties", 5 | "transform-flow-strip-types", 6 | "syntax-flow", 7 | "transform-object-rest-spread" 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | 3 | node_js: 4 | - "4" 5 | 6 | branches: 7 | only: 8 | - master 9 | 10 | cache: 11 | directories: 12 | - $HOME/.npm 13 | - $HOME/.yarn-cache 14 | - node_modules 15 | 16 | install: 17 | - npm install 18 | 19 | script: 20 | - npm run lint 21 | -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "eslint:recommended", 3 | "ecmaFeatures": { 4 | "modules": true 5 | }, 6 | "env": { 7 | "es6": true, 8 | "browser": true, 9 | "node": true, 10 | "mocha": true 11 | }, 12 | "globals": { 13 | "define": true 14 | }, 15 | "parser": "babel-eslint", 16 | "rules": { 17 | "semi": [2, "always"], 18 | "quotes": [2, "single", { "avoidEscape": true, "allowTemplateLiterals": true }], 19 | "comma-dangle": [2, "always-multiline"], 20 | "no-console": [0, { allow: ["warn", "error"] }], 21 | "no-multiple-empty-lines": [2, { "max": 1 }] 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "colority", 3 | "version": "1.1.0", 4 | "description": "extracting colors from pictures.", 5 | "main": "dist/colority.js", 6 | "module": "src/index.js", 7 | "moduleName": "colority", 8 | "scripts": { 9 | "test": "mocha test/index.js", 10 | "start": "NODE_ENV=development rollup -w -c rollup.config.js", 11 | "dev": "NODE_ENV=development rollup -c rollup.config.js", 12 | "prod": "NODE_ENV=production rollup -c rollup.config.js", 13 | "publish": "rm -rf dist && npm run dev && npm run prod" 14 | }, 15 | "repository": { 16 | "url": "https://github.com/JustClear/colority.git", 17 | "type": "git" 18 | }, 19 | "author": "JustClear <576839360@qq.com>", 20 | "license": "MIT", 21 | "devDependencies": { 22 | "tslib": "^1.9.3", 23 | "mocha": "^5.2.0", 24 | "expect.js": "^0.3.1", 25 | "typescript": "^3.2.2", 26 | "rollup-plugin-alias": "^1.5.1", 27 | "rollup-plugin-babel-minify": "^6.2.0", 28 | "rollup-plugin-node-resolve": "^3.0.0", 29 | "rollup-plugin-typescript": "^1.0.0" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /dist/colority.es.min.js: -------------------------------------------------------------------------------- 1 | function colority(a,b,c){var d=this;return this instanceof colority?void(this.imageURL=a,this.options={},this.callback=function(){},c===void 0?this.callback=b:(this.options=b,this.callback=c),preload(this.imageURL,function(a){var b=getContext(a.naturalWidth,a.naturalHeight);b.drawImage(a,0,0);var c=b.getImageData(0,0,a.naturalWidth,a.naturalHeight).data,e={},f=[];transformColors(c,d.options.skip||10,function(a){return e[a]=a in e?e[a]+1:1}),mapColors(e,function(a,b){f.push({color:a,count:b})}),d.callback(f.sort(function(c,a){return a.count-c.count}).map(function(a){return a.color}))})):new colority(a,b,c)}function preload(a,b){var c=new Image;c.crossOrigin="*",c.src=a,c.addEventListener("load",function(){return b(c)}),c.addEventListener("error",function(){return b(c)})}function getContext(a,b){var c=document.createElement("canvas");return c.width=a,c.height=b,c.getContext("2d")}function transformColors(a,b,c){for(var d=0;d `dist/${moduleName}${type == '' ? '' : '.'}${type}.js`; 9 | const output = options => ({ 10 | name: moduleName, 11 | sourcemap: true, 12 | ...options, 13 | }); 14 | 15 | const configure = { 16 | input: 'src/index.ts', 17 | output: [output({ 18 | file: getFilePath(), 19 | format: 'umd', 20 | }), output({ 21 | file: getFilePath('es'), 22 | format: 'es', 23 | })], 24 | plugins: [ 25 | alias({ 26 | common: './common', 27 | }), 28 | typescript(), 29 | resolve({ 30 | extensions: ['.js', '.ts'], 31 | }), 32 | ], 33 | external: [], 34 | }; 35 | 36 | if (isProd) { 37 | configure.output = configure.output.map(output => { 38 | const format = output.format == 'umd' ? '' : `.${output.format}`; 39 | output.file = `dist/${moduleName}${format}.min.js`; 40 | return output; 41 | }); 42 | configure.plugins.push(minify()); 43 | } 44 | 45 | module.exports = configure; 46 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | 🎨 3 |

4 | 5 |

colority

6 | 7 |

8 | 9 | travis 10 | 11 | 12 | dependencies 13 | 14 | 15 | devDependencies 16 | 17 |

18 | 19 |

extracting colors from pictures.

20 | 21 | ## Installation 22 | 23 | ```sh 24 | $ yarn add colority 25 | ``` 26 | 27 | ## Usage 28 | 29 | [DEMO](https://justclear.github.io/colority/demo/?image=https://user-gold-cdn.xitu.io/2017/8/8/c5267eadfded82a98cd3cad7a16d5a48?imageView2/1/w/1200/h/700/q/85/interlace/1) 30 | 31 | ```js 32 | import colority from 'colority'; 33 | 34 | colority(imageURL, colors => { 35 | // do something here... 36 | }); 37 | 38 | // or skip pixels 39 | 40 | colority(imageURL, { 41 | skip: 1000, 42 | }, colors => { 43 | // do something here... 44 | }); 45 | ``` 46 | 47 | ## APIs 48 | 49 | - `colority(imageURL[, options], colors => {})` 50 | - `imageURL`: picture url. 51 | - `options.skip`: skip pixels(Optional, default to `10`). 52 | - `colors`: the extracted `rgb` colors(Sort by quantity). 53 | 54 | ## License 55 | 56 | Licensed under the [MIT License](https://github.com/JustClear/just-sketch/blob/master/LICENSE) 57 | -------------------------------------------------------------------------------- /dist/colority.es.js: -------------------------------------------------------------------------------- 1 | function colority(imageURL, callback, options) { 2 | var _this = this; 3 | if (!(this instanceof colority)) 4 | return new colority(imageURL, callback, options); 5 | this.imageURL = imageURL; 6 | this.options = {}; 7 | this.callback = function () { }; 8 | if (options === undefined) { 9 | this.callback = callback; 10 | } 11 | else { 12 | this.options = callback; 13 | this.callback = options; 14 | } 15 | preload(this.imageURL, function (image) { 16 | var context = getContext(image.naturalWidth, image.naturalHeight); 17 | context.drawImage(image, 0, 0); 18 | var imageData = context.getImageData(0, 0, image.naturalWidth, image.naturalHeight).data; 19 | var colors = {}; 20 | var results = []; 21 | transformColors(imageData, _this.options.skip || 10, function (rgb) { return colors[rgb] = rgb in colors ? colors[rgb] + 1 : 1; }); 22 | mapColors(colors, function (key, value) { 23 | results.push({ 24 | color: key, 25 | count: value 26 | }); 27 | }); 28 | _this.callback(results.sort(function (a, b) { return b.count - a.count; }).map(function (result) { return result.color; })); 29 | }); 30 | } 31 | function preload(imageURL, done) { 32 | var image = new Image(); 33 | image.crossOrigin = '*'; 34 | image.src = imageURL; 35 | image.addEventListener('load', function () { return done(image); }); 36 | image.addEventListener('error', function () { return done(image); }); 37 | } 38 | function getContext(width, height) { 39 | var canvas = document.createElement('canvas'); 40 | canvas.width = width; 41 | canvas.height = height; 42 | return canvas.getContext('2d'); 43 | } 44 | function transformColors(data, skip, callback) { 45 | for (var i = 0; i < data.length; i += 4 * skip) { 46 | callback("rgb(" + data[i] + "," + data[i + 1] + "," + data[i + 2] + ")"); 47 | } 48 | } 49 | function mapColors(data, callback) { 50 | for (var key in data) { 51 | callback(key, data[key]); 52 | } 53 | } 54 | 55 | export default colority; 56 | //# sourceMappingURL=colority.es.js.map 57 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | export default function colority(imageURL: string, callback: (colors: []) => void, options?: { 2 | skip: number 3 | }) { 4 | if (!(this instanceof colority)) return new colority(imageURL, callback, options); 5 | 6 | this.imageURL = imageURL; 7 | this.options = {}; 8 | this.callback = () => {}; 9 | 10 | if (options === undefined) { 11 | this.callback = callback; 12 | } else { 13 | this.options = callback; 14 | this.callback = options; 15 | } 16 | 17 | preload(this.imageURL, image => { 18 | const context = getContext(image.naturalWidth, image.naturalHeight); 19 | context.drawImage(image, 0, 0); 20 | const imageData = context.getImageData(0, 0, image.naturalWidth, image.naturalHeight).data; 21 | const colors = {}; 22 | const results = []; 23 | 24 | transformColors(imageData, this.options.skip || 10, rgb => colors[rgb] = rgb in colors ? colors[rgb] + 1 : 1); 25 | 26 | mapColors(colors, (key, value) => { 27 | results.push({ 28 | color: key, 29 | count: value, 30 | }); 31 | }); 32 | this.callback(results.sort((a, b) => b.count - a.count).map(result => result.color)); 33 | }); 34 | } 35 | 36 | function preload(imageURL: string, done: (image: HTMLImageElement) => void) { 37 | const image: HTMLImageElement = new Image(); 38 | image.crossOrigin = '*'; 39 | image.src = imageURL; 40 | image.addEventListener('load', () => done(image)); 41 | image.addEventListener('error', () => done(image)); 42 | } 43 | 44 | function getContext(width: number, height: number): CanvasRenderingContext2D { 45 | const canvas: HTMLCanvasElement = document.createElement('canvas'); 46 | canvas.width = width; 47 | canvas.height = height; 48 | return canvas.getContext('2d'); 49 | } 50 | 51 | function transformColors(data: Uint8ClampedArray, skip: number, callback: (color: string) => void) { 52 | for (let i = 0; i < data.length; i += 4 * skip) { 53 | callback(`rgb(${data[i]},${data[i + 1]},${data[i + 2]})`); 54 | } 55 | } 56 | 57 | function mapColors(data: object, callback: (key: string, value: any) => void) { 58 | for (let key in data) { 59 | callback(key, data[key]); 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /demo/colority.js: -------------------------------------------------------------------------------- 1 | (function (global, factory) { 2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : 3 | typeof define === 'function' && define.amd ? define('colority', factory) : 4 | (global.colority = factory()); 5 | }(this, (function () { 'use strict'; 6 | 7 | function colority(imageURL, options, callback) { 8 | var _this = this; 9 | 10 | if (!(this instanceof colority)) return new colority(imageURL, options, callback); 11 | 12 | this.imageURL = imageURL; 13 | this.options = {}; 14 | this.callback = function () {}; 15 | 16 | if (callback === undefined) { 17 | this.callback = options; 18 | } else { 19 | this.options = options; 20 | this.callback = callback; 21 | } 22 | 23 | preload(this.imageURL, function (image) { 24 | var context = getContext(image.naturalWidth, image.naturalHeight); 25 | context.drawImage(image, 0, 0); 26 | var imageData = context.getImageData(0, 0, image.naturalWidth, image.naturalHeight).data; 27 | var colors = {}; 28 | var results = []; 29 | 30 | transformColors(imageData, _this.options.skip || 10, function (rgb) { 31 | return colors[rgb] = rgb in colors ? colors[rgb] + 1 : 1; 32 | }); 33 | mapColors(colors, function (key, value) { 34 | results.push({ 35 | color: key, 36 | count: value 37 | }); 38 | }); 39 | _this.callback(results.sort(function (a, b) { 40 | return b.count - a.count; 41 | }).map(function (result) { 42 | return result.color; 43 | })); 44 | }); 45 | } 46 | 47 | function preload(imageURL, done) { 48 | var image = new Image(); 49 | image.crossOrigin = '*'; 50 | image.src = imageURL; 51 | image.addEventListener('load', function () { 52 | return done(image); 53 | }); 54 | image.addEventListener('error', function () { 55 | return done(image); 56 | }); 57 | } 58 | 59 | function getContext(width, height) { 60 | var canvas = document.createElement('canvas'); 61 | canvas.width = width; 62 | canvas.height = height; 63 | return canvas.getContext('2d'); 64 | } 65 | 66 | function transformColors(data, skip, callback) { 67 | for (var i = 0; i < data.length; i += 4 * skip) { 68 | callback('rgb(' + data[i] + ',' + data[i + 1] + ',' + data[i + 2] + ')'); 69 | } 70 | } 71 | 72 | function mapColors(data, callback) { 73 | for (var key in data) { 74 | callback(key, data[key]); 75 | } 76 | } 77 | 78 | return colority; 79 | 80 | }))); 81 | //# sourceMappingURL=colority.js.map 82 | -------------------------------------------------------------------------------- /dist/colority.js: -------------------------------------------------------------------------------- 1 | (function (global, factory) { 2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : 3 | typeof define === 'function' && define.amd ? define(factory) : 4 | global.colority = factory(); 5 | }(typeof self !== 'undefined' ? self : this, function () { 'use strict'; 6 | 7 | function colority(imageURL, callback, options) { 8 | var _this = this; 9 | if (!(this instanceof colority)) 10 | return new colority(imageURL, callback, options); 11 | this.imageURL = imageURL; 12 | this.options = {}; 13 | this.callback = function () { }; 14 | if (options === undefined) { 15 | this.callback = callback; 16 | } 17 | else { 18 | this.options = callback; 19 | this.callback = options; 20 | } 21 | preload(this.imageURL, function (image) { 22 | var context = getContext(image.naturalWidth, image.naturalHeight); 23 | context.drawImage(image, 0, 0); 24 | var imageData = context.getImageData(0, 0, image.naturalWidth, image.naturalHeight).data; 25 | var colors = {}; 26 | var results = []; 27 | transformColors(imageData, _this.options.skip || 10, function (rgb) { return colors[rgb] = rgb in colors ? colors[rgb] + 1 : 1; }); 28 | mapColors(colors, function (key, value) { 29 | results.push({ 30 | color: key, 31 | count: value 32 | }); 33 | }); 34 | _this.callback(results.sort(function (a, b) { return b.count - a.count; }).map(function (result) { return result.color; })); 35 | }); 36 | } 37 | function preload(imageURL, done) { 38 | var image = new Image(); 39 | image.crossOrigin = '*'; 40 | image.src = imageURL; 41 | image.addEventListener('load', function () { return done(image); }); 42 | image.addEventListener('error', function () { return done(image); }); 43 | } 44 | function getContext(width, height) { 45 | var canvas = document.createElement('canvas'); 46 | canvas.width = width; 47 | canvas.height = height; 48 | return canvas.getContext('2d'); 49 | } 50 | function transformColors(data, skip, callback) { 51 | for (var i = 0; i < data.length; i += 4 * skip) { 52 | callback("rgb(" + data[i] + "," + data[i + 1] + "," + data[i + 2] + ")"); 53 | } 54 | } 55 | function mapColors(data, callback) { 56 | for (var key in data) { 57 | callback(key, data[key]); 58 | } 59 | } 60 | 61 | return colority; 62 | 63 | })); 64 | //# sourceMappingURL=colority.js.map 65 | -------------------------------------------------------------------------------- /demo/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | colority demo 8 | 22 | 23 | 24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 | 51 |
52 | 53 | 87 | 88 | 89 | -------------------------------------------------------------------------------- /dist/colority.es.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"colority.es.js","sources":["../src/index.ts"],"sourcesContent":["export default function colority(imageURL: string, callback: (colors: []) => void, options?: {\n skip: number\n}) {\n if (!(this instanceof colority)) return new colority(imageURL, callback, options);\n\n this.imageURL = imageURL;\n this.options = {};\n this.callback = () => {};\n\n if (options === undefined) {\n this.callback = callback;\n } else {\n this.options = callback;\n this.callback = options;\n }\n\n preload(this.imageURL, image => {\n const context = getContext(image.naturalWidth, image.naturalHeight);\n context.drawImage(image, 0, 0);\n const imageData = context.getImageData(0, 0, image.naturalWidth, image.naturalHeight).data;\n const colors = {};\n const results = [];\n\n transformColors(imageData, this.options.skip || 10, rgb => colors[rgb] = rgb in colors ? colors[rgb] + 1 : 1);\n\n mapColors(colors, (key, value) => {\n results.push({\n color: key,\n count: value,\n });\n });\n this.callback(results.sort((a, b) => b.count - a.count).map(result => result.color));\n });\n}\n\nfunction preload(imageURL: string, done: (image: HTMLImageElement) => void) {\n const image: HTMLImageElement = new Image();\n image.crossOrigin = '*';\n image.src = imageURL;\n image.addEventListener('load', () => done(image));\n image.addEventListener('error', () => done(image));\n}\n\nfunction getContext(width: number, height: number): CanvasRenderingContext2D {\n const canvas: HTMLCanvasElement = document.createElement('canvas');\n canvas.width = width;\n canvas.height = height;\n return canvas.getContext('2d');\n}\n\nfunction transformColors(data: Uint8ClampedArray, skip: number, callback: (color: string) => void) {\n for (let i = 0; i < data.length; i += 4 * skip) {\n callback(`rgb(${data[i]},${data[i + 1]},${data[i + 2]})`);\n }\n}\n\nfunction mapColors(data: object, callback: (key: string, value: any) => void) {\n for (let key in data) {\n callback(key, data[key]);\n }\n}\n"],"names":[],"mappings":"SAAwB,QAAQ,CAAC,QAAgB,EAAE,QAA8B,EAAE,OAElF;IAFD,iBAiCC;IA9BG,IAAI,EAAE,IAAI,YAAY,QAAQ,CAAC;QAAE,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAElF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACzB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IAClB,IAAI,CAAC,QAAQ,GAAG,eAAQ,CAAC;IAEzB,IAAI,OAAO,KAAK,SAAS,EAAE;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;KAC5B;SAAM;QACH,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;KAC3B;IAED,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAA,KAAK;QACxB,IAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QACpE,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/B,IAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC;QAC3F,IAAM,MAAM,GAAG,EAAE,CAAC;QAClB,IAAM,OAAO,GAAG,EAAE,CAAC;QAEnB,eAAe,CAAC,SAAS,EAAE,KAAI,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,UAAA,GAAG,IAAI,OAAA,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAA,CAAC,CAAC;QAE9G,SAAS,CAAC,MAAM,EAAE,UAAC,GAAG,EAAE,KAAK;YACzB,OAAO,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,KAAK;aACf,CAAC,CAAC;SACN,CAAC,CAAC;QACH,KAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAA,CAAC,CAAC,GAAG,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,KAAK,GAAA,CAAC,CAAC,CAAC;KACxF,CAAC,CAAC;CACN;AAED,SAAS,OAAO,CAAC,QAAgB,EAAE,IAAuC;IACtE,IAAM,KAAK,GAAqB,IAAI,KAAK,EAAE,CAAC;IAC5C,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC;IACxB,KAAK,CAAC,GAAG,GAAG,QAAQ,CAAC;IACrB,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,cAAM,OAAA,IAAI,CAAC,KAAK,CAAC,GAAA,CAAC,CAAC;IAClD,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,cAAM,OAAA,IAAI,CAAC,KAAK,CAAC,GAAA,CAAC,CAAC;CACtD;AAED,SAAS,UAAU,CAAC,KAAa,EAAE,MAAc;IAC7C,IAAM,MAAM,GAAsB,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACnE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;CAClC;AAED,SAAS,eAAe,CAAC,IAAuB,EAAE,IAAY,EAAE,QAAiC;IAC7F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE;QAC5C,QAAQ,CAAC,SAAO,IAAI,CAAC,CAAC,CAAC,SAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,SAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAG,CAAC,CAAC;KAC7D;CACJ;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,QAA2C;IACxE,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE;QAClB,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;KAC5B;CACJ;;;;"} -------------------------------------------------------------------------------- /dist/colority.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"colority.js","sources":["../src/index.ts"],"sourcesContent":["export default function colority(imageURL: string, callback: (colors: []) => void, options?: {\n skip: number\n}) {\n if (!(this instanceof colority)) return new colority(imageURL, callback, options);\n\n this.imageURL = imageURL;\n this.options = {};\n this.callback = () => {};\n\n if (options === undefined) {\n this.callback = callback;\n } else {\n this.options = callback;\n this.callback = options;\n }\n\n preload(this.imageURL, image => {\n const context = getContext(image.naturalWidth, image.naturalHeight);\n context.drawImage(image, 0, 0);\n const imageData = context.getImageData(0, 0, image.naturalWidth, image.naturalHeight).data;\n const colors = {};\n const results = [];\n\n transformColors(imageData, this.options.skip || 10, rgb => colors[rgb] = rgb in colors ? colors[rgb] + 1 : 1);\n\n mapColors(colors, (key, value) => {\n results.push({\n color: key,\n count: value,\n });\n });\n this.callback(results.sort((a, b) => b.count - a.count).map(result => result.color));\n });\n}\n\nfunction preload(imageURL: string, done: (image: HTMLImageElement) => void) {\n const image: HTMLImageElement = new Image();\n image.crossOrigin = '*';\n image.src = imageURL;\n image.addEventListener('load', () => done(image));\n image.addEventListener('error', () => done(image));\n}\n\nfunction getContext(width: number, height: number): CanvasRenderingContext2D {\n const canvas: HTMLCanvasElement = document.createElement('canvas');\n canvas.width = width;\n canvas.height = height;\n return canvas.getContext('2d');\n}\n\nfunction transformColors(data: Uint8ClampedArray, skip: number, callback: (color: string) => void) {\n for (let i = 0; i < data.length; i += 4 * skip) {\n callback(`rgb(${data[i]},${data[i + 1]},${data[i + 2]})`);\n }\n}\n\nfunction mapColors(data: object, callback: (key: string, value: any) => void) {\n for (let key in data) {\n callback(key, data[key]);\n }\n}\n"],"names":[],"mappings":"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"} -------------------------------------------------------------------------------- /dist/colority.min.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"colority.min.js","sources":["../src/index.ts"],"sourcesContent":["export default function colority(imageURL: string, callback: (colors: []) => void, options?: {\n skip: number\n}) {\n if (!(this instanceof colority)) return new colority(imageURL, callback, options);\n\n this.imageURL = imageURL;\n this.options = {};\n this.callback = () => {};\n\n if (options === undefined) {\n this.callback = callback;\n } else {\n this.options = callback;\n this.callback = options;\n }\n\n preload(this.imageURL, image => {\n const context = getContext(image.naturalWidth, image.naturalHeight);\n context.drawImage(image, 0, 0);\n const imageData = context.getImageData(0, 0, image.naturalWidth, image.naturalHeight).data;\n const colors = {};\n const results = [];\n\n transformColors(imageData, this.options.skip || 10, rgb => colors[rgb] = rgb in colors ? colors[rgb] + 1 : 1);\n\n mapColors(colors, (key, value) => {\n results.push({\n color: key,\n count: value,\n });\n });\n this.callback(results.sort((a, b) => b.count - a.count).map(result => result.color));\n });\n}\n\nfunction preload(imageURL: string, done: (image: HTMLImageElement) => void) {\n const image: HTMLImageElement = new Image();\n image.crossOrigin = '*';\n image.src = imageURL;\n image.addEventListener('load', () => done(image));\n image.addEventListener('error', () => done(image));\n}\n\nfunction getContext(width: number, height: number): CanvasRenderingContext2D {\n const canvas: HTMLCanvasElement = document.createElement('canvas');\n canvas.width = width;\n canvas.height = height;\n return canvas.getContext('2d');\n}\n\nfunction transformColors(data: Uint8ClampedArray, skip: number, callback: (color: string) => void) {\n for (let i = 0; i < data.length; i += 4 * skip) {\n callback(`rgb(${data[i]},${data[i + 1]},${data[i + 2]})`);\n }\n}\n\nfunction mapColors(data: object, callback: (key: string, value: any) => void) {\n for (let key in data) {\n callback(key, data[key]);\n }\n}\n"],"names":["colority","imageURL","callback","options","preload","image","context","getContext","naturalWidth","naturalHeight","drawImage","imageData","getImageData","data","colors","results","transformColors","_this","skip","rgb","mapColors","key","value","push","color","count","sort","a","b","map","result","done","Image","crossOrigin","src","addEventListener","width","height","canvas","document","createElement","i","length"],"mappings":"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"} -------------------------------------------------------------------------------- /dist/colority.es.min.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"colority.es.min.js","sources":["../src/index.ts"],"sourcesContent":["export default function colority(imageURL: string, callback: (colors: []) => void, options?: {\n skip: number\n}) {\n if (!(this instanceof colority)) return new colority(imageURL, callback, options);\n\n this.imageURL = imageURL;\n this.options = {};\n this.callback = () => {};\n\n if (options === undefined) {\n this.callback = callback;\n } else {\n this.options = callback;\n this.callback = options;\n }\n\n preload(this.imageURL, image => {\n const context = getContext(image.naturalWidth, image.naturalHeight);\n context.drawImage(image, 0, 0);\n const imageData = context.getImageData(0, 0, image.naturalWidth, image.naturalHeight).data;\n const colors = {};\n const results = [];\n\n transformColors(imageData, this.options.skip || 10, rgb => colors[rgb] = rgb in colors ? colors[rgb] + 1 : 1);\n\n mapColors(colors, (key, value) => {\n results.push({\n color: key,\n count: value,\n });\n });\n this.callback(results.sort((a, b) => b.count - a.count).map(result => result.color));\n });\n}\n\nfunction preload(imageURL: string, done: (image: HTMLImageElement) => void) {\n const image: HTMLImageElement = new Image();\n image.crossOrigin = '*';\n image.src = imageURL;\n image.addEventListener('load', () => done(image));\n image.addEventListener('error', () => done(image));\n}\n\nfunction getContext(width: number, height: number): CanvasRenderingContext2D {\n const canvas: HTMLCanvasElement = document.createElement('canvas');\n canvas.width = width;\n canvas.height = height;\n return canvas.getContext('2d');\n}\n\nfunction transformColors(data: Uint8ClampedArray, skip: number, callback: (color: string) => void) {\n for (let i = 0; i < data.length; i += 4 * skip) {\n callback(`rgb(${data[i]},${data[i + 1]},${data[i + 2]})`);\n }\n}\n\nfunction mapColors(data: object, callback: (key: string, value: any) => void) {\n for (let key in data) {\n callback(key, data[key]);\n }\n}\n"],"names":["colority","imageURL","callback","options","preload","image","context","getContext","naturalWidth","naturalHeight","drawImage","imageData","getImageData","data","colors","results","transformColors","_this","skip","rgb","mapColors","key","value","push","color","count","sort","a","b","map","result","done","Image","crossOrigin","src","addEventListener","width","height","canvas","document","createElement","i","length"],"mappings":"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"} -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@^7.0.0": 6 | version "7.0.0" 7 | resolved "http://npm.meitu-int.com/@babel%2fcode-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" 8 | dependencies: 9 | "@babel/highlight" "^7.0.0" 10 | 11 | "@babel/core@^7.0.0": 12 | version "7.2.2" 13 | resolved "http://npm.meitu-int.com/@babel%2fcore/-/core-7.2.2.tgz#07adba6dde27bb5ad8d8672f15fde3e08184a687" 14 | dependencies: 15 | "@babel/code-frame" "^7.0.0" 16 | "@babel/generator" "^7.2.2" 17 | "@babel/helpers" "^7.2.0" 18 | "@babel/parser" "^7.2.2" 19 | "@babel/template" "^7.2.2" 20 | "@babel/traverse" "^7.2.2" 21 | "@babel/types" "^7.2.2" 22 | convert-source-map "^1.1.0" 23 | debug "^4.1.0" 24 | json5 "^2.1.0" 25 | lodash "^4.17.10" 26 | resolve "^1.3.2" 27 | semver "^5.4.1" 28 | source-map "^0.5.0" 29 | 30 | "@babel/generator@^7.2.2": 31 | version "7.2.2" 32 | resolved "http://npm.meitu-int.com/@babel%2fgenerator/-/generator-7.2.2.tgz#18c816c70962640eab42fe8cae5f3947a5c65ccc" 33 | dependencies: 34 | "@babel/types" "^7.2.2" 35 | jsesc "^2.5.1" 36 | lodash "^4.17.10" 37 | source-map "^0.5.0" 38 | trim-right "^1.0.1" 39 | 40 | "@babel/helper-function-name@^7.1.0": 41 | version "7.1.0" 42 | resolved "http://npm.meitu-int.com/@babel%2fhelper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" 43 | dependencies: 44 | "@babel/helper-get-function-arity" "^7.0.0" 45 | "@babel/template" "^7.1.0" 46 | "@babel/types" "^7.0.0" 47 | 48 | "@babel/helper-get-function-arity@^7.0.0": 49 | version "7.0.0" 50 | resolved "http://npm.meitu-int.com/@babel%2fhelper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" 51 | dependencies: 52 | "@babel/types" "^7.0.0" 53 | 54 | "@babel/helper-split-export-declaration@^7.0.0": 55 | version "7.0.0" 56 | resolved "http://npm.meitu-int.com/@babel%2fhelper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz#3aae285c0311c2ab095d997b8c9a94cad547d813" 57 | dependencies: 58 | "@babel/types" "^7.0.0" 59 | 60 | "@babel/helpers@^7.2.0": 61 | version "7.2.0" 62 | resolved "http://npm.meitu-int.com/@babel%2fhelpers/-/helpers-7.2.0.tgz#8335f3140f3144270dc63c4732a4f8b0a50b7a21" 63 | dependencies: 64 | "@babel/template" "^7.1.2" 65 | "@babel/traverse" "^7.1.5" 66 | "@babel/types" "^7.2.0" 67 | 68 | "@babel/highlight@^7.0.0": 69 | version "7.0.0" 70 | resolved "http://npm.meitu-int.com/@babel%2fhighlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" 71 | dependencies: 72 | chalk "^2.0.0" 73 | esutils "^2.0.2" 74 | js-tokens "^4.0.0" 75 | 76 | "@babel/parser@^7.2.2", "@babel/parser@^7.2.3": 77 | version "7.2.3" 78 | resolved "http://npm.meitu-int.com/@babel%2fparser/-/parser-7.2.3.tgz#32f5df65744b70888d17872ec106b02434ba1489" 79 | 80 | "@babel/template@^7.1.0", "@babel/template@^7.1.2", "@babel/template@^7.2.2": 81 | version "7.2.2" 82 | resolved "http://npm.meitu-int.com/@babel%2ftemplate/-/template-7.2.2.tgz#005b3fdf0ed96e88041330379e0da9a708eb2907" 83 | dependencies: 84 | "@babel/code-frame" "^7.0.0" 85 | "@babel/parser" "^7.2.2" 86 | "@babel/types" "^7.2.2" 87 | 88 | "@babel/traverse@^7.1.5", "@babel/traverse@^7.2.2": 89 | version "7.2.3" 90 | resolved "http://npm.meitu-int.com/@babel%2ftraverse/-/traverse-7.2.3.tgz#7ff50cefa9c7c0bd2d81231fdac122f3957748d8" 91 | dependencies: 92 | "@babel/code-frame" "^7.0.0" 93 | "@babel/generator" "^7.2.2" 94 | "@babel/helper-function-name" "^7.1.0" 95 | "@babel/helper-split-export-declaration" "^7.0.0" 96 | "@babel/parser" "^7.2.3" 97 | "@babel/types" "^7.2.2" 98 | debug "^4.1.0" 99 | globals "^11.1.0" 100 | lodash "^4.17.10" 101 | 102 | "@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.2.2": 103 | version "7.2.2" 104 | resolved "http://npm.meitu-int.com/@babel%2ftypes/-/types-7.2.2.tgz#44e10fc24e33af524488b716cdaee5360ea8ed1e" 105 | dependencies: 106 | esutils "^2.0.2" 107 | lodash "^4.17.10" 108 | to-fast-properties "^2.0.0" 109 | 110 | "@comandeer/babel-plugin-banner@^4.0.0": 111 | version "4.1.0" 112 | resolved "http://npm.meitu-int.com/@comandeer%2fbabel-plugin-banner/-/babel-plugin-banner-4.1.0.tgz#5f9f22f3ba5a4e87d0c972c402f039c6eeffc079" 113 | 114 | ansi-styles@^3.1.0: 115 | version "3.2.0" 116 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88" 117 | dependencies: 118 | color-convert "^1.9.0" 119 | 120 | arr-diff@^2.0.0: 121 | version "2.0.0" 122 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" 123 | dependencies: 124 | arr-flatten "^1.0.1" 125 | 126 | arr-flatten@^1.0.1: 127 | version "1.1.0" 128 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" 129 | 130 | array-unique@^0.2.1: 131 | version "0.2.1" 132 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" 133 | 134 | babel-helper-evaluate-path@^0.5.0: 135 | version "0.5.0" 136 | resolved "http://npm.meitu-int.com/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.5.0.tgz#a62fa9c4e64ff7ea5cea9353174ef023a900a67c" 137 | 138 | babel-helper-flip-expressions@^0.4.3: 139 | version "0.4.3" 140 | resolved "http://npm.meitu-int.com/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.4.3.tgz#3696736a128ac18bc25254b5f40a22ceb3c1d3fd" 141 | 142 | babel-helper-is-nodes-equiv@^0.0.1: 143 | version "0.0.1" 144 | resolved "http://npm.meitu-int.com/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz#34e9b300b1479ddd98ec77ea0bbe9342dfe39684" 145 | 146 | babel-helper-is-void-0@^0.4.3: 147 | version "0.4.3" 148 | resolved "http://npm.meitu-int.com/babel-helper-is-void-0/-/babel-helper-is-void-0-0.4.3.tgz#7d9c01b4561e7b95dbda0f6eee48f5b60e67313e" 149 | 150 | babel-helper-mark-eval-scopes@^0.4.3: 151 | version "0.4.3" 152 | resolved "http://npm.meitu-int.com/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.4.3.tgz#d244a3bef9844872603ffb46e22ce8acdf551562" 153 | 154 | babel-helper-remove-or-void@^0.4.3: 155 | version "0.4.3" 156 | resolved "http://npm.meitu-int.com/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.4.3.tgz#a4f03b40077a0ffe88e45d07010dee241ff5ae60" 157 | 158 | babel-helper-to-multiple-sequence-expressions@^0.5.0: 159 | version "0.5.0" 160 | resolved "http://npm.meitu-int.com/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.5.0.tgz#a3f924e3561882d42fcf48907aa98f7979a4588d" 161 | 162 | babel-plugin-minify-builtins@^0.5.0: 163 | version "0.5.0" 164 | resolved "http://npm.meitu-int.com/babel-plugin-minify-builtins/-/babel-plugin-minify-builtins-0.5.0.tgz#31eb82ed1a0d0efdc31312f93b6e4741ce82c36b" 165 | 166 | babel-plugin-minify-constant-folding@^0.5.0: 167 | version "0.5.0" 168 | resolved "http://npm.meitu-int.com/babel-plugin-minify-constant-folding/-/babel-plugin-minify-constant-folding-0.5.0.tgz#f84bc8dbf6a561e5e350ff95ae216b0ad5515b6e" 169 | dependencies: 170 | babel-helper-evaluate-path "^0.5.0" 171 | 172 | babel-plugin-minify-dead-code-elimination@^0.5.0: 173 | version "0.5.0" 174 | resolved "http://npm.meitu-int.com/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.5.0.tgz#d23ef5445238ad06e8addf5c1cf6aec835bcda87" 175 | dependencies: 176 | babel-helper-evaluate-path "^0.5.0" 177 | babel-helper-mark-eval-scopes "^0.4.3" 178 | babel-helper-remove-or-void "^0.4.3" 179 | lodash.some "^4.6.0" 180 | 181 | babel-plugin-minify-flip-comparisons@^0.4.3: 182 | version "0.4.3" 183 | resolved "http://npm.meitu-int.com/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.4.3.tgz#00ca870cb8f13b45c038b3c1ebc0f227293c965a" 184 | dependencies: 185 | babel-helper-is-void-0 "^0.4.3" 186 | 187 | babel-plugin-minify-guarded-expressions@^0.4.3: 188 | version "0.4.3" 189 | resolved "http://npm.meitu-int.com/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.4.3.tgz#cc709b4453fd21b1f302877444c89f88427ce397" 190 | dependencies: 191 | babel-helper-flip-expressions "^0.4.3" 192 | 193 | babel-plugin-minify-infinity@^0.4.3: 194 | version "0.4.3" 195 | resolved "http://npm.meitu-int.com/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.4.3.tgz#dfb876a1b08a06576384ef3f92e653ba607b39ca" 196 | 197 | babel-plugin-minify-mangle-names@^0.5.0: 198 | version "0.5.0" 199 | resolved "http://npm.meitu-int.com/babel-plugin-minify-mangle-names/-/babel-plugin-minify-mangle-names-0.5.0.tgz#bcddb507c91d2c99e138bd6b17a19c3c271e3fd3" 200 | dependencies: 201 | babel-helper-mark-eval-scopes "^0.4.3" 202 | 203 | babel-plugin-minify-numeric-literals@^0.4.3: 204 | version "0.4.3" 205 | resolved "http://npm.meitu-int.com/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.4.3.tgz#8e4fd561c79f7801286ff60e8c5fd9deee93c0bc" 206 | 207 | babel-plugin-minify-replace@^0.5.0: 208 | version "0.5.0" 209 | resolved "http://npm.meitu-int.com/babel-plugin-minify-replace/-/babel-plugin-minify-replace-0.5.0.tgz#d3e2c9946c9096c070efc96761ce288ec5c3f71c" 210 | 211 | babel-plugin-minify-simplify@^0.5.0: 212 | version "0.5.0" 213 | resolved "http://npm.meitu-int.com/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.5.0.tgz#1f090018afb90d8b54d3d027fd8a4927f243da6f" 214 | dependencies: 215 | babel-helper-flip-expressions "^0.4.3" 216 | babel-helper-is-nodes-equiv "^0.0.1" 217 | babel-helper-to-multiple-sequence-expressions "^0.5.0" 218 | 219 | babel-plugin-minify-type-constructors@^0.4.3: 220 | version "0.4.3" 221 | resolved "http://npm.meitu-int.com/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.4.3.tgz#1bc6f15b87f7ab1085d42b330b717657a2156500" 222 | dependencies: 223 | babel-helper-is-void-0 "^0.4.3" 224 | 225 | babel-plugin-transform-inline-consecutive-adds@^0.4.3: 226 | version "0.4.3" 227 | resolved "http://npm.meitu-int.com/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.4.3.tgz#323d47a3ea63a83a7ac3c811ae8e6941faf2b0d1" 228 | 229 | babel-plugin-transform-member-expression-literals@^6.9.4: 230 | version "6.9.4" 231 | resolved "http://npm.meitu-int.com/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.4.tgz#37039c9a0c3313a39495faac2ff3a6b5b9d038bf" 232 | 233 | babel-plugin-transform-merge-sibling-variables@^6.9.4: 234 | version "6.9.4" 235 | resolved "http://npm.meitu-int.com/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.4.tgz#85b422fc3377b449c9d1cde44087203532401dae" 236 | 237 | babel-plugin-transform-minify-booleans@^6.9.4: 238 | version "6.9.4" 239 | resolved "http://npm.meitu-int.com/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.4.tgz#acbb3e56a3555dd23928e4b582d285162dd2b198" 240 | 241 | babel-plugin-transform-property-literals@^6.9.4: 242 | version "6.9.4" 243 | resolved "http://npm.meitu-int.com/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.4.tgz#98c1d21e255736573f93ece54459f6ce24985d39" 244 | dependencies: 245 | esutils "^2.0.2" 246 | 247 | babel-plugin-transform-regexp-constructors@^0.4.3: 248 | version "0.4.3" 249 | resolved "http://npm.meitu-int.com/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.4.3.tgz#58b7775b63afcf33328fae9a5f88fbd4fb0b4965" 250 | 251 | babel-plugin-transform-remove-console@^6.9.4: 252 | version "6.9.4" 253 | resolved "http://npm.meitu-int.com/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz#b980360c067384e24b357a588d807d3c83527780" 254 | 255 | babel-plugin-transform-remove-debugger@^6.9.4: 256 | version "6.9.4" 257 | resolved "http://npm.meitu-int.com/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.4.tgz#42b727631c97978e1eb2d199a7aec84a18339ef2" 258 | 259 | babel-plugin-transform-remove-undefined@^0.5.0: 260 | version "0.5.0" 261 | resolved "http://npm.meitu-int.com/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.5.0.tgz#80208b31225766c630c97fa2d288952056ea22dd" 262 | dependencies: 263 | babel-helper-evaluate-path "^0.5.0" 264 | 265 | babel-plugin-transform-simplify-comparison-operators@^6.9.4: 266 | version "6.9.4" 267 | resolved "http://npm.meitu-int.com/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.4.tgz#f62afe096cab0e1f68a2d753fdf283888471ceb9" 268 | 269 | babel-plugin-transform-undefined-to-void@^6.9.4: 270 | version "6.9.4" 271 | resolved "http://npm.meitu-int.com/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.4.tgz#be241ca81404030678b748717322b89d0c8fe280" 272 | 273 | babel-preset-minify@^0.5.0: 274 | version "0.5.0" 275 | resolved "http://npm.meitu-int.com/babel-preset-minify/-/babel-preset-minify-0.5.0.tgz#e25bb8d3590087af02b650967159a77c19bfb96b" 276 | dependencies: 277 | babel-plugin-minify-builtins "^0.5.0" 278 | babel-plugin-minify-constant-folding "^0.5.0" 279 | babel-plugin-minify-dead-code-elimination "^0.5.0" 280 | babel-plugin-minify-flip-comparisons "^0.4.3" 281 | babel-plugin-minify-guarded-expressions "^0.4.3" 282 | babel-plugin-minify-infinity "^0.4.3" 283 | babel-plugin-minify-mangle-names "^0.5.0" 284 | babel-plugin-minify-numeric-literals "^0.4.3" 285 | babel-plugin-minify-replace "^0.5.0" 286 | babel-plugin-minify-simplify "^0.5.0" 287 | babel-plugin-minify-type-constructors "^0.4.3" 288 | babel-plugin-transform-inline-consecutive-adds "^0.4.3" 289 | babel-plugin-transform-member-expression-literals "^6.9.4" 290 | babel-plugin-transform-merge-sibling-variables "^6.9.4" 291 | babel-plugin-transform-minify-booleans "^6.9.4" 292 | babel-plugin-transform-property-literals "^6.9.4" 293 | babel-plugin-transform-regexp-constructors "^0.4.3" 294 | babel-plugin-transform-remove-console "^6.9.4" 295 | babel-plugin-transform-remove-debugger "^6.9.4" 296 | babel-plugin-transform-remove-undefined "^0.5.0" 297 | babel-plugin-transform-simplify-comparison-operators "^6.9.4" 298 | babel-plugin-transform-undefined-to-void "^6.9.4" 299 | lodash.isplainobject "^4.0.6" 300 | 301 | balanced-match@^1.0.0: 302 | version "1.0.0" 303 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 304 | 305 | brace-expansion@^1.1.7: 306 | version "1.1.8" 307 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" 308 | dependencies: 309 | balanced-match "^1.0.0" 310 | concat-map "0.0.1" 311 | 312 | braces@^1.8.2: 313 | version "1.8.5" 314 | resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" 315 | dependencies: 316 | expand-range "^1.8.1" 317 | preserve "^0.2.0" 318 | repeat-element "^1.1.2" 319 | 320 | browser-resolve@^1.11.0: 321 | version "1.11.2" 322 | resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce" 323 | dependencies: 324 | resolve "1.1.7" 325 | 326 | browser-stdout@1.3.0: 327 | version "1.3.0" 328 | resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f" 329 | 330 | builtin-modules@^1.1.0: 331 | version "1.1.1" 332 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" 333 | 334 | chalk@^2.0.0: 335 | version "2.1.0" 336 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.1.0.tgz#ac5becf14fa21b99c6c92ca7a7d7cfd5b17e743e" 337 | dependencies: 338 | ansi-styles "^3.1.0" 339 | escape-string-regexp "^1.0.5" 340 | supports-color "^4.0.0" 341 | 342 | color-convert@^1.9.0: 343 | version "1.9.0" 344 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" 345 | dependencies: 346 | color-name "^1.1.1" 347 | 348 | color-name@^1.1.1: 349 | version "1.1.3" 350 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 351 | 352 | commander@2.9.0: 353 | version "2.9.0" 354 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" 355 | dependencies: 356 | graceful-readlink ">= 1.0.0" 357 | 358 | concat-map@0.0.1: 359 | version "0.0.1" 360 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 361 | 362 | convert-source-map@^1.1.0: 363 | version "1.6.0" 364 | resolved "http://npm.meitu-int.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" 365 | dependencies: 366 | safe-buffer "~5.1.1" 367 | 368 | debug@2.6.8: 369 | version "2.6.8" 370 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" 371 | dependencies: 372 | ms "2.0.0" 373 | 374 | debug@^4.1.0: 375 | version "4.1.1" 376 | resolved "http://npm.meitu-int.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" 377 | dependencies: 378 | ms "^2.1.1" 379 | 380 | diff@3.2.0: 381 | version "3.2.0" 382 | resolved "https://registry.yarnpkg.com/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9" 383 | 384 | escape-string-regexp@1.0.5, escape-string-regexp@^1.0.5: 385 | version "1.0.5" 386 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 387 | 388 | estree-walker@^0.5.2: 389 | version "0.5.2" 390 | resolved "http://npm.meitu-int.com/estree-walker/-/estree-walker-0.5.2.tgz#d3850be7529c9580d815600b53126515e146dd39" 391 | 392 | esutils@^2.0.2: 393 | version "2.0.2" 394 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 395 | 396 | expand-brackets@^0.1.4: 397 | version "0.1.5" 398 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" 399 | dependencies: 400 | is-posix-bracket "^0.1.0" 401 | 402 | expand-range@^1.8.1: 403 | version "1.8.2" 404 | resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" 405 | dependencies: 406 | fill-range "^2.1.0" 407 | 408 | expect.js: 409 | version "0.3.1" 410 | resolved "https://registry.yarnpkg.com/expect.js/-/expect.js-0.3.1.tgz#b0a59a0d2eff5437544ebf0ceaa6015841d09b5b" 411 | 412 | extglob@^0.3.1: 413 | version "0.3.2" 414 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" 415 | dependencies: 416 | is-extglob "^1.0.0" 417 | 418 | filename-regex@^2.0.0: 419 | version "2.0.1" 420 | resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" 421 | 422 | fill-range@^2.1.0: 423 | version "2.2.3" 424 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" 425 | dependencies: 426 | is-number "^2.1.0" 427 | isobject "^2.0.0" 428 | randomatic "^1.1.3" 429 | repeat-element "^1.1.2" 430 | repeat-string "^1.5.2" 431 | 432 | for-in@^1.0.1: 433 | version "1.0.2" 434 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" 435 | 436 | for-own@^0.1.4: 437 | version "0.1.5" 438 | resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" 439 | dependencies: 440 | for-in "^1.0.1" 441 | 442 | fs.realpath@^1.0.0: 443 | version "1.0.0" 444 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 445 | 446 | glob-base@^0.3.0: 447 | version "0.3.0" 448 | resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" 449 | dependencies: 450 | glob-parent "^2.0.0" 451 | is-glob "^2.0.0" 452 | 453 | glob-parent@^2.0.0: 454 | version "2.0.0" 455 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" 456 | dependencies: 457 | is-glob "^2.0.0" 458 | 459 | glob@7.1.1: 460 | version "7.1.1" 461 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" 462 | dependencies: 463 | fs.realpath "^1.0.0" 464 | inflight "^1.0.4" 465 | inherits "2" 466 | minimatch "^3.0.2" 467 | once "^1.3.0" 468 | path-is-absolute "^1.0.0" 469 | 470 | globals@^11.1.0: 471 | version "11.10.0" 472 | resolved "http://npm.meitu-int.com/globals/-/globals-11.10.0.tgz#1e09776dffda5e01816b3bb4077c8b59c24eaa50" 473 | 474 | "graceful-readlink@>= 1.0.0": 475 | version "1.0.1" 476 | resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" 477 | 478 | growl@1.9.2: 479 | version "1.9.2" 480 | resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f" 481 | 482 | has-flag@^1.0.0: 483 | version "1.0.0" 484 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" 485 | 486 | has-flag@^2.0.0: 487 | version "2.0.0" 488 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" 489 | 490 | he@1.1.1: 491 | version "1.1.1" 492 | resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" 493 | 494 | inflight@^1.0.4: 495 | version "1.0.6" 496 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 497 | dependencies: 498 | once "^1.3.0" 499 | wrappy "1" 500 | 501 | inherits@2: 502 | version "2.0.3" 503 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 504 | 505 | is-buffer@^1.1.5: 506 | version "1.1.5" 507 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" 508 | 509 | is-dotfile@^1.0.0: 510 | version "1.0.3" 511 | resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" 512 | 513 | is-equal-shallow@^0.1.3: 514 | version "0.1.3" 515 | resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" 516 | dependencies: 517 | is-primitive "^2.0.0" 518 | 519 | is-extendable@^0.1.1: 520 | version "0.1.1" 521 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 522 | 523 | is-extglob@^1.0.0: 524 | version "1.0.0" 525 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" 526 | 527 | is-glob@^2.0.0, is-glob@^2.0.1: 528 | version "2.0.1" 529 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" 530 | dependencies: 531 | is-extglob "^1.0.0" 532 | 533 | is-module@^1.0.0: 534 | version "1.0.0" 535 | resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" 536 | 537 | is-number@^2.1.0: 538 | version "2.1.0" 539 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" 540 | dependencies: 541 | kind-of "^3.0.2" 542 | 543 | is-number@^3.0.0: 544 | version "3.0.0" 545 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" 546 | dependencies: 547 | kind-of "^3.0.2" 548 | 549 | is-posix-bracket@^0.1.0: 550 | version "0.1.1" 551 | resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" 552 | 553 | is-primitive@^2.0.0: 554 | version "2.0.0" 555 | resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" 556 | 557 | isarray@1.0.0: 558 | version "1.0.0" 559 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 560 | 561 | isobject@^2.0.0: 562 | version "2.1.0" 563 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" 564 | dependencies: 565 | isarray "1.0.0" 566 | 567 | js-tokens@^4.0.0: 568 | version "4.0.0" 569 | resolved "http://npm.meitu-int.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 570 | 571 | jsesc@^2.5.1: 572 | version "2.5.2" 573 | resolved "http://npm.meitu-int.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 574 | 575 | json3@3.3.2: 576 | version "3.3.2" 577 | resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" 578 | 579 | json5@^2.1.0: 580 | version "2.1.0" 581 | resolved "http://npm.meitu-int.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850" 582 | dependencies: 583 | minimist "^1.2.0" 584 | 585 | kind-of@^3.0.2: 586 | version "3.2.2" 587 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" 588 | dependencies: 589 | is-buffer "^1.1.5" 590 | 591 | kind-of@^4.0.0: 592 | version "4.0.0" 593 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" 594 | dependencies: 595 | is-buffer "^1.1.5" 596 | 597 | lodash._baseassign@^3.0.0: 598 | version "3.2.0" 599 | resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e" 600 | dependencies: 601 | lodash._basecopy "^3.0.0" 602 | lodash.keys "^3.0.0" 603 | 604 | lodash._basecopy@^3.0.0: 605 | version "3.0.1" 606 | resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" 607 | 608 | lodash._basecreate@^3.0.0: 609 | version "3.0.3" 610 | resolved "https://registry.yarnpkg.com/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz#1bc661614daa7fc311b7d03bf16806a0213cf821" 611 | 612 | lodash._getnative@^3.0.0: 613 | version "3.9.1" 614 | resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" 615 | 616 | lodash._isiterateecall@^3.0.0: 617 | version "3.0.9" 618 | resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" 619 | 620 | lodash.create@3.1.1: 621 | version "3.1.1" 622 | resolved "https://registry.yarnpkg.com/lodash.create/-/lodash.create-3.1.1.tgz#d7f2849f0dbda7e04682bb8cd72ab022461debe7" 623 | dependencies: 624 | lodash._baseassign "^3.0.0" 625 | lodash._basecreate "^3.0.0" 626 | lodash._isiterateecall "^3.0.0" 627 | 628 | lodash.isarguments@^3.0.0: 629 | version "3.1.0" 630 | resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" 631 | 632 | lodash.isarray@^3.0.0: 633 | version "3.0.4" 634 | resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" 635 | 636 | lodash.isplainobject@^4.0.6: 637 | version "4.0.6" 638 | resolved "http://npm.meitu-int.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" 639 | 640 | lodash.keys@^3.0.0: 641 | version "3.1.2" 642 | resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" 643 | dependencies: 644 | lodash._getnative "^3.0.0" 645 | lodash.isarguments "^3.0.0" 646 | lodash.isarray "^3.0.0" 647 | 648 | lodash.some@^4.6.0: 649 | version "4.6.0" 650 | resolved "http://npm.meitu-int.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d" 651 | 652 | lodash@^4.17.10: 653 | version "4.17.11" 654 | resolved "http://npm.meitu-int.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" 655 | 656 | micromatch@^2.3.11: 657 | version "2.3.11" 658 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" 659 | dependencies: 660 | arr-diff "^2.0.0" 661 | array-unique "^0.2.1" 662 | braces "^1.8.2" 663 | expand-brackets "^0.1.4" 664 | extglob "^0.3.1" 665 | filename-regex "^2.0.0" 666 | is-extglob "^1.0.0" 667 | is-glob "^2.0.1" 668 | kind-of "^3.0.2" 669 | normalize-path "^2.0.1" 670 | object.omit "^2.0.0" 671 | parse-glob "^3.0.4" 672 | regex-cache "^0.4.2" 673 | 674 | minimatch@^3.0.2: 675 | version "3.0.4" 676 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 677 | dependencies: 678 | brace-expansion "^1.1.7" 679 | 680 | minimist@0.0.8: 681 | version "0.0.8" 682 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 683 | 684 | minimist@^1.2.0: 685 | version "1.2.0" 686 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 687 | 688 | mkdirp@0.5.1: 689 | version "0.5.1" 690 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 691 | dependencies: 692 | minimist "0.0.8" 693 | 694 | mocha: 695 | version "3.5.3" 696 | resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.5.3.tgz#1e0480fe36d2da5858d1eb6acc38418b26eaa20d" 697 | dependencies: 698 | browser-stdout "1.3.0" 699 | commander "2.9.0" 700 | debug "2.6.8" 701 | diff "3.2.0" 702 | escape-string-regexp "1.0.5" 703 | glob "7.1.1" 704 | growl "1.9.2" 705 | he "1.1.1" 706 | json3 "3.3.2" 707 | lodash.create "3.1.1" 708 | mkdirp "0.5.1" 709 | supports-color "3.1.2" 710 | 711 | ms@2.0.0: 712 | version "2.0.0" 713 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 714 | 715 | ms@^2.1.1: 716 | version "2.1.1" 717 | resolved "http://npm.meitu-int.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" 718 | 719 | normalize-path@^2.0.1: 720 | version "2.1.1" 721 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" 722 | dependencies: 723 | remove-trailing-separator "^1.0.1" 724 | 725 | object.omit@^2.0.0: 726 | version "2.0.1" 727 | resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" 728 | dependencies: 729 | for-own "^0.1.4" 730 | is-extendable "^0.1.1" 731 | 732 | once@^1.3.0: 733 | version "1.4.0" 734 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 735 | dependencies: 736 | wrappy "1" 737 | 738 | parse-glob@^3.0.4: 739 | version "3.0.4" 740 | resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" 741 | dependencies: 742 | glob-base "^0.3.0" 743 | is-dotfile "^1.0.0" 744 | is-extglob "^1.0.0" 745 | is-glob "^2.0.0" 746 | 747 | path-is-absolute@^1.0.0: 748 | version "1.0.1" 749 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 750 | 751 | path-parse@^1.0.5: 752 | version "1.0.5" 753 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" 754 | 755 | path-parse@^1.0.6: 756 | version "1.0.6" 757 | resolved "http://npm.meitu-int.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" 758 | 759 | preserve@^0.2.0: 760 | version "0.2.0" 761 | resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" 762 | 763 | randomatic@^1.1.3: 764 | version "1.1.7" 765 | resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" 766 | dependencies: 767 | is-number "^3.0.0" 768 | kind-of "^4.0.0" 769 | 770 | regex-cache@^0.4.2: 771 | version "0.4.4" 772 | resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" 773 | dependencies: 774 | is-equal-shallow "^0.1.3" 775 | 776 | remove-trailing-separator@^1.0.1: 777 | version "1.1.0" 778 | resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" 779 | 780 | repeat-element@^1.1.2: 781 | version "1.1.2" 782 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" 783 | 784 | repeat-string@^1.5.2: 785 | version "1.6.1" 786 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 787 | 788 | resolve@1.1.7: 789 | version "1.1.7" 790 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" 791 | 792 | resolve@^1.1.6: 793 | version "1.4.0" 794 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.4.0.tgz#a75be01c53da25d934a98ebd0e4c4a7312f92a86" 795 | dependencies: 796 | path-parse "^1.0.5" 797 | 798 | resolve@^1.3.2, resolve@^1.8.1: 799 | version "1.9.0" 800 | resolved "http://npm.meitu-int.com/resolve/-/resolve-1.9.0.tgz#a14c6fdfa8f92a7df1d996cb7105fa744658ea06" 801 | dependencies: 802 | path-parse "^1.0.6" 803 | 804 | rollup-plugin-alias@^1.5.1: 805 | version "1.5.1" 806 | resolved "http://npm.meitu-int.com/rollup-plugin-alias/-/rollup-plugin-alias-1.5.1.tgz#80cce3a967befda5b09c86abc14a043a78035b46" 807 | dependencies: 808 | slash "^2.0.0" 809 | 810 | rollup-plugin-babel-minify@^6.2.0: 811 | version "6.2.0" 812 | resolved "http://npm.meitu-int.com/rollup-plugin-babel-minify/-/rollup-plugin-babel-minify-6.2.0.tgz#d101fa6c1ff79c67b2af91632a87284bf1bd7f8b" 813 | dependencies: 814 | "@babel/core" "^7.0.0" 815 | "@comandeer/babel-plugin-banner" "^4.0.0" 816 | babel-preset-minify "^0.5.0" 817 | sourcemap-codec "^1.4.3" 818 | 819 | rollup-plugin-node-resolve: 820 | version "3.0.0" 821 | resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.0.0.tgz#8b897c4c3030d5001277b0514b25d2ca09683ee0" 822 | dependencies: 823 | browser-resolve "^1.11.0" 824 | builtin-modules "^1.1.0" 825 | is-module "^1.0.0" 826 | resolve "^1.1.6" 827 | 828 | rollup-plugin-typescript@^1.0.0: 829 | version "1.0.0" 830 | resolved "http://npm.meitu-int.com/rollup-plugin-typescript/-/rollup-plugin-typescript-1.0.0.tgz#f7bcefe576011d9d2ebcc725b542ef35fb5005d4" 831 | dependencies: 832 | resolve "^1.8.1" 833 | rollup-pluginutils "^2.3.1" 834 | 835 | rollup-pluginutils@^2.3.1: 836 | version "2.3.3" 837 | resolved "http://npm.meitu-int.com/rollup-pluginutils/-/rollup-pluginutils-2.3.3.tgz#3aad9b1eb3e7fe8262820818840bf091e5ae6794" 838 | dependencies: 839 | estree-walker "^0.5.2" 840 | micromatch "^2.3.11" 841 | 842 | safe-buffer@~5.1.1: 843 | version "5.1.1" 844 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" 845 | 846 | semver@^5.4.1: 847 | version "5.6.0" 848 | resolved "http://npm.meitu-int.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" 849 | 850 | slash@^2.0.0: 851 | version "2.0.0" 852 | resolved "http://npm.meitu-int.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" 853 | 854 | source-map@^0.5.0: 855 | version "0.5.7" 856 | resolved "http://npm.meitu-int.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 857 | 858 | sourcemap-codec@^1.4.3: 859 | version "1.4.4" 860 | resolved "http://npm.meitu-int.com/sourcemap-codec/-/sourcemap-codec-1.4.4.tgz#c63ea927c029dd6bd9a2b7fa03b3fec02ad56e9f" 861 | 862 | supports-color@3.1.2: 863 | version "3.1.2" 864 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5" 865 | dependencies: 866 | has-flag "^1.0.0" 867 | 868 | supports-color@^4.0.0: 869 | version "4.4.0" 870 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.4.0.tgz#883f7ddabc165142b2a61427f3352ded195d1a3e" 871 | dependencies: 872 | has-flag "^2.0.0" 873 | 874 | to-fast-properties@^2.0.0: 875 | version "2.0.0" 876 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 877 | 878 | trim-right@^1.0.1: 879 | version "1.0.1" 880 | resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" 881 | 882 | tslib@^1.9.3: 883 | version "1.9.3" 884 | resolved "http://npm.meitu-int.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" 885 | 886 | typescript@^3.2.2: 887 | version "3.2.2" 888 | resolved "http://npm.meitu-int.com/typescript/-/typescript-3.2.2.tgz#fe8101c46aa123f8353523ebdcf5730c2ae493e5" 889 | 890 | wrappy@1: 891 | version "1.0.2" 892 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 893 | --------------------------------------------------------------------------------