├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── composer.json ├── package-lock.json ├── package.json ├── prettier.config.js ├── rainbow.php ├── resources ├── example.png └── readme.png ├── src └── Color.php └── tasks ├── getVersion.js └── publish.js /.gitignore: -------------------------------------------------------------------------------- 1 | vendor/ 2 | composer.lock 3 | .DS_Store 4 | .idea/* 5 | .idea/ 6 | NOTES.md 7 | sandbox/ 8 | node_modules/ 9 | .history/ 10 | *.taskpaper 11 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # php-cli-colors Changelog 2 | 3 | ## Changelog 4 | 5 | All notable changes to this project will be documented in this file. 6 | 7 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), 8 | and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 9 | 10 | ## [1.12.0] - 2020.12.03 11 | 12 | ### Fixed 13 | 14 | - Fixed the base colors (it had the incorrect flag) as they were too dull 15 | 16 | - Color::BLACK 17 | - Color::BLUE 18 | - Color::BROWN 19 | - Color::CYAN 20 | - Color::GRAY 21 | - Color::GREEN 22 | - Color::MAGENTA 23 | - Color::PURPLE 24 | - Color::RED 25 | - Color::WHITE 26 | - Color::YELLOW 27 | 28 | ## [1.11.0] - 2019-12-29 29 | 30 | ### Added 31 | 32 | - Added new background colors (thanks @puggan) 33 | - https://github.com/mikeerickson/php-cli-colors/pull/2 34 | 35 | [keep a changelog](https://keepachangelog.com/en/1.0.0/) 36 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2017-2021 Mike Erickson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | 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, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # php-cli-colors 2 | 3 | Liven up you PHP Console Apps with standard colors 4 | 5 | [View on Packagist](https://packagist.org/packages/codedungeon/php-cli-colors) 6 | 7 | ![image](resources/example.png) 8 | 9 | ## Installation 10 | 11 | `composer require codedungeon/php-cli-colors '~1.0'` 12 | 13 | or update your `composer.json` 14 | 15 | ``` 16 | ... 17 | "require": { 18 | "codedungeon/php-cli-colors": "~1.0" 19 | }, 20 | ... 21 | ``` 22 | 23 | ## How to use 24 | 25 | ```php 26 | =5.2" 23 | }, 24 | "autoload": { 25 | "psr-4": { 26 | "Codedungeon\\PHPCliColors\\": "src/" 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "php-cli-colors", 3 | "version": "1.12.0", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "version": "1.12.0", 9 | "license": "MIT", 10 | "devDependencies": { 11 | "@codedungeon/messenger": "0.9.1", 12 | "prettier": "2.2.1" 13 | } 14 | }, 15 | "node_modules/@codedungeon/messenger": { 16 | "version": "0.9.1", 17 | "resolved": "https://registry.npmjs.org/@codedungeon/messenger/-/messenger-0.9.1.tgz", 18 | "integrity": "sha512-8WmaBRbloBBvncqD9MXykapCZeg2yW3E787K46qZfCctE1ezSV9wLXKO2hqRl/3ycY0L0buWSAp/D5THR6UVsQ==", 19 | "dev": true, 20 | "dependencies": { 21 | "chalk": "2.4.2", 22 | "cli-clear": "1.0.4", 23 | "date-fns": "1.30.1", 24 | "dumper.js": "1.3.1", 25 | "fs-extra": "7.0.1", 26 | "strip-ansi": "5.0.0", 27 | "window-size": "1.1.1" 28 | } 29 | }, 30 | "node_modules/ansi-regex": { 31 | "version": "4.1.0", 32 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", 33 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", 34 | "dev": true, 35 | "engines": { 36 | "node": ">=6" 37 | } 38 | }, 39 | "node_modules/ansi-styles": { 40 | "version": "3.2.1", 41 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 42 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 43 | "dev": true, 44 | "dependencies": { 45 | "color-convert": "^1.9.0" 46 | }, 47 | "engines": { 48 | "node": ">=4" 49 | } 50 | }, 51 | "node_modules/caller-id": { 52 | "version": "0.1.0", 53 | "resolved": "https://registry.npmjs.org/caller-id/-/caller-id-0.1.0.tgz", 54 | "integrity": "sha1-Wb2sCJPRLDhxQIJ5Ix+XRYNk8Hs=", 55 | "dev": true, 56 | "dependencies": { 57 | "stack-trace": "~0.0.7" 58 | }, 59 | "engines": { 60 | "node": ">=0.8" 61 | } 62 | }, 63 | "node_modules/chalk": { 64 | "version": "2.4.2", 65 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 66 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 67 | "dev": true, 68 | "dependencies": { 69 | "ansi-styles": "^3.2.1", 70 | "escape-string-regexp": "^1.0.5", 71 | "supports-color": "^5.3.0" 72 | }, 73 | "engines": { 74 | "node": ">=4" 75 | } 76 | }, 77 | "node_modules/cli-clear": { 78 | "version": "1.0.4", 79 | "resolved": "https://registry.npmjs.org/cli-clear/-/cli-clear-1.0.4.tgz", 80 | "integrity": "sha1-Qs8wUvJbcGg4b7fbrugtU0tkyJk=", 81 | "dev": true, 82 | "engines": { 83 | "node": ">= 0.8" 84 | } 85 | }, 86 | "node_modules/color-convert": { 87 | "version": "1.9.3", 88 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 89 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 90 | "dev": true, 91 | "dependencies": { 92 | "color-name": "1.1.3" 93 | } 94 | }, 95 | "node_modules/color-name": { 96 | "version": "1.1.3", 97 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 98 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 99 | "dev": true 100 | }, 101 | "node_modules/cycle": { 102 | "version": "1.0.3", 103 | "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", 104 | "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=", 105 | "dev": true, 106 | "engines": { 107 | "node": ">=0.4.0" 108 | } 109 | }, 110 | "node_modules/date-fns": { 111 | "version": "1.30.1", 112 | "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", 113 | "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==", 114 | "dev": true 115 | }, 116 | "node_modules/define-property": { 117 | "version": "1.0.0", 118 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", 119 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", 120 | "dev": true, 121 | "dependencies": { 122 | "is-descriptor": "^1.0.0" 123 | }, 124 | "engines": { 125 | "node": ">=0.10.0" 126 | } 127 | }, 128 | "node_modules/dumper.js": { 129 | "version": "1.3.1", 130 | "resolved": "https://registry.npmjs.org/dumper.js/-/dumper.js-1.3.1.tgz", 131 | "integrity": "sha512-Ljxzo70hUKk5eC5x0TPpx2xZxpaphylef8aD0OgGhSv4a5suZrCZyyjMnYRwbmX260owlijmW2RUHh6m2tU+jQ==", 132 | "dev": true, 133 | "dependencies": { 134 | "caller-id": "^0.1.0", 135 | "cycle": "^1.0.3", 136 | "kind-of": "^6.0.2", 137 | "kleur": "^3.0.2" 138 | } 139 | }, 140 | "node_modules/escape-string-regexp": { 141 | "version": "1.0.5", 142 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 143 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 144 | "dev": true, 145 | "engines": { 146 | "node": ">=0.8.0" 147 | } 148 | }, 149 | "node_modules/fs-extra": { 150 | "version": "7.0.1", 151 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", 152 | "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", 153 | "dev": true, 154 | "dependencies": { 155 | "graceful-fs": "^4.1.2", 156 | "jsonfile": "^4.0.0", 157 | "universalify": "^0.1.0" 158 | }, 159 | "engines": { 160 | "node": ">=6 <7 || >=8" 161 | } 162 | }, 163 | "node_modules/graceful-fs": { 164 | "version": "4.2.4", 165 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", 166 | "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", 167 | "dev": true 168 | }, 169 | "node_modules/has-flag": { 170 | "version": "3.0.0", 171 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 172 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 173 | "dev": true, 174 | "engines": { 175 | "node": ">=4" 176 | } 177 | }, 178 | "node_modules/is-accessor-descriptor": { 179 | "version": "1.0.0", 180 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 181 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 182 | "dev": true, 183 | "dependencies": { 184 | "kind-of": "^6.0.0" 185 | }, 186 | "engines": { 187 | "node": ">=0.10.0" 188 | } 189 | }, 190 | "node_modules/is-buffer": { 191 | "version": "1.1.6", 192 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 193 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", 194 | "dev": true 195 | }, 196 | "node_modules/is-data-descriptor": { 197 | "version": "1.0.0", 198 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 199 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 200 | "dev": true, 201 | "dependencies": { 202 | "kind-of": "^6.0.0" 203 | }, 204 | "engines": { 205 | "node": ">=0.10.0" 206 | } 207 | }, 208 | "node_modules/is-descriptor": { 209 | "version": "1.0.2", 210 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 211 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 212 | "dev": true, 213 | "dependencies": { 214 | "is-accessor-descriptor": "^1.0.0", 215 | "is-data-descriptor": "^1.0.0", 216 | "kind-of": "^6.0.2" 217 | }, 218 | "engines": { 219 | "node": ">=0.10.0" 220 | } 221 | }, 222 | "node_modules/is-number": { 223 | "version": "3.0.0", 224 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", 225 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", 226 | "dev": true, 227 | "dependencies": { 228 | "kind-of": "^3.0.2" 229 | }, 230 | "engines": { 231 | "node": ">=0.10.0" 232 | } 233 | }, 234 | "node_modules/is-number/node_modules/kind-of": { 235 | "version": "3.2.2", 236 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 237 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 238 | "dev": true, 239 | "dependencies": { 240 | "is-buffer": "^1.1.5" 241 | }, 242 | "engines": { 243 | "node": ">=0.10.0" 244 | } 245 | }, 246 | "node_modules/jsonfile": { 247 | "version": "4.0.0", 248 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", 249 | "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", 250 | "dev": true, 251 | "dependencies": { 252 | "graceful-fs": "^4.1.6" 253 | }, 254 | "optionalDependencies": { 255 | "graceful-fs": "^4.1.6" 256 | } 257 | }, 258 | "node_modules/kind-of": { 259 | "version": "6.0.3", 260 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", 261 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", 262 | "dev": true, 263 | "engines": { 264 | "node": ">=0.10.0" 265 | } 266 | }, 267 | "node_modules/kleur": { 268 | "version": "3.0.3", 269 | "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", 270 | "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", 271 | "dev": true, 272 | "engines": { 273 | "node": ">=6" 274 | } 275 | }, 276 | "node_modules/prettier": { 277 | "version": "2.2.1", 278 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", 279 | "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", 280 | "dev": true, 281 | "bin": { 282 | "prettier": "bin-prettier.js" 283 | }, 284 | "engines": { 285 | "node": ">=10.13.0" 286 | } 287 | }, 288 | "node_modules/stack-trace": { 289 | "version": "0.0.10", 290 | "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", 291 | "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", 292 | "dev": true, 293 | "engines": { 294 | "node": "*" 295 | } 296 | }, 297 | "node_modules/strip-ansi": { 298 | "version": "5.0.0", 299 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.0.0.tgz", 300 | "integrity": "sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==", 301 | "dev": true, 302 | "dependencies": { 303 | "ansi-regex": "^4.0.0" 304 | }, 305 | "engines": { 306 | "node": ">=6" 307 | } 308 | }, 309 | "node_modules/supports-color": { 310 | "version": "5.5.0", 311 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 312 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 313 | "dev": true, 314 | "dependencies": { 315 | "has-flag": "^3.0.0" 316 | }, 317 | "engines": { 318 | "node": ">=4" 319 | } 320 | }, 321 | "node_modules/universalify": { 322 | "version": "0.1.2", 323 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", 324 | "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", 325 | "dev": true, 326 | "engines": { 327 | "node": ">= 4.0.0" 328 | } 329 | }, 330 | "node_modules/window-size": { 331 | "version": "1.1.1", 332 | "resolved": "https://registry.npmjs.org/window-size/-/window-size-1.1.1.tgz", 333 | "integrity": "sha512-5D/9vujkmVQ7pSmc0SCBmHXbkv6eaHwXEx65MywhmUMsI8sGqJ972APq1lotfcwMKPFLuCFfL8xGHLIp7jaBmA==", 334 | "dev": true, 335 | "dependencies": { 336 | "define-property": "^1.0.0", 337 | "is-number": "^3.0.0" 338 | }, 339 | "bin": { 340 | "window-size": "cli.js" 341 | }, 342 | "engines": { 343 | "node": ">= 0.10.0" 344 | } 345 | } 346 | }, 347 | "dependencies": { 348 | "@codedungeon/messenger": { 349 | "version": "0.9.1", 350 | "resolved": "https://registry.npmjs.org/@codedungeon/messenger/-/messenger-0.9.1.tgz", 351 | "integrity": "sha512-8WmaBRbloBBvncqD9MXykapCZeg2yW3E787K46qZfCctE1ezSV9wLXKO2hqRl/3ycY0L0buWSAp/D5THR6UVsQ==", 352 | "dev": true, 353 | "requires": { 354 | "chalk": "2.4.2", 355 | "cli-clear": "1.0.4", 356 | "date-fns": "1.30.1", 357 | "dumper.js": "1.3.1", 358 | "fs-extra": "7.0.1", 359 | "strip-ansi": "5.0.0", 360 | "window-size": "1.1.1" 361 | } 362 | }, 363 | "ansi-regex": { 364 | "version": "4.1.0", 365 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", 366 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", 367 | "dev": true 368 | }, 369 | "ansi-styles": { 370 | "version": "3.2.1", 371 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 372 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 373 | "dev": true, 374 | "requires": { 375 | "color-convert": "^1.9.0" 376 | } 377 | }, 378 | "caller-id": { 379 | "version": "0.1.0", 380 | "resolved": "https://registry.npmjs.org/caller-id/-/caller-id-0.1.0.tgz", 381 | "integrity": "sha1-Wb2sCJPRLDhxQIJ5Ix+XRYNk8Hs=", 382 | "dev": true, 383 | "requires": { 384 | "stack-trace": "~0.0.7" 385 | } 386 | }, 387 | "chalk": { 388 | "version": "2.4.2", 389 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 390 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 391 | "dev": true, 392 | "requires": { 393 | "ansi-styles": "^3.2.1", 394 | "escape-string-regexp": "^1.0.5", 395 | "supports-color": "^5.3.0" 396 | } 397 | }, 398 | "cli-clear": { 399 | "version": "1.0.4", 400 | "resolved": "https://registry.npmjs.org/cli-clear/-/cli-clear-1.0.4.tgz", 401 | "integrity": "sha1-Qs8wUvJbcGg4b7fbrugtU0tkyJk=", 402 | "dev": true 403 | }, 404 | "color-convert": { 405 | "version": "1.9.3", 406 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 407 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 408 | "dev": true, 409 | "requires": { 410 | "color-name": "1.1.3" 411 | } 412 | }, 413 | "color-name": { 414 | "version": "1.1.3", 415 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 416 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 417 | "dev": true 418 | }, 419 | "cycle": { 420 | "version": "1.0.3", 421 | "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", 422 | "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=", 423 | "dev": true 424 | }, 425 | "date-fns": { 426 | "version": "1.30.1", 427 | "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", 428 | "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==", 429 | "dev": true 430 | }, 431 | "define-property": { 432 | "version": "1.0.0", 433 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", 434 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", 435 | "dev": true, 436 | "requires": { 437 | "is-descriptor": "^1.0.0" 438 | } 439 | }, 440 | "dumper.js": { 441 | "version": "1.3.1", 442 | "resolved": "https://registry.npmjs.org/dumper.js/-/dumper.js-1.3.1.tgz", 443 | "integrity": "sha512-Ljxzo70hUKk5eC5x0TPpx2xZxpaphylef8aD0OgGhSv4a5suZrCZyyjMnYRwbmX260owlijmW2RUHh6m2tU+jQ==", 444 | "dev": true, 445 | "requires": { 446 | "caller-id": "^0.1.0", 447 | "cycle": "^1.0.3", 448 | "kind-of": "^6.0.2", 449 | "kleur": "^3.0.2" 450 | } 451 | }, 452 | "escape-string-regexp": { 453 | "version": "1.0.5", 454 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 455 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 456 | "dev": true 457 | }, 458 | "fs-extra": { 459 | "version": "7.0.1", 460 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", 461 | "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", 462 | "dev": true, 463 | "requires": { 464 | "graceful-fs": "^4.1.2", 465 | "jsonfile": "^4.0.0", 466 | "universalify": "^0.1.0" 467 | } 468 | }, 469 | "graceful-fs": { 470 | "version": "4.2.4", 471 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", 472 | "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", 473 | "dev": true 474 | }, 475 | "has-flag": { 476 | "version": "3.0.0", 477 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 478 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 479 | "dev": true 480 | }, 481 | "is-accessor-descriptor": { 482 | "version": "1.0.0", 483 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 484 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 485 | "dev": true, 486 | "requires": { 487 | "kind-of": "^6.0.0" 488 | } 489 | }, 490 | "is-buffer": { 491 | "version": "1.1.6", 492 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 493 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", 494 | "dev": true 495 | }, 496 | "is-data-descriptor": { 497 | "version": "1.0.0", 498 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 499 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 500 | "dev": true, 501 | "requires": { 502 | "kind-of": "^6.0.0" 503 | } 504 | }, 505 | "is-descriptor": { 506 | "version": "1.0.2", 507 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 508 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 509 | "dev": true, 510 | "requires": { 511 | "is-accessor-descriptor": "^1.0.0", 512 | "is-data-descriptor": "^1.0.0", 513 | "kind-of": "^6.0.2" 514 | } 515 | }, 516 | "is-number": { 517 | "version": "3.0.0", 518 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", 519 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", 520 | "dev": true, 521 | "requires": { 522 | "kind-of": "^3.0.2" 523 | }, 524 | "dependencies": { 525 | "kind-of": { 526 | "version": "3.2.2", 527 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 528 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 529 | "dev": true, 530 | "requires": { 531 | "is-buffer": "^1.1.5" 532 | } 533 | } 534 | } 535 | }, 536 | "jsonfile": { 537 | "version": "4.0.0", 538 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", 539 | "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", 540 | "dev": true, 541 | "requires": { 542 | "graceful-fs": "^4.1.6" 543 | } 544 | }, 545 | "kind-of": { 546 | "version": "6.0.3", 547 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", 548 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", 549 | "dev": true 550 | }, 551 | "kleur": { 552 | "version": "3.0.3", 553 | "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", 554 | "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", 555 | "dev": true 556 | }, 557 | "prettier": { 558 | "version": "2.2.1", 559 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", 560 | "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", 561 | "dev": true 562 | }, 563 | "stack-trace": { 564 | "version": "0.0.10", 565 | "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", 566 | "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", 567 | "dev": true 568 | }, 569 | "strip-ansi": { 570 | "version": "5.0.0", 571 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.0.0.tgz", 572 | "integrity": "sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==", 573 | "dev": true, 574 | "requires": { 575 | "ansi-regex": "^4.0.0" 576 | } 577 | }, 578 | "supports-color": { 579 | "version": "5.5.0", 580 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 581 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 582 | "dev": true, 583 | "requires": { 584 | "has-flag": "^3.0.0" 585 | } 586 | }, 587 | "universalify": { 588 | "version": "0.1.2", 589 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", 590 | "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", 591 | "dev": true 592 | }, 593 | "window-size": { 594 | "version": "1.1.1", 595 | "resolved": "https://registry.npmjs.org/window-size/-/window-size-1.1.1.tgz", 596 | "integrity": "sha512-5D/9vujkmVQ7pSmc0SCBmHXbkv6eaHwXEx65MywhmUMsI8sGqJ972APq1lotfcwMKPFLuCFfL8xGHLIp7jaBmA==", 597 | "dev": true, 598 | "requires": { 599 | "define-property": "^1.0.0", 600 | "is-number": "^3.0.0" 601 | } 602 | } 603 | } 604 | } 605 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "php-cli-colors", 3 | "version": "1.12.2", 4 | "description": "Liven up you PHP Console Apps with standard colors!", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "php rainbow.php", 8 | "publish": "./tasks/publish.js" 9 | }, 10 | "repository": { 11 | "type": "git", 12 | "url": "git+https://github.com/mikeerickson/cd-php-cli-color.git" 13 | }, 14 | "keywords": [], 15 | "author": "Mike Erickson (https://github.com/mikeerickson)", 16 | "license": "MIT", 17 | "bugs": { 18 | "url": "https://github.com/mikeerickson/cd-php-cli-color/issues" 19 | }, 20 | "homepage": "https://github.com/mikeerickson/cd-php-cli-color#readme", 21 | "devDependencies": { 22 | "@codedungeon/messenger": "0.9.1", 23 | "prettier": "2.2.1" 24 | } 25 | } -------------------------------------------------------------------------------- /prettier.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "no-empty-interface": false, 3 | bracketSpacing: true, 4 | semi: false, 5 | printWidth: 180, 6 | tabWidth: 4, 7 | useTabs: false, 8 | singleQuote: false, 9 | quoteProps: "as-needed", 10 | trailingComma: "all", 11 | disableLanguages: ["html"], 12 | htmlWhitespaceSensitivity: "ignore", 13 | } 14 | -------------------------------------------------------------------------------- /rainbow.php: -------------------------------------------------------------------------------- 1 |