├── .gitignore ├── rollup.config.js ├── package.json ├── README.md ├── src └── index.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | lib 2 | node_modules 3 | yarn-error.log -------------------------------------------------------------------------------- /rollup.config.js: -------------------------------------------------------------------------------- 1 | import babel from "rollup-plugin-babel"; 2 | 3 | export default { 4 | input: "./src/index.js", 5 | output: { 6 | file: "./lib/index.js", 7 | format: "cjs", 8 | name: "bundle" 9 | }, 10 | plugins: [ 11 | babel({ 12 | exclude: "node_modules/**" 13 | }) 14 | ] 15 | }; -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "print-color", 3 | "version": "1.0.4", 4 | "description": "Helper utility for printing colored text in Node or the Browser.", 5 | "main": "lib/index.js", 6 | "scripts": { 7 | "build": "rollup -c" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/bvaughn/print-color" 12 | }, 13 | "author": "bvaughn", 14 | "license": "MIT", 15 | "devDependencies": { 16 | "@babel/core": "^7.16.7", 17 | "rollup": "^2.64.0", 18 | "rollup-plugin-babel": "^4.4.0" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # print-color 2 | Helper utility for printing colored text in Node or the Browser. 3 | 4 | This library was inspired by `chalk`. I wrote it because I often want to bounce between Node (Jest) and the browser when debugging a problem, and `chalk` only supports Node. 5 | 6 | ## Usage example 7 | ```js 8 | import {bold, red} from 'print-color'; 9 | 10 | red('This text will be red.'); 11 | red.bold('This text will be red and bold'); 12 | bold.red('This text will also be red and bold'); 13 | ``` 14 | 15 | ## Environments 16 | This utility works in the browser: 17 | 18 | Screen Shot of print-color demo in Node terminal 19 | 20 | It also works in Node: 21 | 22 | Screen Shot of print-color demo in Chrome console 23 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | const COLORS = { 2 | background: { 3 | bgBlack: { 4 | browser: [0, 0, 0], 5 | node: '\x1b[40m', 6 | }, 7 | bgRed: { 8 | browser: [255, 0, 0], 9 | node: '\x1b[41m', 10 | }, 11 | bgGreen: { 12 | browser: [0, 255, 0], 13 | node: '\x1b[42m', 14 | }, 15 | bgYellow: { 16 | browser: [255, 255, 0], 17 | node: '\x1b[43m', 18 | }, 19 | bgBlue: { 20 | browser: [0, 0, 255], 21 | node: '\x1b[44m', 22 | }, 23 | bgMagenta: { 24 | browser: [255, 0, 255], 25 | node: '\x1b[45m', 26 | }, 27 | bgCyan: { 28 | browser: [0, 255, 255], 29 | node: '\x1b[46m', 30 | }, 31 | bgWhite: { 32 | browser: [255, 255, 255], 33 | node: '\x1b[47m', 34 | }, 35 | }, 36 | foreground: { 37 | black: { 38 | browser: [0, 0, 0], 39 | node: '\x1b[30m', 40 | }, 41 | red: { 42 | browser: [255, 0, 0], 43 | node: '\x1b[31m', 44 | }, 45 | green: { 46 | browser: [0, 255, 0], 47 | node: '\x1b[32m', 48 | }, 49 | yellow: { 50 | browser: [255, 255, 0], 51 | node: '\x1b[33m', 52 | }, 53 | blue: { 54 | browser: [0, 0, 255], 55 | node: '\x1b[34m', 56 | }, 57 | magenta: { 58 | browser: [255, 0, 255], 59 | node: '\x1b[35m', 60 | }, 61 | cyan: { 62 | browser: [0, 255, 255], 63 | node: '\x1b[36m', 64 | }, 65 | white: { 66 | browser: [255, 255, 255], 67 | node: '\x1b[37m', 68 | }, 69 | }, 70 | }; 71 | 72 | const NODE_RESET = '\x1b[0m'; 73 | const NODE_BOLD = '\x1b[1m'; 74 | const NODE_DIM = '\x1b[2m'; 75 | 76 | const isNode = 77 | typeof process !== 'undefined' && 78 | process.versions != null && 79 | process.versions.node != null; 80 | 81 | const isBrowserDarkTheme = 82 | !isNode && 83 | typeof window.matchMedia === 'function' && 84 | window.matchMedia('(prefers-color-scheme: dark)').matches; 85 | 86 | function createColor(config = {}) { 87 | const {backgroundColor = '', weight = ''} = config; 88 | let {color = ''} = config; 89 | 90 | function print(...string) { 91 | if (isNode) { 92 | console.log(`${backgroundColor}${color}${weight}${string.join(' ')}${NODE_RESET}`); 93 | } else { 94 | if (!color) { 95 | color = isBrowserDarkTheme ? [255, 255, 255] : [0, 0, 0]; 96 | } 97 | 98 | let backgroundColorStyle = ''; 99 | if (backgroundColor) { 100 | backgroundColorStyle = `background-color: rgb(${backgroundColor.join( 101 | ',', 102 | )});`; 103 | } 104 | 105 | let colorStyle = ''; 106 | if (weight === NODE_DIM) { 107 | colorStyle = `color: rgba(${color.join(',')},0.5);`; 108 | } else { 109 | colorStyle = `color: rgb(${color.join(',')});`; 110 | } 111 | 112 | let weightStyle = ''; 113 | if (weight === NODE_BOLD) { 114 | weightStyle = 'font-weight: bold;'; 115 | } 116 | 117 | console.log( 118 | '%c%s', 119 | `${backgroundColorStyle}${colorStyle}${weightStyle}`, 120 | string.join(' '), 121 | ); 122 | } 123 | } 124 | 125 | for (const key in COLORS.background) { 126 | Object.defineProperty(print, key, { 127 | get: () => 128 | createColor({ 129 | ...config, 130 | backgroundColor: isNode 131 | ? COLORS.background[key].node 132 | : COLORS.background[key].browser, 133 | }), 134 | }); 135 | } 136 | 137 | for (const key in COLORS.foreground) { 138 | Object.defineProperty(print, key, { 139 | get: () => 140 | createColor({ 141 | ...config, 142 | color: isNode 143 | ? COLORS.foreground[key].node 144 | : COLORS.foreground[key].browser, 145 | }), 146 | }); 147 | } 148 | 149 | Object.defineProperty(print, 'bold', { 150 | get: () => 151 | createColor({ 152 | ...config, 153 | weight: NODE_BOLD, 154 | }), 155 | }); 156 | 157 | Object.defineProperty(print, 'dim', { 158 | get: () => 159 | createColor({ 160 | ...config, 161 | weight: NODE_DIM, 162 | }), 163 | }); 164 | 165 | return print; 166 | } 167 | 168 | const baseConfig = createColor(); 169 | 170 | export const { 171 | bold, 172 | dim, 173 | 174 | bgBlack, 175 | bgRed, 176 | bgGreen, 177 | bgYellow, 178 | bgBlue, 179 | bgMagenta, 180 | bgCyan, 181 | bgWhite, 182 | 183 | black, 184 | red, 185 | green, 186 | yellow, 187 | blue, 188 | magenta, 189 | cyan, 190 | white, 191 | } = baseConfig; 192 | -------------------------------------------------------------------------------- /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.16.7": 6 | version "7.16.7" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" 8 | integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== 9 | dependencies: 10 | "@babel/highlight" "^7.16.7" 11 | 12 | "@babel/compat-data@^7.16.4": 13 | version "7.16.8" 14 | resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.8.tgz#31560f9f29fdf1868de8cb55049538a1b9732a60" 15 | integrity sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q== 16 | 17 | "@babel/core@^7.16.7": 18 | version "7.16.7" 19 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.7.tgz#db990f931f6d40cb9b87a0dc7d2adc749f1dcbcf" 20 | integrity sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA== 21 | dependencies: 22 | "@babel/code-frame" "^7.16.7" 23 | "@babel/generator" "^7.16.7" 24 | "@babel/helper-compilation-targets" "^7.16.7" 25 | "@babel/helper-module-transforms" "^7.16.7" 26 | "@babel/helpers" "^7.16.7" 27 | "@babel/parser" "^7.16.7" 28 | "@babel/template" "^7.16.7" 29 | "@babel/traverse" "^7.16.7" 30 | "@babel/types" "^7.16.7" 31 | convert-source-map "^1.7.0" 32 | debug "^4.1.0" 33 | gensync "^1.0.0-beta.2" 34 | json5 "^2.1.2" 35 | semver "^6.3.0" 36 | source-map "^0.5.0" 37 | 38 | "@babel/generator@^7.16.7", "@babel/generator@^7.16.8": 39 | version "7.16.8" 40 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.8.tgz#359d44d966b8cd059d543250ce79596f792f2ebe" 41 | integrity sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw== 42 | dependencies: 43 | "@babel/types" "^7.16.8" 44 | jsesc "^2.5.1" 45 | source-map "^0.5.0" 46 | 47 | "@babel/helper-compilation-targets@^7.16.7": 48 | version "7.16.7" 49 | resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz#06e66c5f299601e6c7da350049315e83209d551b" 50 | integrity sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA== 51 | dependencies: 52 | "@babel/compat-data" "^7.16.4" 53 | "@babel/helper-validator-option" "^7.16.7" 54 | browserslist "^4.17.5" 55 | semver "^6.3.0" 56 | 57 | "@babel/helper-environment-visitor@^7.16.7": 58 | version "7.16.7" 59 | resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" 60 | integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== 61 | dependencies: 62 | "@babel/types" "^7.16.7" 63 | 64 | "@babel/helper-function-name@^7.16.7": 65 | version "7.16.7" 66 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f" 67 | integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA== 68 | dependencies: 69 | "@babel/helper-get-function-arity" "^7.16.7" 70 | "@babel/template" "^7.16.7" 71 | "@babel/types" "^7.16.7" 72 | 73 | "@babel/helper-get-function-arity@^7.16.7": 74 | version "7.16.7" 75 | resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419" 76 | integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw== 77 | dependencies: 78 | "@babel/types" "^7.16.7" 79 | 80 | "@babel/helper-hoist-variables@^7.16.7": 81 | version "7.16.7" 82 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" 83 | integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== 84 | dependencies: 85 | "@babel/types" "^7.16.7" 86 | 87 | "@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.16.7": 88 | version "7.16.7" 89 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" 90 | integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== 91 | dependencies: 92 | "@babel/types" "^7.16.7" 93 | 94 | "@babel/helper-module-transforms@^7.16.7": 95 | version "7.16.7" 96 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz#7665faeb721a01ca5327ddc6bba15a5cb34b6a41" 97 | integrity sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng== 98 | dependencies: 99 | "@babel/helper-environment-visitor" "^7.16.7" 100 | "@babel/helper-module-imports" "^7.16.7" 101 | "@babel/helper-simple-access" "^7.16.7" 102 | "@babel/helper-split-export-declaration" "^7.16.7" 103 | "@babel/helper-validator-identifier" "^7.16.7" 104 | "@babel/template" "^7.16.7" 105 | "@babel/traverse" "^7.16.7" 106 | "@babel/types" "^7.16.7" 107 | 108 | "@babel/helper-simple-access@^7.16.7": 109 | version "7.16.7" 110 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz#d656654b9ea08dbb9659b69d61063ccd343ff0f7" 111 | integrity sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g== 112 | dependencies: 113 | "@babel/types" "^7.16.7" 114 | 115 | "@babel/helper-split-export-declaration@^7.16.7": 116 | version "7.16.7" 117 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" 118 | integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== 119 | dependencies: 120 | "@babel/types" "^7.16.7" 121 | 122 | "@babel/helper-validator-identifier@^7.16.7": 123 | version "7.16.7" 124 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" 125 | integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== 126 | 127 | "@babel/helper-validator-option@^7.16.7": 128 | version "7.16.7" 129 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" 130 | integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== 131 | 132 | "@babel/helpers@^7.16.7": 133 | version "7.16.7" 134 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.7.tgz#7e3504d708d50344112767c3542fc5e357fffefc" 135 | integrity sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw== 136 | dependencies: 137 | "@babel/template" "^7.16.7" 138 | "@babel/traverse" "^7.16.7" 139 | "@babel/types" "^7.16.7" 140 | 141 | "@babel/highlight@^7.16.7": 142 | version "7.16.7" 143 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.7.tgz#81a01d7d675046f0d96f82450d9d9578bdfd6b0b" 144 | integrity sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw== 145 | dependencies: 146 | "@babel/helper-validator-identifier" "^7.16.7" 147 | chalk "^2.0.0" 148 | js-tokens "^4.0.0" 149 | 150 | "@babel/parser@^7.16.7", "@babel/parser@^7.16.8": 151 | version "7.16.8" 152 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.8.tgz#61c243a3875f7d0b0962b0543a33ece6ff2f1f17" 153 | integrity sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw== 154 | 155 | "@babel/template@^7.16.7": 156 | version "7.16.7" 157 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" 158 | integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== 159 | dependencies: 160 | "@babel/code-frame" "^7.16.7" 161 | "@babel/parser" "^7.16.7" 162 | "@babel/types" "^7.16.7" 163 | 164 | "@babel/traverse@^7.16.7": 165 | version "7.16.8" 166 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.8.tgz#bab2f2b09a5fe8a8d9cad22cbfe3ba1d126fef9c" 167 | integrity sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ== 168 | dependencies: 169 | "@babel/code-frame" "^7.16.7" 170 | "@babel/generator" "^7.16.8" 171 | "@babel/helper-environment-visitor" "^7.16.7" 172 | "@babel/helper-function-name" "^7.16.7" 173 | "@babel/helper-hoist-variables" "^7.16.7" 174 | "@babel/helper-split-export-declaration" "^7.16.7" 175 | "@babel/parser" "^7.16.8" 176 | "@babel/types" "^7.16.8" 177 | debug "^4.1.0" 178 | globals "^11.1.0" 179 | 180 | "@babel/types@^7.16.7", "@babel/types@^7.16.8": 181 | version "7.16.8" 182 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.8.tgz#0ba5da91dd71e0a4e7781a30f22770831062e3c1" 183 | integrity sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg== 184 | dependencies: 185 | "@babel/helper-validator-identifier" "^7.16.7" 186 | to-fast-properties "^2.0.0" 187 | 188 | ansi-styles@^3.2.1: 189 | version "3.2.1" 190 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 191 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 192 | dependencies: 193 | color-convert "^1.9.0" 194 | 195 | browserslist@^4.17.5: 196 | version "4.19.1" 197 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3" 198 | integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A== 199 | dependencies: 200 | caniuse-lite "^1.0.30001286" 201 | electron-to-chromium "^1.4.17" 202 | escalade "^3.1.1" 203 | node-releases "^2.0.1" 204 | picocolors "^1.0.0" 205 | 206 | caniuse-lite@^1.0.30001286: 207 | version "1.0.30001300" 208 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001300.tgz#11ab6c57d3eb6f964cba950401fd00a146786468" 209 | integrity sha512-cVjiJHWGcNlJi8TZVKNMnvMid3Z3TTdDHmLDzlOdIiZq138Exvo0G+G0wTdVYolxKb4AYwC+38pxodiInVtJSA== 210 | 211 | chalk@^2.0.0: 212 | version "2.4.2" 213 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 214 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 215 | dependencies: 216 | ansi-styles "^3.2.1" 217 | escape-string-regexp "^1.0.5" 218 | supports-color "^5.3.0" 219 | 220 | color-convert@^1.9.0: 221 | version "1.9.3" 222 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 223 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 224 | dependencies: 225 | color-name "1.1.3" 226 | 227 | color-name@1.1.3: 228 | version "1.1.3" 229 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 230 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 231 | 232 | convert-source-map@^1.7.0: 233 | version "1.8.0" 234 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" 235 | integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== 236 | dependencies: 237 | safe-buffer "~5.1.1" 238 | 239 | debug@^4.1.0: 240 | version "4.3.3" 241 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" 242 | integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== 243 | dependencies: 244 | ms "2.1.2" 245 | 246 | electron-to-chromium@^1.4.17: 247 | version "1.4.48" 248 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.48.tgz#1948b5227aa0ca1ed690945eae1adbe9e7904575" 249 | integrity sha512-RT3SEmpv7XUA+tKXrZGudAWLDpa7f8qmhjcLaM6OD/ERxjQ/zAojT8/Vvo0BSzbArkElFZ1WyZ9FuwAYbkdBNA== 250 | 251 | escalade@^3.1.1: 252 | version "3.1.1" 253 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 254 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 255 | 256 | escape-string-regexp@^1.0.5: 257 | version "1.0.5" 258 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 259 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 260 | 261 | estree-walker@^0.6.1: 262 | version "0.6.1" 263 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" 264 | integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== 265 | 266 | fsevents@~2.3.2: 267 | version "2.3.2" 268 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 269 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 270 | 271 | gensync@^1.0.0-beta.2: 272 | version "1.0.0-beta.2" 273 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" 274 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== 275 | 276 | globals@^11.1.0: 277 | version "11.12.0" 278 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 279 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 280 | 281 | has-flag@^3.0.0: 282 | version "3.0.0" 283 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 284 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 285 | 286 | js-tokens@^4.0.0: 287 | version "4.0.0" 288 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 289 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 290 | 291 | jsesc@^2.5.1: 292 | version "2.5.2" 293 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 294 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 295 | 296 | json5@^2.1.2: 297 | version "2.2.0" 298 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" 299 | integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== 300 | dependencies: 301 | minimist "^1.2.5" 302 | 303 | minimist@^1.2.5: 304 | version "1.2.5" 305 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" 306 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== 307 | 308 | ms@2.1.2: 309 | version "2.1.2" 310 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 311 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 312 | 313 | node-releases@^2.0.1: 314 | version "2.0.1" 315 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" 316 | integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== 317 | 318 | picocolors@^1.0.0: 319 | version "1.0.0" 320 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 321 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 322 | 323 | rollup-plugin-babel@^4.4.0: 324 | version "4.4.0" 325 | resolved "https://registry.yarnpkg.com/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz#d15bd259466a9d1accbdb2fe2fff17c52d030acb" 326 | integrity sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw== 327 | dependencies: 328 | "@babel/helper-module-imports" "^7.0.0" 329 | rollup-pluginutils "^2.8.1" 330 | 331 | rollup-pluginutils@^2.8.1: 332 | version "2.8.2" 333 | resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" 334 | integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== 335 | dependencies: 336 | estree-walker "^0.6.1" 337 | 338 | rollup@^2.64.0: 339 | version "2.64.0" 340 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.64.0.tgz#f0f59774e21fbb56de438a37d06a2189632b207a" 341 | integrity sha512-+c+lbw1lexBKSMb1yxGDVfJ+vchJH3qLbmavR+awDinTDA2C5Ug9u7lkOzj62SCu0PKUExsW36tpgW7Fmpn3yQ== 342 | optionalDependencies: 343 | fsevents "~2.3.2" 344 | 345 | safe-buffer@~5.1.1: 346 | version "5.1.2" 347 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 348 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 349 | 350 | semver@^6.3.0: 351 | version "6.3.0" 352 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 353 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 354 | 355 | source-map@^0.5.0: 356 | version "0.5.7" 357 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 358 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= 359 | 360 | supports-color@^5.3.0: 361 | version "5.5.0" 362 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 363 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 364 | dependencies: 365 | has-flag "^3.0.0" 366 | 367 | to-fast-properties@^2.0.0: 368 | version "2.0.0" 369 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 370 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= 371 | --------------------------------------------------------------------------------