├── .gitignore ├── .prettierrc ├── LICENSE ├── README.md ├── index.js ├── package-lock.json └── package.json /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "printWidth": 120, 3 | "tabWidth": 2, 4 | "trailingComma": "none", 5 | "singleQuote": true 6 | } 7 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Javier Fernández 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Tailwindcss DarkMode 2 | 3 | Tailwind CSS plugin that adds variants for DarkMode. 4 | 5 | [![Downloads](https://img.shields.io/npm/dw/@danestves/tailwindcss-darkmode?style=for-the-badge)](https://www.npmjs.com/package/@danestves/tailwindcss-darkmode) 6 | [![License](https://img.shields.io/npm/l/@danestves/tailwindcss-darkmode?style=for-the-badge)](https://es.wikipedia.org/wiki/Licencia_MIT) 7 | [![Travis Build](https://img.shields.io/travis/com/danestves/tailwindcss-darkmode?style=for-the-badge)](https://travis-ci.com/danestves/tailwindcss-darkmode) 8 | 9 | ## Installation 10 | 11 | ``` 12 | # npm 13 | npm install @danestves/tailwindcss-darkmode --save-dev 14 | 15 | # yarn 16 | yarn add --dev @danestves/tailwindcss-darkmode 17 | ``` 18 | 19 | Add the plugin to the `plugins` array in your `tailwind.config.js` file. 20 | 21 | ```js 22 | module.exports = { 23 | // ... 24 | 25 | plugins: [ 26 | // ... 27 | require('@danestves/tailwindcss-darkmode')() 28 | ] 29 | }; 30 | ``` 31 | 32 | Actually the function receive two parameters: 33 | 34 | - `prefix`: default to `dark`. 35 | - `activatorClass`: default to `dark-mode`. 36 | 37 | So if you want to rename the `activatorClass` you can make it as simple as: 38 | 39 | ```js 40 | module.exports = { 41 | // ... 42 | 43 | plugins: [ 44 | // ... 45 | require('@danestves/tailwindcss-darkmode')('dark', 'my-custom-activator-class') 46 | ] 47 | }; 48 | ``` 49 | 50 | ## Variants generated 51 | 52 | **Note:** _These variants are activated when either the `html` or `body` tag has the class `dark-mode`_. But you can change it. 53 | 54 | - `dark` 55 | - `dark:hover` 56 | - `dark:focus` 57 | - `dark:active` 58 | - `dark:disabled` 59 | - `dark:odd` 60 | - `dark:even` 61 | - `dark:group-hover` 62 | - `dark:focus-within` 63 | 64 | ```html 65 |
66 | 69 |
70 | ``` 71 | 72 | 🚨 Dark variants must be enabled on each utility in your `tailwind.config.js` file. 🚨 73 | 74 | ```js 75 | variants: { 76 | backgroundColor: [ 77 | "responsive", 78 | "hover", 79 | "focus", 80 | "dark", 81 | "dark:hover", 82 | "dark:focus" 83 | ], 84 | borderColor: [ 85 | "responsive", 86 | "hover", 87 | "focus", 88 | "dark", 89 | "dark:hover", 90 | "dark:focus" 91 | ], 92 | textColor: [ 93 | "responsive", 94 | "hover", 95 | "focus", 96 | "group-hover", 97 | "dark", 98 | "dark:hover", 99 | "dark:focus", 100 | "dark:group-hover", 101 | "focus-within", 102 | "dark:focus-within", 103 | "dark:odd", 104 | "dark:even", 105 | "dark:active", 106 | "dark:disabled" 107 | ], 108 | borderStyle: ["responsive", "dark"] 109 | } 110 | ``` 111 | 112 | You can check the full list of default variants in the [Tailwind default config file][1]. 113 | 114 | ## Customize class name prefix for variants 115 | 116 | `dark` is used as default prefix for the variants that are generated. It´s possible to change `dark` for whatever you want, just pass any string as a param. For example, with `prefers-dark`: 117 | 118 | ```js 119 | module.exports = { 120 | // ... 121 | 122 | plugins: [ 123 | // ... 124 | require('tailwindcss-prefers-dark-mode')('prefers-dark') 125 | ] 126 | }; 127 | ``` 128 | 129 | And variants must be named with the new prefix: 130 | 131 | ```js 132 | variants: { 133 | textColor: [ 134 | 'responsive', 135 | 'hover', 136 | 'focus', 137 | 'group-hover', 138 | 'prefers-dark', 139 | 'prefers-dark:hover', 140 | 'prefers-dark:focus', 141 | 'prefers-dark:group-hover', 142 | 'focus-within', 143 | 'prefers-dark:focus-within' 144 | ]; 145 | } 146 | ``` 147 | 148 | [1]: https://github.com/tailwindcss/tailwindcss/blob/master/stubs/defaultConfig.stub.js 149 | [2]: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme 150 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | module.exports = (prefix = 'dark', activatorClass = 'dark-mode') => { 2 | return ({ addVariant, e }) => { 3 | addVariant(prefix, ({ modifySelectors, separator }) => { 4 | modifySelectors(({ className }) => { 5 | return `.${activatorClass} .${e(`${prefix}${separator}${className}`)}`; 6 | }); 7 | }); 8 | 9 | addVariant(`${prefix}:hover`, ({ modifySelectors, separator }) => { 10 | modifySelectors(({ className }) => { 11 | return `.${activatorClass} .${e(`${prefix}:hover${separator}${className}`)}:hover`; 12 | }); 13 | }); 14 | 15 | addVariant(`${prefix}:focus`, ({ modifySelectors, separator }) => { 16 | modifySelectors(({ className }) => { 17 | return `.${activatorClass} .${e(`${prefix}:focus${separator}${className}`)}:focus`; 18 | }); 19 | }); 20 | 21 | addVariant(`${prefix}:active`, ({ modifySelectors, separator }) => { 22 | modifySelectors(({ className }) => { 23 | return `.${activatorClass} .${e(`${prefix}:active${separator}${className}`)}:active`; 24 | }); 25 | }); 26 | 27 | addVariant(`${prefix}:disabled`, ({ modifySelectors, separator }) => { 28 | modifySelectors(({ className }) => { 29 | return `.${activatorClass} .${e(`${prefix}:disabled${separator}${className}`)}:disabled`; 30 | }); 31 | }); 32 | 33 | addVariant(`${prefix}:group-hover`, ({ modifySelectors, separator }) => { 34 | modifySelectors(({ className }) => { 35 | return `.${activatorClass} .group:hover .${e(`${prefix}:group-hover${separator}${className}`)}`; 36 | }); 37 | }); 38 | 39 | addVariant(`${prefix}:focus-within`, ({ modifySelectors, separator }) => { 40 | modifySelectors(({ className }) => { 41 | return `.${activatorClass} .${e(`${prefix}:focus-within${separator}${className}`)}:focus-within`; 42 | }); 43 | }); 44 | 45 | addVariant(`${prefix}:odd`, ({ modifySelectors, separator }) => { 46 | modifySelectors(({ className }) => { 47 | return `.${activatorClass} .${e(`${prefix}:odd${separator}${className}`)}:nth-child(odd)`; 48 | }); 49 | }); 50 | 51 | addVariant(`${prefix}:even`, ({ modifySelectors, separator }) => { 52 | modifySelectors(({ className }) => { 53 | return `.${activatorClass} .${e(`${prefix}:even${separator}${className}`)}:nth-child(even)`; 54 | }); 55 | }); 56 | }; 57 | }; 58 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@danestves/tailwindcss-darkmode", 3 | "version": "1.1.5", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@fullhuman/postcss-purgecss": { 8 | "version": "2.3.0", 9 | "resolved": "https://registry.npmjs.org/@fullhuman/postcss-purgecss/-/postcss-purgecss-2.3.0.tgz", 10 | "integrity": "sha512-qnKm5dIOyPGJ70kPZ5jiz0I9foVOic0j+cOzNDoo8KoCf6HjicIZ99UfO2OmE7vCYSKAAepEwJtNzpiiZAh9xw==", 11 | "requires": { 12 | "postcss": "7.0.32", 13 | "purgecss": "^2.3.0" 14 | }, 15 | "dependencies": { 16 | "chalk": { 17 | "version": "2.4.2", 18 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 19 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 20 | "requires": { 21 | "ansi-styles": "^3.2.1", 22 | "escape-string-regexp": "^1.0.5", 23 | "supports-color": "^5.3.0" 24 | }, 25 | "dependencies": { 26 | "supports-color": { 27 | "version": "5.5.0", 28 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 29 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 30 | "requires": { 31 | "has-flag": "^3.0.0" 32 | } 33 | } 34 | } 35 | }, 36 | "postcss": { 37 | "version": "7.0.32", 38 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", 39 | "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", 40 | "requires": { 41 | "chalk": "^2.4.2", 42 | "source-map": "^0.6.1", 43 | "supports-color": "^6.1.0" 44 | } 45 | } 46 | } 47 | }, 48 | "acorn": { 49 | "version": "7.4.1", 50 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", 51 | "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" 52 | }, 53 | "acorn-node": { 54 | "version": "1.8.2", 55 | "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", 56 | "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", 57 | "requires": { 58 | "acorn": "^7.0.0", 59 | "acorn-walk": "^7.0.0", 60 | "xtend": "^4.0.2" 61 | } 62 | }, 63 | "acorn-walk": { 64 | "version": "7.2.0", 65 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", 66 | "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" 67 | }, 68 | "ansi-styles": { 69 | "version": "3.2.1", 70 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 71 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 72 | "requires": { 73 | "color-convert": "^1.9.0" 74 | } 75 | }, 76 | "autoprefixer": { 77 | "version": "9.8.6", 78 | "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", 79 | "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==", 80 | "requires": { 81 | "browserslist": "^4.12.0", 82 | "caniuse-lite": "^1.0.30001109", 83 | "colorette": "^1.2.1", 84 | "normalize-range": "^0.1.2", 85 | "num2fraction": "^1.2.2", 86 | "postcss": "^7.0.32", 87 | "postcss-value-parser": "^4.1.0" 88 | }, 89 | "dependencies": { 90 | "chalk": { 91 | "version": "2.4.2", 92 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 93 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 94 | "requires": { 95 | "ansi-styles": "^3.2.1", 96 | "escape-string-regexp": "^1.0.5", 97 | "supports-color": "^5.3.0" 98 | }, 99 | "dependencies": { 100 | "supports-color": { 101 | "version": "5.5.0", 102 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 103 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 104 | "requires": { 105 | "has-flag": "^3.0.0" 106 | } 107 | } 108 | } 109 | }, 110 | "postcss": { 111 | "version": "7.0.35", 112 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", 113 | "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", 114 | "requires": { 115 | "chalk": "^2.4.2", 116 | "source-map": "^0.6.1", 117 | "supports-color": "^6.1.0" 118 | } 119 | } 120 | } 121 | }, 122 | "balanced-match": { 123 | "version": "1.0.0", 124 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 125 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" 126 | }, 127 | "brace-expansion": { 128 | "version": "1.1.11", 129 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 130 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 131 | "requires": { 132 | "balanced-match": "^1.0.0", 133 | "concat-map": "0.0.1" 134 | } 135 | }, 136 | "browserslist": { 137 | "version": "4.14.7", 138 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.7.tgz", 139 | "integrity": "sha512-BSVRLCeG3Xt/j/1cCGj1019Wbty0H+Yvu2AOuZSuoaUWn3RatbL33Cxk+Q4jRMRAbOm0p7SLravLjpnT6s0vzQ==", 140 | "requires": { 141 | "caniuse-lite": "^1.0.30001157", 142 | "colorette": "^1.2.1", 143 | "electron-to-chromium": "^1.3.591", 144 | "escalade": "^3.1.1", 145 | "node-releases": "^1.1.66" 146 | } 147 | }, 148 | "bytes": { 149 | "version": "3.1.0", 150 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", 151 | "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" 152 | }, 153 | "camelcase-css": { 154 | "version": "2.0.1", 155 | "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", 156 | "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" 157 | }, 158 | "caniuse-lite": { 159 | "version": "1.0.30001157", 160 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001157.tgz", 161 | "integrity": "sha512-gOerH9Wz2IRZ2ZPdMfBvyOi3cjaz4O4dgNwPGzx8EhqAs4+2IL/O+fJsbt+znSigujoZG8bVcIAUM/I/E5K3MA==" 162 | }, 163 | "chalk": { 164 | "version": "4.1.0", 165 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", 166 | "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", 167 | "requires": { 168 | "ansi-styles": "^4.1.0", 169 | "supports-color": "^7.1.0" 170 | }, 171 | "dependencies": { 172 | "ansi-styles": { 173 | "version": "4.3.0", 174 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 175 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 176 | "requires": { 177 | "color-convert": "^2.0.1" 178 | } 179 | }, 180 | "color-convert": { 181 | "version": "2.0.1", 182 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 183 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 184 | "requires": { 185 | "color-name": "~1.1.4" 186 | } 187 | }, 188 | "color-name": { 189 | "version": "1.1.4", 190 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 191 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 192 | }, 193 | "has-flag": { 194 | "version": "4.0.0", 195 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 196 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" 197 | }, 198 | "supports-color": { 199 | "version": "7.2.0", 200 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 201 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 202 | "requires": { 203 | "has-flag": "^4.0.0" 204 | } 205 | } 206 | } 207 | }, 208 | "color": { 209 | "version": "3.1.3", 210 | "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", 211 | "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", 212 | "requires": { 213 | "color-convert": "^1.9.1", 214 | "color-string": "^1.5.4" 215 | } 216 | }, 217 | "color-convert": { 218 | "version": "1.9.3", 219 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 220 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 221 | "requires": { 222 | "color-name": "1.1.3" 223 | } 224 | }, 225 | "color-name": { 226 | "version": "1.1.3", 227 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 228 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" 229 | }, 230 | "color-string": { 231 | "version": "1.5.4", 232 | "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz", 233 | "integrity": "sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==", 234 | "requires": { 235 | "color-name": "^1.0.0", 236 | "simple-swizzle": "^0.2.2" 237 | } 238 | }, 239 | "colorette": { 240 | "version": "1.2.1", 241 | "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", 242 | "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" 243 | }, 244 | "commander": { 245 | "version": "5.1.0", 246 | "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", 247 | "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==" 248 | }, 249 | "concat-map": { 250 | "version": "0.0.1", 251 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 252 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" 253 | }, 254 | "css-unit-converter": { 255 | "version": "1.1.2", 256 | "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz", 257 | "integrity": "sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==" 258 | }, 259 | "cssesc": { 260 | "version": "3.0.0", 261 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 262 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" 263 | }, 264 | "defined": { 265 | "version": "1.0.0", 266 | "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", 267 | "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" 268 | }, 269 | "detective": { 270 | "version": "5.2.0", 271 | "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", 272 | "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", 273 | "requires": { 274 | "acorn-node": "^1.6.1", 275 | "defined": "^1.0.0", 276 | "minimist": "^1.1.1" 277 | } 278 | }, 279 | "electron-to-chromium": { 280 | "version": "1.3.595", 281 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.595.tgz", 282 | "integrity": "sha512-JpaBIhdBkF9FLG7x06ONfe0f5bxPrxRcq0X+Sc8vsCt+OPWIzxOD+qM71NEHLGbDfN9Q6hbtHRv4/dnvcOxo6g==" 283 | }, 284 | "escalade": { 285 | "version": "3.1.1", 286 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 287 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" 288 | }, 289 | "escape-string-regexp": { 290 | "version": "1.0.5", 291 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 292 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" 293 | }, 294 | "fs-extra": { 295 | "version": "8.1.0", 296 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", 297 | "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", 298 | "requires": { 299 | "graceful-fs": "^4.2.0", 300 | "jsonfile": "^4.0.0", 301 | "universalify": "^0.1.0" 302 | } 303 | }, 304 | "fs.realpath": { 305 | "version": "1.0.0", 306 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 307 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" 308 | }, 309 | "function-bind": { 310 | "version": "1.1.1", 311 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 312 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" 313 | }, 314 | "glob": { 315 | "version": "7.1.6", 316 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", 317 | "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", 318 | "requires": { 319 | "fs.realpath": "^1.0.0", 320 | "inflight": "^1.0.4", 321 | "inherits": "2", 322 | "minimatch": "^3.0.4", 323 | "once": "^1.3.0", 324 | "path-is-absolute": "^1.0.0" 325 | } 326 | }, 327 | "graceful-fs": { 328 | "version": "4.2.4", 329 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", 330 | "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" 331 | }, 332 | "has": { 333 | "version": "1.0.3", 334 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 335 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 336 | "requires": { 337 | "function-bind": "^1.1.1" 338 | } 339 | }, 340 | "has-flag": { 341 | "version": "3.0.0", 342 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 343 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" 344 | }, 345 | "html-tags": { 346 | "version": "3.1.0", 347 | "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", 348 | "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==" 349 | }, 350 | "indexes-of": { 351 | "version": "1.0.1", 352 | "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", 353 | "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" 354 | }, 355 | "inflight": { 356 | "version": "1.0.6", 357 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 358 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 359 | "requires": { 360 | "once": "^1.3.0", 361 | "wrappy": "1" 362 | } 363 | }, 364 | "inherits": { 365 | "version": "2.0.4", 366 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 367 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 368 | }, 369 | "is-arrayish": { 370 | "version": "0.3.2", 371 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", 372 | "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" 373 | }, 374 | "is-core-module": { 375 | "version": "2.1.0", 376 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.1.0.tgz", 377 | "integrity": "sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA==", 378 | "requires": { 379 | "has": "^1.0.3" 380 | } 381 | }, 382 | "isarray": { 383 | "version": "1.0.0", 384 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 385 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 386 | "dev": true 387 | }, 388 | "isobject": { 389 | "version": "2.1.0", 390 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", 391 | "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", 392 | "dev": true, 393 | "requires": { 394 | "isarray": "1.0.0" 395 | } 396 | }, 397 | "jsonfile": { 398 | "version": "4.0.0", 399 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", 400 | "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", 401 | "requires": { 402 | "graceful-fs": "^4.1.6" 403 | } 404 | }, 405 | "line-column": { 406 | "version": "1.0.2", 407 | "resolved": "https://registry.npmjs.org/line-column/-/line-column-1.0.2.tgz", 408 | "integrity": "sha1-0lryk2tvSEkXKzEuR5LR2Ye8NKI=", 409 | "dev": true, 410 | "requires": { 411 | "isarray": "^1.0.0", 412 | "isobject": "^2.0.0" 413 | } 414 | }, 415 | "lodash": { 416 | "version": "4.17.20", 417 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", 418 | "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" 419 | }, 420 | "lodash.toarray": { 421 | "version": "4.4.0", 422 | "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", 423 | "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=" 424 | }, 425 | "minimatch": { 426 | "version": "3.0.4", 427 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 428 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 429 | "requires": { 430 | "brace-expansion": "^1.1.7" 431 | } 432 | }, 433 | "minimist": { 434 | "version": "1.2.5", 435 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", 436 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" 437 | }, 438 | "nanoid": { 439 | "version": "3.1.16", 440 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.16.tgz", 441 | "integrity": "sha512-+AK8MN0WHji40lj8AEuwLOvLSbWYApQpre/aFJZD71r43wVRLrOYS4FmJOPQYon1TqB462RzrrxlfA74XRES8w==", 442 | "dev": true 443 | }, 444 | "node-emoji": { 445 | "version": "1.10.0", 446 | "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.10.0.tgz", 447 | "integrity": "sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==", 448 | "requires": { 449 | "lodash.toarray": "^4.4.0" 450 | } 451 | }, 452 | "node-releases": { 453 | "version": "1.1.66", 454 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.66.tgz", 455 | "integrity": "sha512-JHEQ1iWPGK+38VLB2H9ef2otU4l8s3yAMt9Xf934r6+ojCYDMHPMqvCc9TnzfeFSP1QEOeU6YZEd3+De0LTCgg==" 456 | }, 457 | "normalize-range": { 458 | "version": "0.1.2", 459 | "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", 460 | "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" 461 | }, 462 | "normalize.css": { 463 | "version": "8.0.1", 464 | "resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz", 465 | "integrity": "sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==" 466 | }, 467 | "num2fraction": { 468 | "version": "1.2.2", 469 | "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", 470 | "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=" 471 | }, 472 | "object-assign": { 473 | "version": "4.1.1", 474 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 475 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" 476 | }, 477 | "object-hash": { 478 | "version": "2.0.3", 479 | "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.0.3.tgz", 480 | "integrity": "sha512-JPKn0GMu+Fa3zt3Bmr66JhokJU5BaNBIh4ZeTlaCBzrBsOeXzwcKKAK1tbLiPKgvwmPXsDvvLHoWh5Bm7ofIYg==" 481 | }, 482 | "once": { 483 | "version": "1.4.0", 484 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 485 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 486 | "requires": { 487 | "wrappy": "1" 488 | } 489 | }, 490 | "path-is-absolute": { 491 | "version": "1.0.1", 492 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 493 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" 494 | }, 495 | "path-parse": { 496 | "version": "1.0.6", 497 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", 498 | "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" 499 | }, 500 | "postcss": { 501 | "version": "8.1.7", 502 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.1.7.tgz", 503 | "integrity": "sha512-llCQW1Pz4MOPwbZLmOddGM9eIJ8Bh7SZ2Oj5sxZva77uVaotYDsYTch1WBTNu7fUY0fpWp0fdt7uW40D4sRiiQ==", 504 | "dev": true, 505 | "requires": { 506 | "colorette": "^1.2.1", 507 | "line-column": "^1.0.2", 508 | "nanoid": "^3.1.16", 509 | "source-map": "^0.6.1" 510 | } 511 | }, 512 | "postcss-functions": { 513 | "version": "3.0.0", 514 | "resolved": "https://registry.npmjs.org/postcss-functions/-/postcss-functions-3.0.0.tgz", 515 | "integrity": "sha1-DpTQFERwCkgd4g3k1V+yZAVkJQ4=", 516 | "requires": { 517 | "glob": "^7.1.2", 518 | "object-assign": "^4.1.1", 519 | "postcss": "^6.0.9", 520 | "postcss-value-parser": "^3.3.0" 521 | }, 522 | "dependencies": { 523 | "chalk": { 524 | "version": "2.4.2", 525 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 526 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 527 | "requires": { 528 | "ansi-styles": "^3.2.1", 529 | "escape-string-regexp": "^1.0.5", 530 | "supports-color": "^5.3.0" 531 | } 532 | }, 533 | "postcss": { 534 | "version": "6.0.23", 535 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", 536 | "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", 537 | "requires": { 538 | "chalk": "^2.4.1", 539 | "source-map": "^0.6.1", 540 | "supports-color": "^5.4.0" 541 | } 542 | }, 543 | "postcss-value-parser": { 544 | "version": "3.3.1", 545 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", 546 | "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" 547 | }, 548 | "supports-color": { 549 | "version": "5.5.0", 550 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 551 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 552 | "requires": { 553 | "has-flag": "^3.0.0" 554 | } 555 | } 556 | } 557 | }, 558 | "postcss-js": { 559 | "version": "2.0.3", 560 | "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-2.0.3.tgz", 561 | "integrity": "sha512-zS59pAk3deu6dVHyrGqmC3oDXBdNdajk4k1RyxeVXCrcEDBUBHoIhE4QTsmhxgzXxsaqFDAkUZfmMa5f/N/79w==", 562 | "requires": { 563 | "camelcase-css": "^2.0.1", 564 | "postcss": "^7.0.18" 565 | }, 566 | "dependencies": { 567 | "chalk": { 568 | "version": "2.4.2", 569 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 570 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 571 | "requires": { 572 | "ansi-styles": "^3.2.1", 573 | "escape-string-regexp": "^1.0.5", 574 | "supports-color": "^5.3.0" 575 | }, 576 | "dependencies": { 577 | "supports-color": { 578 | "version": "5.5.0", 579 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 580 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 581 | "requires": { 582 | "has-flag": "^3.0.0" 583 | } 584 | } 585 | } 586 | }, 587 | "postcss": { 588 | "version": "7.0.35", 589 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", 590 | "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", 591 | "requires": { 592 | "chalk": "^2.4.2", 593 | "source-map": "^0.6.1", 594 | "supports-color": "^6.1.0" 595 | } 596 | } 597 | } 598 | }, 599 | "postcss-nested": { 600 | "version": "4.2.3", 601 | "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-4.2.3.tgz", 602 | "integrity": "sha512-rOv0W1HquRCamWy2kFl3QazJMMe1ku6rCFoAAH+9AcxdbpDeBr6k968MLWuLjvjMcGEip01ak09hKOEgpK9hvw==", 603 | "requires": { 604 | "postcss": "^7.0.32", 605 | "postcss-selector-parser": "^6.0.2" 606 | }, 607 | "dependencies": { 608 | "chalk": { 609 | "version": "2.4.2", 610 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 611 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 612 | "requires": { 613 | "ansi-styles": "^3.2.1", 614 | "escape-string-regexp": "^1.0.5", 615 | "supports-color": "^5.3.0" 616 | }, 617 | "dependencies": { 618 | "supports-color": { 619 | "version": "5.5.0", 620 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 621 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 622 | "requires": { 623 | "has-flag": "^3.0.0" 624 | } 625 | } 626 | } 627 | }, 628 | "postcss": { 629 | "version": "7.0.35", 630 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", 631 | "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", 632 | "requires": { 633 | "chalk": "^2.4.2", 634 | "source-map": "^0.6.1", 635 | "supports-color": "^6.1.0" 636 | } 637 | } 638 | } 639 | }, 640 | "postcss-selector-parser": { 641 | "version": "6.0.4", 642 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", 643 | "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", 644 | "requires": { 645 | "cssesc": "^3.0.0", 646 | "indexes-of": "^1.0.1", 647 | "uniq": "^1.0.1", 648 | "util-deprecate": "^1.0.2" 649 | } 650 | }, 651 | "postcss-value-parser": { 652 | "version": "4.1.0", 653 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", 654 | "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" 655 | }, 656 | "prettier": { 657 | "version": "2.1.2", 658 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.1.2.tgz", 659 | "integrity": "sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg==", 660 | "dev": true 661 | }, 662 | "pretty-hrtime": { 663 | "version": "1.0.3", 664 | "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", 665 | "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=" 666 | }, 667 | "purgecss": { 668 | "version": "2.3.0", 669 | "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-2.3.0.tgz", 670 | "integrity": "sha512-BE5CROfVGsx2XIhxGuZAT7rTH9lLeQx/6M0P7DTXQH4IUc3BBzs9JUzt4yzGf3JrH9enkeq6YJBe9CTtkm1WmQ==", 671 | "requires": { 672 | "commander": "^5.0.0", 673 | "glob": "^7.0.0", 674 | "postcss": "7.0.32", 675 | "postcss-selector-parser": "^6.0.2" 676 | }, 677 | "dependencies": { 678 | "chalk": { 679 | "version": "2.4.2", 680 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 681 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 682 | "requires": { 683 | "ansi-styles": "^3.2.1", 684 | "escape-string-regexp": "^1.0.5", 685 | "supports-color": "^5.3.0" 686 | }, 687 | "dependencies": { 688 | "supports-color": { 689 | "version": "5.5.0", 690 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 691 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 692 | "requires": { 693 | "has-flag": "^3.0.0" 694 | } 695 | } 696 | } 697 | }, 698 | "postcss": { 699 | "version": "7.0.32", 700 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", 701 | "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", 702 | "requires": { 703 | "chalk": "^2.4.2", 704 | "source-map": "^0.6.1", 705 | "supports-color": "^6.1.0" 706 | } 707 | } 708 | } 709 | }, 710 | "reduce-css-calc": { 711 | "version": "2.1.7", 712 | "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.7.tgz", 713 | "integrity": "sha512-fDnlZ+AybAS3C7Q9xDq5y8A2z+lT63zLbynew/lur/IR24OQF5x98tfNwf79mzEdfywZ0a2wpM860FhFfMxZlA==", 714 | "requires": { 715 | "css-unit-converter": "^1.1.1", 716 | "postcss-value-parser": "^3.3.0" 717 | }, 718 | "dependencies": { 719 | "postcss-value-parser": { 720 | "version": "3.3.1", 721 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", 722 | "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" 723 | } 724 | } 725 | }, 726 | "resolve": { 727 | "version": "1.19.0", 728 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", 729 | "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", 730 | "requires": { 731 | "is-core-module": "^2.1.0", 732 | "path-parse": "^1.0.6" 733 | } 734 | }, 735 | "simple-swizzle": { 736 | "version": "0.2.2", 737 | "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", 738 | "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", 739 | "requires": { 740 | "is-arrayish": "^0.3.1" 741 | } 742 | }, 743 | "source-map": { 744 | "version": "0.6.1", 745 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 746 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" 747 | }, 748 | "supports-color": { 749 | "version": "6.1.0", 750 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", 751 | "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", 752 | "requires": { 753 | "has-flag": "^3.0.0" 754 | } 755 | }, 756 | "tailwindcss": { 757 | "version": "1.9.6", 758 | "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-1.9.6.tgz", 759 | "integrity": "sha512-nY8WYM/RLPqGsPEGEV2z63riyQPcHYZUJpAwdyBzVpxQHOHqHE+F/fvbCeXhdF1+TA5l72vSkZrtYCB9hRcwkQ==", 760 | "requires": { 761 | "@fullhuman/postcss-purgecss": "^2.1.2", 762 | "autoprefixer": "^9.4.5", 763 | "browserslist": "^4.12.0", 764 | "bytes": "^3.0.0", 765 | "chalk": "^3.0.0 || ^4.0.0", 766 | "color": "^3.1.2", 767 | "detective": "^5.2.0", 768 | "fs-extra": "^8.0.0", 769 | "html-tags": "^3.1.0", 770 | "lodash": "^4.17.20", 771 | "node-emoji": "^1.8.1", 772 | "normalize.css": "^8.0.1", 773 | "object-hash": "^2.0.3", 774 | "postcss": "^7.0.11", 775 | "postcss-functions": "^3.0.0", 776 | "postcss-js": "^2.0.0", 777 | "postcss-nested": "^4.1.1", 778 | "postcss-selector-parser": "^6.0.0", 779 | "postcss-value-parser": "^4.1.0", 780 | "pretty-hrtime": "^1.0.3", 781 | "reduce-css-calc": "^2.1.6", 782 | "resolve": "^1.14.2" 783 | }, 784 | "dependencies": { 785 | "postcss": { 786 | "version": "7.0.35", 787 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", 788 | "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", 789 | "requires": { 790 | "chalk": "^2.4.2", 791 | "source-map": "^0.6.1", 792 | "supports-color": "^6.1.0" 793 | }, 794 | "dependencies": { 795 | "chalk": { 796 | "version": "2.4.2", 797 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 798 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 799 | "requires": { 800 | "ansi-styles": "^3.2.1", 801 | "escape-string-regexp": "^1.0.5", 802 | "supports-color": "^5.3.0" 803 | }, 804 | "dependencies": { 805 | "supports-color": { 806 | "version": "5.5.0", 807 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 808 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 809 | "requires": { 810 | "has-flag": "^3.0.0" 811 | } 812 | } 813 | } 814 | } 815 | } 816 | } 817 | } 818 | }, 819 | "uniq": { 820 | "version": "1.0.1", 821 | "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", 822 | "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" 823 | }, 824 | "universalify": { 825 | "version": "0.1.2", 826 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", 827 | "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" 828 | }, 829 | "util-deprecate": { 830 | "version": "1.0.2", 831 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 832 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" 833 | }, 834 | "wrappy": { 835 | "version": "1.0.2", 836 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 837 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" 838 | }, 839 | "xtend": { 840 | "version": "4.0.2", 841 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", 842 | "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" 843 | } 844 | } 845 | } 846 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@danestves/tailwindcss-darkmode", 3 | "version": "2.0.1", 4 | "description": "Tailwind CSS plugin that adds variants for DarkMode", 5 | "main": "index.js", 6 | "repository": { 7 | "type": "git", 8 | "url": "git+https://github.com/danestves/tailwindcss-darkmode.git" 9 | }, 10 | "keywords": [ 11 | "tailwind", 12 | "tailwindcss", 13 | "postcss", 14 | "dark-mode", 15 | "tailwindcss-plugin" 16 | ], 17 | "author": "Javier Fernández", 18 | "contributors": [ 19 | "Daniel Esteves (https://danestves.com)" 20 | ], 21 | "license": "MIT", 22 | "bugs": { 23 | "url": "https://github.com/danestves/tailwindcss-darkmode/issues" 24 | }, 25 | "homepage": "https://github.com/danestves/tailwindcss-darkmode", 26 | "dependencies": { 27 | "tailwindcss": "^1.9.6" 28 | }, 29 | "devDependencies": { 30 | "postcss": "^8.1.7", 31 | "prettier": "^2.1.2" 32 | } 33 | } 34 | --------------------------------------------------------------------------------