From fee47f6414cc3ae9a88f3ee0ed20f1d6f2d9f556 Mon Sep 17 00:00:00 2001 From: littleblack111 Date: Sat, 14 Oct 2023 15:58:02 +0800 Subject: added plugin from postcss: postcss-fixes rucksack-css --- node_modules/postcss-fixes/.codeclimate.yml | 33 + node_modules/postcss-fixes/.editorconfig | 12 + node_modules/postcss-fixes/CHANGELOG.md | 19 + node_modules/postcss-fixes/LICENSE | 20 + node_modules/postcss-fixes/README.md | 83 + node_modules/postcss-fixes/index.js | 144 + .../postcss-fixes/node_modules/.bin/browserslist | 1 + .../postcss-fixes/node_modules/ansi-regex/index.js | 4 + .../postcss-fixes/node_modules/ansi-regex/license | 21 + .../node_modules/ansi-regex/package.json | 64 + .../node_modules/ansi-regex/readme.md | 39 + .../node_modules/ansi-styles/index.js | 65 + .../postcss-fixes/node_modules/ansi-styles/license | 21 + .../node_modules/ansi-styles/package.json | 50 + .../node_modules/ansi-styles/readme.md | 86 + .../node_modules/balanced-match/.npmignore | 5 + .../node_modules/balanced-match/LICENSE.md | 21 + .../node_modules/balanced-match/README.md | 91 + .../node_modules/balanced-match/index.js | 58 + .../node_modules/balanced-match/package.json | 47 + .../node_modules/browserslist/CHANGELOG.md | 135 + .../node_modules/browserslist/LICENSE | 20 + .../node_modules/browserslist/README.md | 331 +++ .../postcss-fixes/node_modules/browserslist/cli.js | 95 + .../node_modules/browserslist/index.js | 648 ++++ .../node_modules/browserslist/package.json | 54 + .../postcss-fixes/node_modules/has-flag/index.js | 10 + .../postcss-fixes/node_modules/has-flag/license | 21 + .../node_modules/has-flag/package.json | 48 + .../postcss-fixes/node_modules/has-flag/readme.md | 64 + .../postcss-fixes/node_modules/picocolors/LICENSE | 15 + .../node_modules/picocolors/README.md | 23 + .../node_modules/picocolors/package.json | 25 + .../node_modules/picocolors/picocolors.browser.js | 4 + .../node_modules/picocolors/picocolors.d.ts | 5 + .../node_modules/picocolors/picocolors.js | 60 + .../postcss-fixes/node_modules/picocolors/types.ts | 30 + .../node_modules/pixrem/.editorconfig | 13 + .../node_modules/pixrem/.gitattributes | 1 + .../postcss-fixes/node_modules/pixrem/.jshintrc | 21 + .../postcss-fixes/node_modules/pixrem/.npmignore | 2 + .../postcss-fixes/node_modules/pixrem/.travis.yml | 4 + .../postcss-fixes/node_modules/pixrem/CHANGELOG.md | 77 + .../postcss-fixes/node_modules/pixrem/LICENSE | 22 + .../postcss-fixes/node_modules/pixrem/README.md | 89 + .../node_modules/pixrem/lib/pixrem.js | 160 + .../pixrem/node_modules/chalk/index.js | 116 + .../node_modules/pixrem/node_modules/chalk/license | 21 + .../chalk/node_modules/supports-color/index.js | 50 + .../chalk/node_modules/supports-color/license | 21 + .../chalk/node_modules/supports-color/package.json | 49 + .../chalk/node_modules/supports-color/readme.md | 36 + .../pixrem/node_modules/chalk/package.json | 70 + .../pixrem/node_modules/chalk/readme.md | 213 ++ .../pixrem/node_modules/postcss/CHANGELOG.md | 460 +++ .../pixrem/node_modules/postcss/LICENSE | 20 + .../pixrem/node_modules/postcss/README.md | 379 +++ .../node_modules/postcss/docs/guidelines/plugin.md | 195 ++ .../node_modules/postcss/docs/guidelines/runner.md | 143 + .../node_modules/postcss/docs/source-maps.md | 72 + .../pixrem/node_modules/postcss/docs/syntax.md | 231 ++ .../pixrem/node_modules/postcss/lib/at-rule.js | 159 + .../pixrem/node_modules/postcss/lib/comment.js | 89 + .../pixrem/node_modules/postcss/lib/container.js | 935 ++++++ .../node_modules/postcss/lib/css-syntax-error.js | 272 ++ .../pixrem/node_modules/postcss/lib/declaration.js | 130 + .../pixrem/node_modules/postcss/lib/input.js | 198 ++ .../pixrem/node_modules/postcss/lib/lazy-result.js | 432 +++ .../pixrem/node_modules/postcss/lib/list.js | 95 + .../node_modules/postcss/lib/map-generator.js | 312 ++ .../pixrem/node_modules/postcss/lib/node.js | 672 +++++ .../pixrem/node_modules/postcss/lib/parse.js | 43 + .../pixrem/node_modules/postcss/lib/parser.js | 514 ++++ .../pixrem/node_modules/postcss/lib/postcss.d.ts | 1305 +++++++++ .../pixrem/node_modules/postcss/lib/postcss.js | 292 ++ .../node_modules/postcss/lib/previous-map.js | 162 + .../pixrem/node_modules/postcss/lib/processor.js | 240 ++ .../pixrem/node_modules/postcss/lib/result.js | 206 ++ .../pixrem/node_modules/postcss/lib/root.js | 143 + .../pixrem/node_modules/postcss/lib/rule.js | 136 + .../pixrem/node_modules/postcss/lib/stringifier.js | 335 +++ .../pixrem/node_modules/postcss/lib/stringify.js | 17 + .../node_modules/postcss/lib/terminal-highlight.js | 76 + .../pixrem/node_modules/postcss/lib/tokenize.js | 273 ++ .../pixrem/node_modules/postcss/lib/vendor.js | 52 + .../pixrem/node_modules/postcss/lib/warn-once.js | 14 + .../pixrem/node_modules/postcss/lib/warning.js | 122 + .../pixrem/node_modules/postcss/package.json | 76 + .../node_modules/reduce-css-calc/CHANGELOG.md | 87 + .../pixrem/node_modules/reduce-css-calc/LICENSE | 20 + .../pixrem/node_modules/reduce-css-calc/README.md | 72 + .../pixrem/node_modules/reduce-css-calc/index.js | 164 ++ .../node_modules/reduce-css-calc/package.json | 33 + .../pixrem/node_modules/source-map/CHANGELOG.md | 301 ++ .../pixrem/node_modules/source-map/LICENSE | 28 + .../pixrem/node_modules/source-map/README.md | 729 +++++ .../source-map/dist/source-map.debug.js | 3091 ++++++++++++++++++++ .../node_modules/source-map/dist/source-map.js | 3090 +++++++++++++++++++ .../node_modules/source-map/dist/source-map.min.js | 2 + .../source-map/dist/source-map.min.js.map | 1 + .../node_modules/source-map/lib/array-set.js | 121 + .../node_modules/source-map/lib/base64-vlq.js | 140 + .../pixrem/node_modules/source-map/lib/base64.js | 67 + .../node_modules/source-map/lib/binary-search.js | 111 + .../node_modules/source-map/lib/mapping-list.js | 79 + .../node_modules/source-map/lib/quick-sort.js | 114 + .../source-map/lib/source-map-consumer.js | 1082 +++++++ .../source-map/lib/source-map-generator.js | 416 +++ .../node_modules/source-map/lib/source-node.js | 413 +++ .../pixrem/node_modules/source-map/lib/util.js | 417 +++ .../pixrem/node_modules/source-map/package.json | 72 + .../pixrem/node_modules/source-map/source-map.js | 8 + .../pixrem/node_modules/supports-color/browser.js | 2 + .../pixrem/node_modules/supports-color/index.js | 84 + .../pixrem/node_modules/supports-color/license | 21 + .../node_modules/supports-color/package.json | 66 + .../pixrem/node_modules/supports-color/readme.md | 60 + .../postcss-fixes/node_modules/pixrem/package.json | 42 + .../postcss-fixes/node_modules/pixrem/test/test.js | 285 ++ .../node_modules/postcss-calc/CHANGELOG.md | 76 + .../node_modules/postcss-calc/LICENSE | 20 + .../node_modules/postcss-calc/README.md | 171 ++ .../node_modules/postcss-calc/dist/index.js | 34 + .../postcss-calc/dist/lib/transform.js | 67 + .../postcss-calc/node_modules/postcss/LICENSE | 20 + .../postcss-calc/node_modules/postcss/README.md | 43 + .../node_modules/postcss/lib/at-rule.js | 127 + .../node_modules/postcss/lib/comment.js | 55 + .../node_modules/postcss/lib/container.js | 774 +++++ .../node_modules/postcss/lib/css-syntax-error.js | 296 ++ .../node_modules/postcss/lib/declaration.js | 96 + .../postcss-calc/node_modules/postcss/lib/input.js | 214 ++ .../node_modules/postcss/lib/lazy-result.js | 437 +++ .../postcss-calc/node_modules/postcss/lib/list.js | 93 + .../node_modules/postcss/lib/map-generator.js | 347 +++ .../postcss-calc/node_modules/postcss/lib/node.js | 606 ++++ .../postcss-calc/node_modules/postcss/lib/parse.js | 40 + .../node_modules/postcss/lib/parser.js | 609 ++++ .../node_modules/postcss/lib/postcss.d.ts | 1283 ++++++++ .../node_modules/postcss/lib/postcss.js | 285 ++ .../node_modules/postcss/lib/previous-map.js | 172 ++ .../node_modules/postcss/lib/processor.js | 264 ++ .../node_modules/postcss/lib/result.js | 213 ++ .../postcss-calc/node_modules/postcss/lib/root.js | 122 + .../postcss-calc/node_modules/postcss/lib/rule.js | 116 + .../node_modules/postcss/lib/stringifier.js | 362 +++ .../node_modules/postcss/lib/stringify.js | 18 + .../node_modules/postcss/lib/terminal-highlight.js | 84 + .../node_modules/postcss/lib/tokenize.js | 295 ++ .../node_modules/postcss/lib/vendor.js | 53 + .../node_modules/postcss/lib/warn-once.js | 17 + .../node_modules/postcss/lib/warning.js | 131 + .../postcss-calc/node_modules/postcss/package.json | 37 + .../node_modules/postcss-calc/package.json | 54 + .../node_modules/postcss-pseudoelements/.npmignore | 2 + .../postcss-pseudoelements/ChangeLog.md | 16 + .../node_modules/postcss-pseudoelements/README.md | 17 + .../node_modules/postcss-pseudoelements/index.js | 22 + .../node_modules/chalk/index.js | 116 + .../node_modules/chalk/license | 21 + .../chalk/node_modules/supports-color/index.js | 50 + .../chalk/node_modules/supports-color/license | 21 + .../chalk/node_modules/supports-color/package.json | 49 + .../chalk/node_modules/supports-color/readme.md | 36 + .../node_modules/chalk/package.json | 70 + .../node_modules/chalk/readme.md | 213 ++ .../node_modules/postcss/CHANGELOG.md | 460 +++ .../node_modules/postcss/LICENSE | 20 + .../node_modules/postcss/README.md | 379 +++ .../node_modules/postcss/docs/guidelines/plugin.md | 195 ++ .../node_modules/postcss/docs/guidelines/runner.md | 143 + .../node_modules/postcss/docs/source-maps.md | 72 + .../node_modules/postcss/docs/syntax.md | 231 ++ .../node_modules/postcss/lib/at-rule.js | 159 + .../node_modules/postcss/lib/comment.js | 89 + .../node_modules/postcss/lib/container.js | 935 ++++++ .../node_modules/postcss/lib/css-syntax-error.js | 272 ++ .../node_modules/postcss/lib/declaration.js | 130 + .../node_modules/postcss/lib/input.js | 198 ++ .../node_modules/postcss/lib/lazy-result.js | 432 +++ .../node_modules/postcss/lib/list.js | 95 + .../node_modules/postcss/lib/map-generator.js | 312 ++ .../node_modules/postcss/lib/node.js | 672 +++++ .../node_modules/postcss/lib/parse.js | 43 + .../node_modules/postcss/lib/parser.js | 514 ++++ .../node_modules/postcss/lib/postcss.d.ts | 1305 +++++++++ .../node_modules/postcss/lib/postcss.js | 292 ++ .../node_modules/postcss/lib/previous-map.js | 162 + .../node_modules/postcss/lib/processor.js | 240 ++ .../node_modules/postcss/lib/result.js | 206 ++ .../node_modules/postcss/lib/root.js | 143 + .../node_modules/postcss/lib/rule.js | 136 + .../node_modules/postcss/lib/stringifier.js | 335 +++ .../node_modules/postcss/lib/stringify.js | 17 + .../node_modules/postcss/lib/terminal-highlight.js | 76 + .../node_modules/postcss/lib/tokenize.js | 273 ++ .../node_modules/postcss/lib/vendor.js | 52 + .../node_modules/postcss/lib/warn-once.js | 14 + .../node_modules/postcss/lib/warning.js | 122 + .../node_modules/postcss/package.json | 76 + .../node_modules/source-map/CHANGELOG.md | 301 ++ .../node_modules/source-map/LICENSE | 28 + .../node_modules/source-map/README.md | 729 +++++ .../source-map/dist/source-map.debug.js | 3091 ++++++++++++++++++++ .../node_modules/source-map/dist/source-map.js | 3090 +++++++++++++++++++ .../node_modules/source-map/dist/source-map.min.js | 2 + .../source-map/dist/source-map.min.js.map | 1 + .../node_modules/source-map/lib/array-set.js | 121 + .../node_modules/source-map/lib/base64-vlq.js | 140 + .../node_modules/source-map/lib/base64.js | 67 + .../node_modules/source-map/lib/binary-search.js | 111 + .../node_modules/source-map/lib/mapping-list.js | 79 + .../node_modules/source-map/lib/quick-sort.js | 114 + .../source-map/lib/source-map-consumer.js | 1082 +++++++ .../source-map/lib/source-map-generator.js | 416 +++ .../node_modules/source-map/lib/source-node.js | 413 +++ .../node_modules/source-map/lib/util.js | 417 +++ .../node_modules/source-map/package.json | 72 + .../node_modules/source-map/source-map.js | 8 + .../node_modules/supports-color/browser.js | 2 + .../node_modules/supports-color/index.js | 84 + .../node_modules/supports-color/license | 21 + .../node_modules/supports-color/package.json | 66 + .../node_modules/supports-color/readme.md | 60 + .../postcss-pseudoelements/package.json | 33 + .../postcss-pseudoelements/test/expected.css | 48 + .../postcss-pseudoelements/test/input.css | 48 + .../postcss-pseudoelements/test/test.js | 17 + .../node_modules/postcss-selector-parser/API.md | 624 ++++ .../postcss-selector-parser/CHANGELOG.md | 157 + .../postcss-selector-parser/LICENSE-MIT | 22 + .../node_modules/postcss-selector-parser/README.md | 46 + .../postcss-selector-parser/dist/index.js | 114 + .../postcss-selector-parser/dist/parser.js | 643 ++++ .../postcss-selector-parser/dist/processor.js | 49 + .../dist/selectors/attribute.js | 54 + .../dist/selectors/className.js | 39 + .../dist/selectors/combinator.js | 35 + .../dist/selectors/comment.js | 35 + .../dist/selectors/container.js | 338 +++ .../postcss-selector-parser/dist/selectors/id.js | 39 + .../dist/selectors/namespace.js | 45 + .../dist/selectors/nesting.js | 36 + .../postcss-selector-parser/dist/selectors/node.js | 102 + .../dist/selectors/pseudo.js | 40 + .../postcss-selector-parser/dist/selectors/root.js | 43 + .../dist/selectors/selector.js | 35 + .../dist/selectors/string.js | 35 + .../postcss-selector-parser/dist/selectors/tag.js | 35 + .../dist/selectors/types.js | 15 + .../dist/selectors/universal.js | 36 + .../postcss-selector-parser/dist/sortAscending.js | 10 + .../postcss-selector-parser/dist/tokenize.js | 231 ++ .../postcss-selector-parser/package.json | 64 + .../node_modules/postcss/CHANGELOG.md | 552 ++++ .../node_modules/postcss/CONTRIBUTING.md | 78 + .../postcss-fixes/node_modules/postcss/LICENSE | 20 + .../node_modules/postcss/README-cn.md | 349 +++ .../postcss-fixes/node_modules/postcss/README.md | 376 +++ .../node_modules/postcss/docs/architecture.md | 156 + .../node_modules/postcss/docs/guidelines/plugin.md | 195 ++ .../node_modules/postcss/docs/guidelines/runner.md | 143 + .../node_modules/postcss/docs/source-maps.md | 74 + .../node_modules/postcss/docs/syntax.md | 231 ++ .../postcss-fixes/node_modules/postcss/gulpfile.js | 97 + .../node_modules/postcss/lib/at-rule.js | 131 + .../node_modules/postcss/lib/comment.js | 61 + .../node_modules/postcss/lib/container.js | 907 ++++++ .../node_modules/postcss/lib/css-syntax-error.js | 256 ++ .../node_modules/postcss/lib/declaration.js | 101 + .../node_modules/postcss/lib/input.js | 204 ++ .../node_modules/postcss/lib/lazy-result.js | 435 +++ .../postcss-fixes/node_modules/postcss/lib/list.js | 95 + .../node_modules/postcss/lib/map-generator.js | 323 ++ .../postcss-fixes/node_modules/postcss/lib/node.js | 625 ++++ .../node_modules/postcss/lib/parse.js | 41 + .../node_modules/postcss/lib/parser.js | 552 ++++ .../node_modules/postcss/lib/postcss.d.ts | 1301 ++++++++ .../node_modules/postcss/lib/postcss.js | 292 ++ .../node_modules/postcss/lib/previous-map.js | 170 ++ .../node_modules/postcss/lib/processor.js | 240 ++ .../node_modules/postcss/lib/result.js | 206 ++ .../postcss-fixes/node_modules/postcss/lib/root.js | 129 + .../postcss-fixes/node_modules/postcss/lib/rule.js | 123 + .../node_modules/postcss/lib/stringifier.js | 344 +++ .../node_modules/postcss/lib/stringify.js | 17 + .../node_modules/postcss/lib/terminal-highlight.js | 83 + .../node_modules/postcss/lib/tokenize.js | 306 ++ .../node_modules/postcss/lib/vendor.js | 52 + .../node_modules/postcss/lib/warn-once.js | 14 + .../node_modules/postcss/lib/warning.js | 122 + .../node_modules/postcss/package.json | 25 + .../postcss-fixes/node_modules/strip-ansi/index.js | 6 + .../postcss-fixes/node_modules/strip-ansi/license | 21 + .../node_modules/strip-ansi/package.json | 57 + .../node_modules/strip-ansi/readme.md | 33 + node_modules/postcss-fixes/package.json | 48 + 297 files changed, 63693 insertions(+) create mode 100644 node_modules/postcss-fixes/.codeclimate.yml create mode 100644 node_modules/postcss-fixes/.editorconfig create mode 100644 node_modules/postcss-fixes/CHANGELOG.md create mode 100644 node_modules/postcss-fixes/LICENSE create mode 100644 node_modules/postcss-fixes/README.md create mode 100644 node_modules/postcss-fixes/index.js create mode 120000 node_modules/postcss-fixes/node_modules/.bin/browserslist create mode 100644 node_modules/postcss-fixes/node_modules/ansi-regex/index.js create mode 100644 node_modules/postcss-fixes/node_modules/ansi-regex/license create mode 100644 node_modules/postcss-fixes/node_modules/ansi-regex/package.json create mode 100644 node_modules/postcss-fixes/node_modules/ansi-regex/readme.md create mode 100644 node_modules/postcss-fixes/node_modules/ansi-styles/index.js create mode 100644 node_modules/postcss-fixes/node_modules/ansi-styles/license create mode 100644 node_modules/postcss-fixes/node_modules/ansi-styles/package.json create mode 100644 node_modules/postcss-fixes/node_modules/ansi-styles/readme.md create mode 100644 node_modules/postcss-fixes/node_modules/balanced-match/.npmignore create mode 100644 node_modules/postcss-fixes/node_modules/balanced-match/LICENSE.md create mode 100644 node_modules/postcss-fixes/node_modules/balanced-match/README.md create mode 100644 node_modules/postcss-fixes/node_modules/balanced-match/index.js create mode 100644 node_modules/postcss-fixes/node_modules/balanced-match/package.json create mode 100644 node_modules/postcss-fixes/node_modules/browserslist/CHANGELOG.md create mode 100644 node_modules/postcss-fixes/node_modules/browserslist/LICENSE create mode 100644 node_modules/postcss-fixes/node_modules/browserslist/README.md create mode 100755 node_modules/postcss-fixes/node_modules/browserslist/cli.js create mode 100644 node_modules/postcss-fixes/node_modules/browserslist/index.js create mode 100644 node_modules/postcss-fixes/node_modules/browserslist/package.json create mode 100644 node_modules/postcss-fixes/node_modules/has-flag/index.js create mode 100644 node_modules/postcss-fixes/node_modules/has-flag/license create mode 100644 node_modules/postcss-fixes/node_modules/has-flag/package.json create mode 100644 node_modules/postcss-fixes/node_modules/has-flag/readme.md create mode 100644 node_modules/postcss-fixes/node_modules/picocolors/LICENSE create mode 100644 node_modules/postcss-fixes/node_modules/picocolors/README.md create mode 100644 node_modules/postcss-fixes/node_modules/picocolors/package.json create mode 100644 node_modules/postcss-fixes/node_modules/picocolors/picocolors.browser.js create mode 100644 node_modules/postcss-fixes/node_modules/picocolors/picocolors.d.ts create mode 100644 node_modules/postcss-fixes/node_modules/picocolors/picocolors.js create mode 100644 node_modules/postcss-fixes/node_modules/picocolors/types.ts create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/.editorconfig create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/.gitattributes create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/.jshintrc create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/.npmignore create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/.travis.yml create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/CHANGELOG.md create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/LICENSE create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/README.md create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/lib/pixrem.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/chalk/index.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/chalk/license create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/chalk/node_modules/supports-color/index.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/chalk/node_modules/supports-color/license create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/chalk/node_modules/supports-color/package.json create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/chalk/node_modules/supports-color/readme.md create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/chalk/package.json create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/chalk/readme.md create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/CHANGELOG.md create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/LICENSE create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/README.md create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/docs/guidelines/plugin.md create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/docs/guidelines/runner.md create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/docs/source-maps.md create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/docs/syntax.md create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/lib/at-rule.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/lib/comment.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/lib/container.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/lib/css-syntax-error.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/lib/declaration.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/lib/input.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/lib/lazy-result.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/lib/list.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/lib/map-generator.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/lib/node.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/lib/parse.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/lib/parser.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/lib/postcss.d.ts create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/lib/postcss.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/lib/previous-map.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/lib/processor.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/lib/result.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/lib/root.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/lib/rule.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/lib/stringifier.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/lib/stringify.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/lib/terminal-highlight.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/lib/tokenize.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/lib/vendor.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/lib/warn-once.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/lib/warning.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/postcss/package.json create mode 100755 node_modules/postcss-fixes/node_modules/pixrem/node_modules/reduce-css-calc/CHANGELOG.md create mode 100755 node_modules/postcss-fixes/node_modules/pixrem/node_modules/reduce-css-calc/LICENSE create mode 100755 node_modules/postcss-fixes/node_modules/pixrem/node_modules/reduce-css-calc/README.md create mode 100755 node_modules/postcss-fixes/node_modules/pixrem/node_modules/reduce-css-calc/index.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/reduce-css-calc/package.json create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/source-map/CHANGELOG.md create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/source-map/LICENSE create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/source-map/README.md create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/source-map/dist/source-map.debug.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/source-map/dist/source-map.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/source-map/dist/source-map.min.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/source-map/dist/source-map.min.js.map create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/source-map/lib/array-set.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/source-map/lib/base64-vlq.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/source-map/lib/base64.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/source-map/lib/binary-search.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/source-map/lib/mapping-list.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/source-map/lib/quick-sort.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/source-map/lib/source-map-consumer.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/source-map/lib/source-map-generator.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/source-map/lib/source-node.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/source-map/lib/util.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/source-map/package.json create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/source-map/source-map.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/supports-color/browser.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/supports-color/index.js create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/supports-color/license create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/supports-color/package.json create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/node_modules/supports-color/readme.md create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/package.json create mode 100644 node_modules/postcss-fixes/node_modules/pixrem/test/test.js create mode 100755 node_modules/postcss-fixes/node_modules/postcss-calc/CHANGELOG.md create mode 100755 node_modules/postcss-fixes/node_modules/postcss-calc/LICENSE create mode 100755 node_modules/postcss-fixes/node_modules/postcss-calc/README.md create mode 100644 node_modules/postcss-fixes/node_modules/postcss-calc/dist/index.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-calc/dist/lib/transform.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-calc/node_modules/postcss/LICENSE create mode 100644 node_modules/postcss-fixes/node_modules/postcss-calc/node_modules/postcss/README.md create mode 100644 node_modules/postcss-fixes/node_modules/postcss-calc/node_modules/postcss/lib/at-rule.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-calc/node_modules/postcss/lib/comment.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-calc/node_modules/postcss/lib/container.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-calc/node_modules/postcss/lib/css-syntax-error.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-calc/node_modules/postcss/lib/declaration.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-calc/node_modules/postcss/lib/input.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-calc/node_modules/postcss/lib/lazy-result.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-calc/node_modules/postcss/lib/list.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-calc/node_modules/postcss/lib/map-generator.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-calc/node_modules/postcss/lib/node.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-calc/node_modules/postcss/lib/parse.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-calc/node_modules/postcss/lib/parser.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-calc/node_modules/postcss/lib/postcss.d.ts create mode 100644 node_modules/postcss-fixes/node_modules/postcss-calc/node_modules/postcss/lib/postcss.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-calc/node_modules/postcss/lib/previous-map.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-calc/node_modules/postcss/lib/processor.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-calc/node_modules/postcss/lib/result.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-calc/node_modules/postcss/lib/root.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-calc/node_modules/postcss/lib/rule.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-calc/node_modules/postcss/lib/stringifier.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-calc/node_modules/postcss/lib/stringify.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-calc/node_modules/postcss/lib/terminal-highlight.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-calc/node_modules/postcss/lib/tokenize.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-calc/node_modules/postcss/lib/vendor.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-calc/node_modules/postcss/lib/warn-once.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-calc/node_modules/postcss/lib/warning.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-calc/node_modules/postcss/package.json create mode 100644 node_modules/postcss-fixes/node_modules/postcss-calc/package.json create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/.npmignore create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/ChangeLog.md create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/README.md create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/index.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/chalk/index.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/chalk/license create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/chalk/node_modules/supports-color/index.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/chalk/node_modules/supports-color/license create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/chalk/node_modules/supports-color/package.json create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/chalk/node_modules/supports-color/readme.md create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/chalk/package.json create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/chalk/readme.md create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/CHANGELOG.md create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/LICENSE create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/README.md create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/docs/guidelines/plugin.md create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/docs/guidelines/runner.md create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/docs/source-maps.md create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/docs/syntax.md create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/lib/at-rule.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/lib/comment.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/lib/container.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/lib/css-syntax-error.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/lib/declaration.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/lib/input.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/lib/lazy-result.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/lib/list.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/lib/map-generator.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/lib/node.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/lib/parse.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/lib/parser.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/lib/postcss.d.ts create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/lib/postcss.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/lib/previous-map.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/lib/processor.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/lib/result.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/lib/root.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/lib/rule.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/lib/stringifier.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/lib/stringify.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/lib/terminal-highlight.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/lib/tokenize.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/lib/vendor.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/lib/warn-once.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/lib/warning.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/postcss/package.json create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/source-map/CHANGELOG.md create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/source-map/LICENSE create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/source-map/README.md create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/source-map/dist/source-map.debug.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/source-map/dist/source-map.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/source-map/dist/source-map.min.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/source-map/dist/source-map.min.js.map create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/source-map/lib/array-set.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/source-map/lib/base64-vlq.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/source-map/lib/base64.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/source-map/lib/binary-search.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/source-map/lib/mapping-list.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/source-map/lib/quick-sort.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/source-map/lib/source-map-consumer.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/source-map/lib/source-map-generator.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/source-map/lib/source-node.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/source-map/lib/util.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/source-map/package.json create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/source-map/source-map.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/supports-color/browser.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/supports-color/index.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/supports-color/license create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/supports-color/package.json create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/node_modules/supports-color/readme.md create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/package.json create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/test/expected.css create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/test/input.css create mode 100644 node_modules/postcss-fixes/node_modules/postcss-pseudoelements/test/test.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-selector-parser/API.md create mode 100644 node_modules/postcss-fixes/node_modules/postcss-selector-parser/CHANGELOG.md create mode 100644 node_modules/postcss-fixes/node_modules/postcss-selector-parser/LICENSE-MIT create mode 100644 node_modules/postcss-fixes/node_modules/postcss-selector-parser/README.md create mode 100644 node_modules/postcss-fixes/node_modules/postcss-selector-parser/dist/index.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-selector-parser/dist/parser.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-selector-parser/dist/processor.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-selector-parser/dist/selectors/attribute.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-selector-parser/dist/selectors/className.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-selector-parser/dist/selectors/combinator.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-selector-parser/dist/selectors/comment.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-selector-parser/dist/selectors/container.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-selector-parser/dist/selectors/id.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-selector-parser/dist/selectors/namespace.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-selector-parser/dist/selectors/nesting.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-selector-parser/dist/selectors/node.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-selector-parser/dist/selectors/pseudo.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-selector-parser/dist/selectors/root.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-selector-parser/dist/selectors/selector.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-selector-parser/dist/selectors/string.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-selector-parser/dist/selectors/tag.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-selector-parser/dist/selectors/types.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-selector-parser/dist/selectors/universal.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-selector-parser/dist/sortAscending.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-selector-parser/dist/tokenize.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss-selector-parser/package.json create mode 100644 node_modules/postcss-fixes/node_modules/postcss/CHANGELOG.md create mode 100644 node_modules/postcss-fixes/node_modules/postcss/CONTRIBUTING.md create mode 100644 node_modules/postcss-fixes/node_modules/postcss/LICENSE create mode 100644 node_modules/postcss-fixes/node_modules/postcss/README-cn.md create mode 100644 node_modules/postcss-fixes/node_modules/postcss/README.md create mode 100644 node_modules/postcss-fixes/node_modules/postcss/docs/architecture.md create mode 100644 node_modules/postcss-fixes/node_modules/postcss/docs/guidelines/plugin.md create mode 100644 node_modules/postcss-fixes/node_modules/postcss/docs/guidelines/runner.md create mode 100644 node_modules/postcss-fixes/node_modules/postcss/docs/source-maps.md create mode 100644 node_modules/postcss-fixes/node_modules/postcss/docs/syntax.md create mode 100644 node_modules/postcss-fixes/node_modules/postcss/gulpfile.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss/lib/at-rule.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss/lib/comment.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss/lib/container.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss/lib/css-syntax-error.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss/lib/declaration.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss/lib/input.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss/lib/lazy-result.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss/lib/list.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss/lib/map-generator.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss/lib/node.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss/lib/parse.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss/lib/parser.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss/lib/postcss.d.ts create mode 100644 node_modules/postcss-fixes/node_modules/postcss/lib/postcss.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss/lib/previous-map.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss/lib/processor.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss/lib/result.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss/lib/root.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss/lib/rule.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss/lib/stringifier.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss/lib/stringify.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss/lib/terminal-highlight.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss/lib/tokenize.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss/lib/vendor.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss/lib/warn-once.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss/lib/warning.js create mode 100644 node_modules/postcss-fixes/node_modules/postcss/package.json create mode 100644 node_modules/postcss-fixes/node_modules/strip-ansi/index.js create mode 100644 node_modules/postcss-fixes/node_modules/strip-ansi/license create mode 100644 node_modules/postcss-fixes/node_modules/strip-ansi/package.json create mode 100644 node_modules/postcss-fixes/node_modules/strip-ansi/readme.md create mode 100644 node_modules/postcss-fixes/package.json (limited to 'node_modules/postcss-fixes') diff --git a/node_modules/postcss-fixes/.codeclimate.yml b/node_modules/postcss-fixes/.codeclimate.yml new file mode 100644 index 00000000..3d8e59cf --- /dev/null +++ b/node_modules/postcss-fixes/.codeclimate.yml @@ -0,0 +1,33 @@ +--- +engines: + duplication: + enabled: true + config: + languages: + - ruby + - javascript + - python + - php + eslint: + enabled: true + fixme: + enabled: true +ratings: + paths: + - "**.inc" + - "**.js" + - "**.jsx" + - "**.module" + - "**.php" + - "**.py" + - "**.rb" +exclude_paths: [] +engines: + # ... CONFIG CONTENT ... + eslint: + enabled: true + # ... CONFIG CONTENT ... + checks: + global-require: + enabled: false +# ... CONFIG CONTENT ... diff --git a/node_modules/postcss-fixes/.editorconfig b/node_modules/postcss-fixes/.editorconfig new file mode 100644 index 00000000..c0f42646 --- /dev/null +++ b/node_modules/postcss-fixes/.editorconfig @@ -0,0 +1,12 @@ +root = true + +[*] +indent_style = space +indent_size = 4 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.{json,yml}] +indent_size = 2 diff --git a/node_modules/postcss-fixes/CHANGELOG.md b/node_modules/postcss-fixes/CHANGELOG.md new file mode 100644 index 00000000..ac1a100e --- /dev/null +++ b/node_modules/postcss-fixes/CHANGELOG.md @@ -0,0 +1,19 @@ +## 2.0 +* support Postcss v6 +* support nodejs versions 4-8 +* bump misc dependency versions + +## 1.4 +* add postcs-vmin to support vmin in IE9 + +## 1.3 +* add postcss-nth-child-fix + +## 1.2 +* available presets: recommended, safe, fixes-only, fallbacks-only, enable-all and disable-all + +## 1.1 +* Restructuring, option 'mode' changed to 'preset' + +## 1.0 +* Initial release diff --git a/node_modules/postcss-fixes/LICENSE b/node_modules/postcss-fixes/LICENSE new file mode 100644 index 00000000..6680d145 --- /dev/null +++ b/node_modules/postcss-fixes/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright 2016 Matthias Müller + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/postcss-fixes/README.md b/node_modules/postcss-fixes/README.md new file mode 100644 index 00000000..4c505d0e --- /dev/null +++ b/node_modules/postcss-fixes/README.md @@ -0,0 +1,83 @@ +# PostCSS Fixes [![Build Status][ci-img]][ci] [![Code Climate](https://codeclimate.com/github/MattDiMu/postcss-fixes/badges/gpa.svg)](https://codeclimate.com/github/MattDiMu/postcss-fixes) + +[PostCSS]: https://github.com/postcss/postcss +[ci-img]: https://travis-ci.org/MattDiMu/postcss-fixes.svg +[ci]: https://travis-ci.org/MattDiMu/postcss-fixes + +[PostCSS] pack to fix known Browser Bugs, making it easier to write your CSS according to the official W3C Syntax. Additionally it adds safe fallbacks. + +[postcss-fixes](https://github.com/MattDiMu/postcss-fixes) differs from [cssnext](https://github.com/MoOx/postcss-cssnext) by doing only transformations for stable CSS Features, whereas cssnext is more progressively tries to implement features, which aren't official W3C recommendations yet and could therefore change/break in the future. Another alternative is [oldie](https://github.com/jonathantneal/oldie), which is Internet Explorer only, however. + + +## A few examples +```css +:nth-child(n)::before { + flex: 1; + opacity: .5; + height: 2.5rem; + width: 10vmin; +} +``` + +```css +:nth-child(1n):before { + flex: 1 1 0%; /* fix some flexbox issues */ + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; /* opacity for IE */ + opacity: .5; + height: 40px; /* rem to px fallback */ + height: 2.5rem; + width: 10vm; + width: 10vmin; +} +``` + +## Used Plugins +Hint: An opinionated config for these plugins is used, to make them more future-safe +* [pixrem](https://github.com/robwierzbowski/node-pixrem) +* [postcss-calc](https://github.com/postcss/postcss-calc) +* [postcss-flexbugs-fixes](https://github.com/luisrudge/postcss-flexbugs-fixes) (also in 'safe' mode) +* [postcss-pseudoelements](https://github.com/axa-ch/postcss-pseudoelements) (also in 'safe' mode) +* [postcss-unopacity](https://github.com/jonathantneal/postcss-unopacity) +* [postcss-unroot](https://github.com/jonathantneal/postcss-unroot) +* [postcss-nth-child-fix](https://github.com/MattDiMu/postcss-nth-child-fix) +* [postcss-vmin](https://github.com/iamvdo/postcss-vmin) + + +### Recommended Usage +[postcss-fixes](https://github.com/MattDiMu/postcss-fixes) is recommended to be used in conjunction with [autoprefixer](https://github.com/postcss/autoprefixer) and [cssnano](https://github.com/ben-eb/cssnano) (optimizations) +```js +/* for developement */ +postcss([ + require('postcss-fixes')(), + require('autoprefixer')() +]) + +/* for production */ +postcss([ + require('postcss-fixes')(), + require('autoprefixer')(), + require('cssnano')({ + 'safe': true, // I would recommend using cssnano only in safe mode + 'calc': false // calc is no longer necessary, as it is already done by postcss-fixes due to precision rounding reasons + }) +]) +``` +See [PostCSS](https://github.com/postcss/postcss) docs for examples for your environment (e.g. if you are using a task runner like grunt, gulp, broccoli, webpack, etc.). + + +## Options +### `preset` +* `recommended` (default) +* `safe` +* `fixes-only` +* `fallbacks-only` +* `enable-all` +* `disable-all` + +This would look like this: + +```js +postcss([ + require('postcss-fixes')({ preset: 'safe' }) // do only very safe transformations +]) +``` diff --git a/node_modules/postcss-fixes/index.js b/node_modules/postcss-fixes/index.js new file mode 100644 index 00000000..a5fc5c8e --- /dev/null +++ b/node_modules/postcss-fixes/index.js @@ -0,0 +1,144 @@ +var postcss = require('postcss'); + + +var presets = [ + 'recommended', // default + 'safe', + 'fixes-only', + 'fallbacks-only', + 'enable-all', + 'disable-all' +]; +var defaultPreset = 'recommended'; + +var plugins = [ + { + id: 'postcss-pseudoelements', + plugin: require('postcss-pseudoelements'), + options: {}, + isSafe: true, + isRecommended: true, + isFallback: false + }, + { + id: 'postcss-flexbugs-fixes', + plugin: require('postcss-flexbugs-fixes'), + options: {}, + isSafe: true, + isRecommended: true, + isFallback: false + }, + { + /* + theoretically unsafe, as a browser might calculate + a different precision of decimals, but in practice + we want the same precision in all browsers anway. + therefore we recommmend using this even in development mode + */ + id: 'postcss-calc', + plugin: require('postcss-calc'), + options: {}, + isSafe: false, + isRecommended: true, + isFallback: false + }, + { + id: 'postcss-unroot', + plugin: require('postcss-unroot'), + options: {}, + isSafe: false, + isRecommended: true, + isFallback: true + }, + { + id: 'postcss-unopacity', + plugin: require('postcss-unopacity'), + options: { method: 'copy', prefixed: true }, + isSafe: false, + isRecommended: true, + isFallback: true + }, + { + id: 'pixrem', + plugin: require('pixrem'), + options: { + replace: false, + html: true, // root value autodetection + unitPrecision: 5 + }, + isSafe: false, + isRecommended: true, + isFallback: true + }, + { + id: 'postcss-nth-child-fix', + plugin: require('postcss-nth-child-fix'), + options: {}, + isSafe: true, + isRecommended: true, + isFallback: false + }, + { + id: 'postcss-vmin', + plugin: require('postcss-vmin'), + options: {}, + isSafe: true, + isRecommended: true, + isFallback: false + } +]; + +/* + currently not used plugins - reason why + postcss-unnth - potentially bloats files too much, not worth the few edge cases IMO + postcss-unrgba - when using the 'clone'-method to preserve the desired color, it gets hard to create a custom fallback +*/ + +function isSafe(elem) { return elem.isSafe; } // eslint-disable-line brace-style +function isRecommended(elem) { return elem.isRecommended; } // eslint-disable-line brace-style +function isFallback(elem) { return elem.isFallback; } // eslint-disable-line brace-style +function isFix(elem) { return !elem.isFallback; } // eslint-disable-line brace-style + + +function evalPluginsFromPreset(preset) { + var pluginsArr = plugins; + if (preset === 'enable-all') { + return pluginsArr; + } else if (preset === 'disable-all') { + return []; + } else if (preset === 'fixes-only') { + return pluginsArr.filter(isFix); + } else if (preset === 'fallbacks-only') { + return pluginsArr.filter(isFallback); + } else if (preset === 'safe') { + return pluginsArr.filter(isSafe); + } else { // recommended + return pluginsArr.filter(isRecommended); + } + +} + + +module.exports = postcss.plugin('postcss-fixes', opts => { + opts = opts || {}; + if (opts.mode && opts.mode === 'safe') console.warn('[postcss-fixes] option "mode" was renamed to "preset". '); + + var preset = defaultPreset; + if (opts.preset) { + if (presets.indexOf(opts.preset) > -1) { + preset = opts.preset; + } else { + console.warn('[postcss-fixes] option "preset": "' + opts.preset + '" is invalid and will be ignored'); + } + } + + var usedPlugins = evalPluginsFromPreset(preset); + + var postcssInstance = postcss(); + + usedPlugins.forEach(plugin => { + postcssInstance.use(plugin.plugin(plugin.options)); + }); + + return postcssInstance; +}); diff --git a/node_modules/postcss-fixes/node_modules/.bin/browserslist b/node_modules/postcss-fixes/node_modules/.bin/browserslist new file mode 120000 index 00000000..3cd991b2 --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/.bin/browserslist @@ -0,0 +1 @@ +../browserslist/cli.js \ No newline at end of file diff --git a/node_modules/postcss-fixes/node_modules/ansi-regex/index.js b/node_modules/postcss-fixes/node_modules/ansi-regex/index.js new file mode 100644 index 00000000..b9574ed7 --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/ansi-regex/index.js @@ -0,0 +1,4 @@ +'use strict'; +module.exports = function () { + return /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-PRZcf-nqry=><]/g; +}; diff --git a/node_modules/postcss-fixes/node_modules/ansi-regex/license b/node_modules/postcss-fixes/node_modules/ansi-regex/license new file mode 100644 index 00000000..654d0bfe --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/ansi-regex/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/postcss-fixes/node_modules/ansi-regex/package.json b/node_modules/postcss-fixes/node_modules/ansi-regex/package.json new file mode 100644 index 00000000..eb44fb5c --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/ansi-regex/package.json @@ -0,0 +1,64 @@ +{ + "name": "ansi-regex", + "version": "2.1.1", + "description": "Regular expression for matching ANSI escape codes", + "license": "MIT", + "repository": "chalk/ansi-regex", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "maintainers": [ + "Sindre Sorhus (sindresorhus.com)", + "Joshua Appelman (jbnicolai.com)", + "JD Ballard (github.com/qix-)" + ], + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "test": "xo && ava --verbose", + "view-supported": "node fixtures/view-codes.js" + }, + "files": [ + "index.js" + ], + "keywords": [ + "ansi", + "styles", + "color", + "colour", + "colors", + "terminal", + "console", + "cli", + "string", + "tty", + "escape", + "formatting", + "rgb", + "256", + "shell", + "xterm", + "command-line", + "text", + "regex", + "regexp", + "re", + "match", + "test", + "find", + "pattern" + ], + "devDependencies": { + "ava": "0.17.0", + "xo": "0.16.0" + }, + "xo": { + "rules": { + "guard-for-in": 0, + "no-loop-func": 0 + } + } +} diff --git a/node_modules/postcss-fixes/node_modules/ansi-regex/readme.md b/node_modules/postcss-fixes/node_modules/ansi-regex/readme.md new file mode 100644 index 00000000..6a928edf --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/ansi-regex/readme.md @@ -0,0 +1,39 @@ +# ansi-regex [![Build Status](https://travis-ci.org/chalk/ansi-regex.svg?branch=master)](https://travis-ci.org/chalk/ansi-regex) + +> Regular expression for matching [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code) + + +## Install + +``` +$ npm install --save ansi-regex +``` + + +## Usage + +```js +const ansiRegex = require('ansi-regex'); + +ansiRegex().test('\u001b[4mcake\u001b[0m'); +//=> true + +ansiRegex().test('cake'); +//=> false + +'\u001b[4mcake\u001b[0m'.match(ansiRegex()); +//=> ['\u001b[4m', '\u001b[0m'] +``` + +## FAQ + +### Why do you test for codes not in the ECMA 48 standard? + +Some of the codes we run as a test are codes that we acquired finding various lists of non-standard or manufacturer specific codes. If I recall correctly, we test for both standard and non-standard codes, as most of them follow the same or similar format and can be safely matched in strings without the risk of removing actual string content. There are a few non-standard control codes that do not follow the traditional format (i.e. they end in numbers) thus forcing us to exclude them from the test because we cannot reliably match them. + +On the historical side, those ECMA standards were established in the early 90's whereas the VT100, for example, was designed in the mid/late 70's. At that point in time, control codes were still pretty ungoverned and engineers used them for a multitude of things, namely to activate hardware ports that may have been proprietary. Somewhere else you see a similar 'anarchy' of codes is in the x86 architecture for processors; there are a ton of "interrupts" that can mean different things on certain brands of processors, most of which have been phased out. + + +## License + +MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/node_modules/postcss-fixes/node_modules/ansi-styles/index.js b/node_modules/postcss-fixes/node_modules/ansi-styles/index.js new file mode 100644 index 00000000..78945278 --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/ansi-styles/index.js @@ -0,0 +1,65 @@ +'use strict'; + +function assembleStyles () { + var styles = { + modifiers: { + reset: [0, 0], + bold: [1, 22], // 21 isn't widely supported and 22 does the same thing + dim: [2, 22], + italic: [3, 23], + underline: [4, 24], + inverse: [7, 27], + hidden: [8, 28], + strikethrough: [9, 29] + }, + colors: { + black: [30, 39], + red: [31, 39], + green: [32, 39], + yellow: [33, 39], + blue: [34, 39], + magenta: [35, 39], + cyan: [36, 39], + white: [37, 39], + gray: [90, 39] + }, + bgColors: { + bgBlack: [40, 49], + bgRed: [41, 49], + bgGreen: [42, 49], + bgYellow: [43, 49], + bgBlue: [44, 49], + bgMagenta: [45, 49], + bgCyan: [46, 49], + bgWhite: [47, 49] + } + }; + + // fix humans + styles.colors.grey = styles.colors.gray; + + Object.keys(styles).forEach(function (groupName) { + var group = styles[groupName]; + + Object.keys(group).forEach(function (styleName) { + var style = group[styleName]; + + styles[styleName] = group[styleName] = { + open: '\u001b[' + style[0] + 'm', + close: '\u001b[' + style[1] + 'm' + }; + }); + + Object.defineProperty(styles, groupName, { + value: group, + enumerable: false + }); + }); + + return styles; +} + +Object.defineProperty(module, 'exports', { + enumerable: true, + get: assembleStyles +}); diff --git a/node_modules/postcss-fixes/node_modules/ansi-styles/license b/node_modules/postcss-fixes/node_modules/ansi-styles/license new file mode 100644 index 00000000..654d0bfe --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/ansi-styles/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/postcss-fixes/node_modules/ansi-styles/package.json b/node_modules/postcss-fixes/node_modules/ansi-styles/package.json new file mode 100644 index 00000000..78c535f7 --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/ansi-styles/package.json @@ -0,0 +1,50 @@ +{ + "name": "ansi-styles", + "version": "2.2.1", + "description": "ANSI escape codes for styling strings in the terminal", + "license": "MIT", + "repository": "chalk/ansi-styles", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "maintainers": [ + "Sindre Sorhus (sindresorhus.com)", + "Joshua Appelman (jbnicolai.com)" + ], + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "test": "mocha" + }, + "files": [ + "index.js" + ], + "keywords": [ + "ansi", + "styles", + "color", + "colour", + "colors", + "terminal", + "console", + "cli", + "string", + "tty", + "escape", + "formatting", + "rgb", + "256", + "shell", + "xterm", + "log", + "logging", + "command-line", + "text" + ], + "devDependencies": { + "mocha": "*" + } +} diff --git a/node_modules/postcss-fixes/node_modules/ansi-styles/readme.md b/node_modules/postcss-fixes/node_modules/ansi-styles/readme.md new file mode 100644 index 00000000..3f933f61 --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/ansi-styles/readme.md @@ -0,0 +1,86 @@ +# ansi-styles [![Build Status](https://travis-ci.org/chalk/ansi-styles.svg?branch=master)](https://travis-ci.org/chalk/ansi-styles) + +> [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles) for styling strings in the terminal + +You probably want the higher-level [chalk](https://github.com/chalk/chalk) module for styling your strings. + +![](screenshot.png) + + +## Install + +``` +$ npm install --save ansi-styles +``` + + +## Usage + +```js +var ansi = require('ansi-styles'); + +console.log(ansi.green.open + 'Hello world!' + ansi.green.close); +``` + + +## API + +Each style has an `open` and `close` property. + + +## Styles + +### Modifiers + +- `reset` +- `bold` +- `dim` +- `italic` *(not widely supported)* +- `underline` +- `inverse` +- `hidden` +- `strikethrough` *(not widely supported)* + +### Colors + +- `black` +- `red` +- `green` +- `yellow` +- `blue` +- `magenta` +- `cyan` +- `white` +- `gray` + +### Background colors + +- `bgBlack` +- `bgRed` +- `bgGreen` +- `bgYellow` +- `bgBlue` +- `bgMagenta` +- `bgCyan` +- `bgWhite` + + +## Advanced usage + +By default you get a map of styles, but the styles are also available as groups. They are non-enumerable so they don't show up unless you access them explicitly. This makes it easier to expose only a subset in a higher-level module. + +- `ansi.modifiers` +- `ansi.colors` +- `ansi.bgColors` + + +###### Example + +```js +console.log(ansi.colors.green.open); +``` + + +## License + +MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/node_modules/postcss-fixes/node_modules/balanced-match/.npmignore b/node_modules/postcss-fixes/node_modules/balanced-match/.npmignore new file mode 100644 index 00000000..ae5d8c36 --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/balanced-match/.npmignore @@ -0,0 +1,5 @@ +test +.gitignore +.travis.yml +Makefile +example.js diff --git a/node_modules/postcss-fixes/node_modules/balanced-match/LICENSE.md b/node_modules/postcss-fixes/node_modules/balanced-match/LICENSE.md new file mode 100644 index 00000000..2cdc8e41 --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/balanced-match/LICENSE.md @@ -0,0 +1,21 @@ +(MIT) + +Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/postcss-fixes/node_modules/balanced-match/README.md b/node_modules/postcss-fixes/node_modules/balanced-match/README.md new file mode 100644 index 00000000..08e918c0 --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/balanced-match/README.md @@ -0,0 +1,91 @@ +# balanced-match + +Match balanced string pairs, like `{` and `}` or `` and ``. Supports regular expressions as well! + +[![build status](https://secure.travis-ci.org/juliangruber/balanced-match.svg)](http://travis-ci.org/juliangruber/balanced-match) +[![downloads](https://img.shields.io/npm/dm/balanced-match.svg)](https://www.npmjs.org/package/balanced-match) + +[![testling badge](https://ci.testling.com/juliangruber/balanced-match.png)](https://ci.testling.com/juliangruber/balanced-match) + +## Example + +Get the first matching pair of braces: + +```js +var balanced = require('balanced-match'); + +console.log(balanced('{', '}', 'pre{in{nested}}post')); +console.log(balanced('{', '}', 'pre{first}between{second}post')); +console.log(balanced(/\s+\{\s+/, /\s+\}\s+/, 'pre { in{nest} } post')); +``` + +The matches are: + +```bash +$ node example.js +{ start: 3, end: 14, pre: 'pre', body: 'in{nested}', post: 'post' } +{ start: 3, + end: 9, + pre: 'pre', + body: 'first', + post: 'between{second}post' } +{ start: 3, end: 17, pre: 'pre', body: 'in{nest}', post: 'post' } +``` + +## API + +### var m = balanced(a, b, str) + +For the first non-nested matching pair of `a` and `b` in `str`, return an +object with those keys: + +* **start** the index of the first match of `a` +* **end** the index of the matching `b` +* **pre** the preamble, `a` and `b` not included +* **body** the match, `a` and `b` not included +* **post** the postscript, `a` and `b` not included + +If there's no match, `undefined` will be returned. + +If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `['{', 'a', '']` and `{a}}` will match `['', 'a', '}']`. + +### var r = balanced.range(a, b, str) + +For the first non-nested matching pair of `a` and `b` in `str`, return an +array with indexes: `[ , ]`. + +If there's no match, `undefined` will be returned. + +If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `[ 1, 3 ]` and `{a}}` will match `[0, 2]`. + +## Installation + +With [npm](https://npmjs.org) do: + +```bash +npm install balanced-match +``` + +## License + +(MIT) + +Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/postcss-fixes/node_modules/balanced-match/index.js b/node_modules/postcss-fixes/node_modules/balanced-match/index.js new file mode 100644 index 00000000..e8d85870 --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/balanced-match/index.js @@ -0,0 +1,58 @@ +module.exports = balanced; +function balanced(a, b, str) { + if (a instanceof RegExp) a = maybeMatch(a, str); + if (b instanceof RegExp) b = maybeMatch(b, str); + + var r = range(a, b, str); + + return r && { + start: r[0], + end: r[1], + pre: str.slice(0, r[0]), + body: str.slice(r[0] + a.length, r[1]), + post: str.slice(r[1] + b.length) + }; +} + +function maybeMatch(reg, str) { + var m = str.match(reg); + return m ? m[0] : null; +} + +balanced.range = range; +function range(a, b, str) { + var begs, beg, left, right, result; + var ai = str.indexOf(a); + var bi = str.indexOf(b, ai + 1); + var i = ai; + + if (ai >= 0 && bi > 0) { + begs = []; + left = str.length; + + while (i >= 0 && !result) { + if (i == ai) { + begs.push(i); + ai = str.indexOf(a, i + 1); + } else if (begs.length == 1) { + result = [ begs.pop(), bi ]; + } else { + beg = begs.pop(); + if (beg < left) { + left = beg; + right = bi; + } + + bi = str.indexOf(b, i + 1); + } + + i = ai < bi && ai >= 0 ? ai : bi; + } + + if (begs.length) { + result = [ left, right ]; + } + } + + return result; +} diff --git a/node_modules/postcss-fixes/node_modules/balanced-match/package.json b/node_modules/postcss-fixes/node_modules/balanced-match/package.json new file mode 100644 index 00000000..720eb4d1 --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/balanced-match/package.json @@ -0,0 +1,47 @@ +{ + "name": "balanced-match", + "description": "Match balanced character pairs, like \"{\" and \"}\"", + "version": "0.4.2", + "repository": { + "type": "git", + "url": "git://github.com/juliangruber/balanced-match.git" + }, + "homepage": "https://github.com/juliangruber/balanced-match", + "main": "index.js", + "scripts": { + "test": "make test" + }, + "dependencies": {}, + "devDependencies": { + "tape": "^4.6.0" + }, + "keywords": [ + "match", + "regexp", + "test", + "balanced", + "parse" + ], + "author": { + "name": "Julian Gruber", + "email": "mail@juliangruber.com", + "url": "http://juliangruber.com" + }, + "license": "MIT", + "testling": { + "files": "test/*.js", + "browsers": [ + "ie/8..latest", + "firefox/20..latest", + "firefox/nightly", + "chrome/25..latest", + "chrome/canary", + "opera/12..latest", + "opera/next", + "safari/5.1..latest", + "ipad/6.0..latest", + "iphone/6.0..latest", + "android-browser/4.2..latest" + ] + } +} diff --git a/node_modules/postcss-fixes/node_modules/browserslist/CHANGELOG.md b/node_modules/postcss-fixes/node_modules/browserslist/CHANGELOG.md new file mode 100644 index 00000000..5e895bcb --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/browserslist/CHANGELOG.md @@ -0,0 +1,135 @@ +# Change Log +This project adheres to [Semantic Versioning](http://semver.org/). + +## 1.7.7 +* Update Firefox ESR. + +## 1.7.6 +* Fix Android Chrome selection. + +## 1.7.5 +* Fix combining `not` query with country based statistics. +* Fix `--env` argument in CLI (by Tuure Savuoja). + +## 1.7.4 +* Speed up browser sorting (by Aarni Koskela). + +## 1.7.3 +* Fix config finding when directory was passed to `path` (by Aarni Koskela). + +## 1.7.2 +* Fix config finding algorithm (by Aarni Koskela). + +## 1.7.1 +* Fix unreleased browsers version detection. + +## 1.7 +* Add `--config` and `--env` arguments to CLI (by Jarek Rencz). + +## 1.6 +* Convert Electron version to Chrome (by Kilian Valkhof). +* Fix `0` version mistake in Can I Use data. + +## 1.5.2 +* Fix browser versions ordering (by Marco Massarotto). + +## 1.5.1 +* Fix error on `package.json` and `browserslist` in same directory. + +## 1.5 +* Add `package.json` support (by Stepan Kuzmin). +* Add environments support (by Maksim Semenov and openlibser). +* Add `browserslist-stats.json` file support (by Oleh Aloshkin). +* Add `config` option to CLI (by Evilebot Tnawi). +* Add JSDoc. +* Fix tests on Windows (by Anna Stoliar). +* Don’t set custom usage statistics globally. + +## 1.4 +* Add `defaults` keyword. + +## 1.3.6 +* Add `UCAndroid` alias to `and_uc` (by Evilebot Tnawi). + +## 1.3.5 +* Fix Opera Mini support. Use `op_mini all`. + +## 1.3.4 +* Add space-less `>1%` and `>.5%` syntax support (by Andreas Lind). + +## 1.3.3 +* Clean `0` versions in some country-based requests. + +## 1.3.2 +* Update Firefox ESR. + +## 1.3.1 +* Add Safari TP support. + +## 1.3 +* Add coverage for specific country (by Joshua Wise). + +## 1.2 +* Add `browserslist.coverage()` method. +* Add `--coverage` and `-c` argument to CLI. +* Add `-v` argument support to CLI. +* Better error handling in CLI. + +## 1.1.3 +* Fix jspm support (by Sean Anderson). + +## 1.1.2 +* Fix jspm support (by Sean Anderson). + +## 1.1.1 +* Fix space-less `>10%` and `>10% in my stats` queries. +* Normalize error messages. +* Remove development files from npm package. + +## 1.1 +* Added query against custom browser usage data (by Daniel Rey). + +## 1.0.1 +* Update Firefox ESR (by Rouven Weßling). + +## 1.0 +* Remove Opera 12.1 from default query. +* Add `not` keyword and exclude browsers by query. +* Add Microsoft Edge support (by Andrey Polischuk). +* Add CLI for debug and non-JS usage (by Luke Horvat). +* Use own class in Browserslist errors. + +## 0.5 +* Add version ranges `IE 6-9` (by Ben Briggs). + +## 0.4 +* Add `config` option and `BROWSERSLIST_CONFIG` environment variable support. +* Add symlink config support. + +## 0.3.3 +* Fix DynJS compatibility (by Nick Howes). + +## 0.3.2 +* Fix joined versions on versions query (by Vincent De Oliveira). + +## 0.3.1 +* Fix global variable leak (by Peter Müller). + +## 0.3 +* Takes queries from `BROWSERSLIST` environment variable. + +## 0.2 +* Return Can I Use joined versions as `ios_saf 7.0-7.1`. + +## 0.1.3 +* Better work with Can I Use joined versions like `ios_saf 7.0-7.1`. +* Browserslist now understands `ios_saf 7.0` or `ios_saf 7`. + +## 0.1.2 +* Do not create global `browserslist` var (by Maxime Thirouin). + +## 0.1.1 +* Sort browsers by name and version. + +## 0.1 +* Initial release. diff --git a/node_modules/postcss-fixes/node_modules/browserslist/LICENSE b/node_modules/postcss-fixes/node_modules/browserslist/LICENSE new file mode 100644 index 00000000..1ae47a20 --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/browserslist/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright 2014 Andrey Sitnik + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/postcss-fixes/node_modules/browserslist/README.md b/node_modules/postcss-fixes/node_modules/browserslist/README.md new file mode 100644 index 00000000..0de38817 --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/browserslist/README.md @@ -0,0 +1,331 @@ +# Browserslist + +Library to share supported browsers list between different front-end tools. +It is used in [Autoprefixer], [Stylelint], [eslint-plugin-compat] +and [babel-env-preset]. + +All tools that rely on Browserslist will find its config automatically, +when you add the following to `package.json`: + +```json +{ + "browserslist": [ + "> 1%", + "last 2 versions" + ] +} +``` + +Or in `browserslist` config: + +```yaml +# Browsers that we support + +> 1% +Last 2 versions +IE 10 # sorry +``` + +Developers set browsers list in queries like `last 2 version` +to be free from updating browser versions manually. +Browserslist will use [Can i Use] data for this queries. + +Browserslist will take browsers queries from tool option, +`browserslist` config, `browserslist` section in `package.json` +or environment variables. + +You can test Browserslist queries in [online demo]. + + + Sponsored by Evil Martians + + +[eslint-plugin-compat]: https://github.com/amilajack/eslint-plugin-compat +[babel-env-preset]: https://github.com/babel/babel-preset-env +[Autoprefixer]: https://github.com/postcss/autoprefixer +[online demo]: http://browserl.ist/ +[Stylelint]: http://stylelint.io/ +[Can I Use]: http://caniuse.com/ + +## Queries + +Browserslist will use browsers query from one of this sources: + +1. Tool options. For example `browsers` option in Autoprefixer. +2. `BROWSERSLIST` environment variable. +3. `browserslist` config file in current or parent directories. +4. `browserslist` key in `package.json` file in current or parent directories. +5. If the above methods did not produce a valid result + Browserslist will use defaults: `> 1%, last 2 versions, Firefox ESR`. + +We recommend to write queries in `browserslist` config or `package.json`. + +You can specify the versions by queries (case insensitive): + +* `last 2 versions`: the last 2 versions for each major browser. +* `last 2 Chrome versions`: the last 2 versions of Chrome browser. +* `> 5%`: versions selected by global usage statistics. +* `> 5% in US`: uses USA usage statistics. It accepts [two-letter country code]. +* `> 5% in my stats`: uses [custom usage data]. +* `ie 6-8`: selects an inclusive range of versions. +* `Firefox > 20`: versions of Firefox newer than 20. +* `Firefox >= 20`: versions of Firefox newer than or equal to 20. +* `Firefox < 20`: versions of Firefox less than 20. +* `Firefox <= 20`: versions of Firefox less than or equal to 20. +* `Firefox ESR`: the latest [Firefox ESR] version. +* `iOS 7`: the iOS browser version 7 directly. +* `not ie <= 8`: exclude browsers selected before by previous queries. + You can add `not ` to any query. + +Browserslist works with separated versions of browsers. +You should avoid queries like `Firefox > 0`. + +Multiple criteria are combined as a boolean `OR`. A browser version must match +at least one of the criteria to be selected. + +All queries are based on the [Can I Use] support table, +e.g. `last 3 iOS versions` might select `8.4, 9.2, 9.3` (mixed major and minor), +whereas `last 3 Chrome versions` might select `50, 49, 48` (major only). + +[two-letter country code]: http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements +[custom usage data]: #custom-usage-data +[Can I Use]: http://caniuse.com/ + +## Browsers + +Names are case insensitive: + +### Major Browsers + +* `Chrome` for Google Chrome. +* `Firefox` or `ff` for Mozilla Firefox. +* `Explorer` or `ie` for Internet Explorer. +* `Edge` for Microsoft Edge. +* `iOS` or `ios_saf` for iOS Safari. +* `Opera` for Opera. +* `Safari` for desktop Safari. +* `ExplorerMobile` or `ie_mob` for Internet Explorer Mobile. + +### Others + +* `Android` for Android WebView. +* `BlackBerry` or `bb` for Blackberry browser. +* `ChromeAndroid` or `and_chr` for Chrome for Android + (in Other section, because mostly same as common `Chrome`). +* `FirefoxAndroid` or `and_ff` for Firefox for Android. +* `OperaMobile` or `op_mob` for Opera Mobile. +* `OperaMini` or `op_mini` for Opera Mini. +* `Samsung` for Samsung Internet. +* `UCAndroid` or `and_uc` for UC Browser for Android. +* `Electron` for Electron framework. It will be converted to Chrome version. + +### Electron + +[`electron-to-chromium`](https://www.npmjs.com/package/electron-to-chromium) +could return a compatible Browserslist query +for your (major) Electron version: + +```js +const e2c = require('electron-to-chromium') +autoprefixer({ + browsers: e2c.electronToBrowserList('1.4') //=> "Chrome >= 53" +}) +``` + +## Config File + +Browserslist config should be named `browserslist` and have browsers queries +split by a new line. Comments starts with `#` symbol: + +```yaml +# Browsers that we support + +> 1% +Last 2 versions +IE 8 # sorry +``` + +Browserslist will check config in every directory in `path`. +So, if tool process `app/styles/main.css`, you can put config to root, +`app/` or `app/styles`. + +You can specify direct path in `BROWSERSLIST_CONFIG` environment variables. + +## `package.json` + +If you want to reduce config files in project root, you can specify +browsers in `package.json` with `browserslist` key: + +```js +{ + "private": true, + "dependencies": { + "autoprefixer": "^6.5.4" + }, + "browserslist": [ + "> 1%", + "last 2 versions" + ] +} +``` + +## Environments + +You can also specify different browser queries for various environments. +Browserslist will choose query according to `BROWSERSLIST_ENV` or `NODE_ENV` +variables. If none of them is declared, Browserslist will firstly look +for `development` queries and then use defaults. + +In `package.json`: + +```js +{ + … + "browserslist": { + "production": [ + "last 2 version", + "ie 9" + ], + "development": [ + "last 1 version" + ] + } +} +``` + +In `browserslist` config: + +```ini +[production] +last 2 version +ie 9 + +[development] +last 1 version +``` + +## Environment Variables + +If some tool use Browserslist inside, you can change browsers settings +by [environment variables]: + +* `BROWSERSLIST` with browsers queries. + + ```sh + BROWSERSLIST="> 5%" gulp css + ``` + +* `BROWSERSLIST_CONFIG` with path to config file. + + ```sh + BROWSERSLIST_CONFIG=./config/browserslist gulp css + ``` + +* `BROWSERSLIST_ENV` with environments string. + + ```sh + BROWSERSLIST_ENV="development" gulp css + ``` + +* `BROWSERSLIST_STATS` with path to the custom usage data + for `> 1% in my stats` query. + + ```sh + BROWSERSLIST_STATS=./config/usage_data.json gulp css + ``` + +[environment variables]: https://en.wikipedia.org/wiki/Environment_variable + +## Custom Usage Data + +If you have a website, you can query against the usage statistics of your site: + +1. Import your Google Analytics data into [Can I Use]. + Press `Import…` button in Settings page. +2. Open browser DevTools on [Can I Use] and paste this snippet + into the browser console: + + ```js + var e=document.createElement('a');e.setAttribute('href', 'data:text/plain;charset=utf-8,'+encodeURIComponent(JSON.stringify(JSON.parse(localStorage['usage-data-by-id'])[localStorage['config-primary_usage']])));e.setAttribute('download','stats.json');document.body.appendChild(e);e.click();document.body.removeChild(e); + ``` +3. Save the data to a `browserslist-stats.json` file in your project. + +Of course, you can generate usage statistics file by any other method. +File format should be like: + +```js +{ + "ie": { + "6": 0.01, + "7": 0.4, + "8": 1.5 + }, + "chrome": { + … + }, + … +} +``` + +Note that you can query against your custom usage data +while also querying against global or regional data. +For example, the query `> 1% in my stats, > 5% in US, 10%` is permitted. + +[Can I Use]: http://caniuse.com/ + +## JS API + +```js +var browserslist = require('browserslist'); + +// Your CSS/JS build tool code +var process = function (source, opts) { + var browsers = browserslist(opts.browsers, { + stats: opts.stats, + path: opts.file, + env: opts.env + }); + // Your code to add features for selected browsers +} +``` + +Queries can be a string `"> 5%, last 1 version"` +or an array `['> 5%', 'last 1 version']`. + +If a query is missing, Browserslist will look for a config file. +You can provide a `path` option (that can be a file) to find the config file +relatively to it. + +For non-JS environment and debug purpose you can use CLI tool: + +```sh +browserslist "> 1%, last 2 versions" +``` + +## Coverage + +You can get total users coverage for selected browsers by JS API: + +```js +browserslist.coverage(browserslist('> 1%')) //=> 81.4 +``` + +```js +browserslist.coverage(browserslist('> 1% in US'), 'US') //=> 83.1 +``` + +Or by CLI: + +```sh +$ browserslist --coverage "> 1%" +These browsers account for 81.4% of all users globally +``` + +```sh +$ browserslist --coverage=US "> 1% in US" +These browsers account for 83.1% of all users in the US +``` diff --git a/node_modules/postcss-fixes/node_modules/browserslist/cli.js b/node_modules/postcss-fixes/node_modules/browserslist/cli.js new file mode 100755 index 00000000..c0848b20 --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/browserslist/cli.js @@ -0,0 +1,95 @@ +#!/usr/bin/env node + +var browserslist = require('./'); +var pkg = require('./package.json'); +var args = process.argv.slice(2); + +function isArg(arg) { + return args.some(function (str) { + return str === arg || str.indexOf(arg + '=') === 0; + }); +} + +function getArgValue(arg) { + var found = args.filter(function (str) { + return str.indexOf(arg + '=') === 0; + })[0]; + var value = found && found.split('=')[1]; + return value && value.replace(/^['"]|['"]$/g, ''); +} + +function error(msg) { + process.stderr.write(pkg.name + ': ' + msg + '\n'); + process.exit(1); +} + +function query(queries, opts) { + try { + return browserslist(queries, opts); + } catch (e) { + if ( e.name === 'BrowserslistError' ) { + return error(e.message); + } else { + throw e; + } + } +} + +if ( args.length === 0 || isArg('--help') || isArg('-h') ) { + process.stdout.write([ + pkg.description, + '', + 'Usage:', + ' ' + pkg.name + ' "QUERIES"', + ' ' + pkg.name + ' --coverage "QUERIES"', + ' ' + pkg.name + ' --coverage=US "QUERIES"', + ' ' + pkg.name + ' --config=browserslist "path/to/browserlist/file"', + ' ' + pkg.name + ' --env="environment name defined in config"', + ' ' + pkg.name + ' --stats="path/to/browserlist/stats/file"' + ].join('\n') + '\n'); + +} else if ( isArg('--version') || isArg('-v') ) { + process.stdout.write(pkg.name + ' ' + pkg.version + '\n'); + +} else if ( isArg('--coverage') || isArg('-c') ) { + var browsers = args.find(function (i) { + return i[0] !== '-'; + }); + if ( !browsers ) error('Define a browsers query to get coverage'); + + var country = getArgValue('--coverage') || getArgValue('-c'); + var result = browserslist.coverage(query(browsers), country); + var round = Math.round(result * 100) / 100.0; + + var end = 'globally'; + if (country && country !== 'global') { + end = 'in the ' + country.toUpperCase(); + } + + process.stdout.write( + 'These browsers account for ' + round + '% of all users ' + end + '\n'); + +} else if ( args.length === 1 && args[0][0] !== '-' ) { + query(args[0]).forEach(function (browser) { + process.stdout.write(browser + '\n'); + }); + +} else if (isArg('--config') || isArg('-b')) { + var opts = { + config: getArgValue('--config') || getArgValue('-b') + }; + + if (isArg('--env') || isArg('-e')) { + opts.env = getArgValue('--env') || getArgValue('-e'); + } + + if (isArg('--stats') || isArg('-s')) { + opts.stats = getArgValue('--stats') || getArgValue('-s'); + } + + query(null, opts).forEach(function (browser) { + process.stdout.write(browser + '\n'); + }); +} else { + error('Unknown arguments. Use --help to pick right one.'); +} diff --git a/node_modules/postcss-fixes/node_modules/browserslist/index.js b/node_modules/postcss-fixes/node_modules/browserslist/index.js new file mode 100644 index 00000000..40623b03 --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/browserslist/index.js @@ -0,0 +1,648 @@ +var path = require('path'); +var e2c = require('electron-to-chromium/versions'); +var fs = require('fs'); + +var caniuse = require('caniuse-db/data.json').agents; + +function normalize(versions) { + return versions.filter(function (version) { + return typeof version === 'string'; + }); +} + +var FLOAT_RANGE = /^\d+(\.\d+)?(-\d+(\.\d+)?)*$/; +var IS_SECTION = /^\s*\[(.+)\]\s*$/; + +function uniq(array) { + var filtered = []; + for ( var i = 0; i < array.length; i++ ) { + if ( filtered.indexOf(array[i]) === -1 ) filtered.push(array[i]); + } + return filtered; +} + +function BrowserslistError(message) { + this.name = 'BrowserslistError'; + this.message = message || ''; + this.browserslist = true; + if ( Error.captureStackTrace ) { + Error.captureStackTrace(this, BrowserslistError); + } +} +BrowserslistError.prototype = Error.prototype; + +// Helpers + +function error(name) { + throw new BrowserslistError(name); +} + +function fillUsage(result, name, data) { + for ( var i in data ) { + result[name + ' ' + i] = data[i]; + } +} + +function isFile(file) { + return fs.existsSync(file) && fs.statSync(file).isFile(); +} + +function eachParent(file, callback) { + if ( !fs.readFileSync || !fs.existsSync || !fs.statSync ) { + /* istanbul ignore next */ + return undefined; + } + + if ( file === false ) return undefined; + if ( typeof file === 'undefined' ) file = '.'; + var loc = path.resolve(file); + do { + var result = callback(loc); + if (typeof result !== 'undefined') return result; + } while (loc !== (loc = path.dirname(loc))); + return undefined; +} + +function getStat(opts) { + if ( opts.stats ) { + return opts.stats; + } else if ( process.env.BROWSERSLIST_STATS ) { + return process.env.BROWSERSLIST_STATS; + } else { + return eachParent(opts.path, function (dir) { + var file = path.join(dir, 'browserslist-stats.json'); + if ( isFile(file) ) { + return file; + } + }); + } +} + +function parsePackage(file) { + var config = JSON.parse(fs.readFileSync(file)).browserslist; + if ( typeof config === 'object' && config.length ) { + config = { defaults: config }; + } + return config; +} + +function pickEnv(config, opts) { + if ( typeof config !== 'object' ) return config; + + var env; + if ( typeof opts.env === 'string' ) { + env = opts.env; + } else if ( typeof process.env.BROWSERSLIST_ENV === 'string' ) { + env = process.env.BROWSERSLIST_ENV; + } else if ( typeof process.env.NODE_ENV === 'string' ) { + env = process.env.NODE_ENV; + } else { + env = 'development'; + } + + return config[env] || config.defaults; +} + +function generateFilter(sign, version) { + version = parseFloat(version); + if ( sign === '>' ) { + return function (v) { + return parseFloat(v) > version; + }; + } else if ( sign === '>=' ) { + return function (v) { + return parseFloat(v) >= version; + }; + } else if ( sign === '<' ) { + return function (v) { + return parseFloat(v) < version; + }; + } else if ( sign === '<=' ) { + return function (v) { + return parseFloat(v) <= version; + }; + } +} + +function compareStrings(a, b) { + if (a < b) return -1; + if (a > b) return +1; + return 0; +} + +/** + * Return array of browsers by selection queries. + * + * @param {string[]} queries Browser queries. + * @param {object} opts Options. + * @param {string} [opts.path="."] Path to processed file. + * It will be used to find config files. + * @param {string} [opts.env="development"] Processing environment. + * It will be used to take right + * queries from config file. + * @param {string} [opts.config] Path to config file with queries. + * @param {object} [opts.stats] Custom browser usage statistics + * for "> 1% in my stats" query. + * @return {string[]} Array with browser names in Can I Use. + * + * @example + * browserslist('IE >= 10, IE 8') //=> ['ie 11', 'ie 10', 'ie 8'] + */ +var browserslist = function (queries, opts) { + if ( typeof opts === 'undefined' ) opts = { }; + + if ( typeof queries === 'undefined' || queries === null ) { + if ( process.env.BROWSERSLIST ) { + queries = process.env.BROWSERSLIST; + } else if ( opts.config || process.env.BROWSERSLIST_CONFIG ) { + var file = opts.config || process.env.BROWSERSLIST_CONFIG; + queries = pickEnv(browserslist.readConfig(file), opts); + } else { + queries = pickEnv(browserslist.findConfig(opts.path), opts); + } + } + + if ( typeof queries === 'undefined' || queries === null ) { + queries = browserslist.defaults; + } + + if ( typeof queries === 'string' ) { + queries = queries.split(/,\s*/); + } + + var context = { }; + + var stats = getStat(opts); + if ( stats ) { + if ( typeof stats === 'string' ) { + try { + stats = JSON.parse(fs.readFileSync(stats)); + } catch (e) { + error('Can\'t read ' + stats); + } + } + if ( 'dataByBrowser' in stats ) { + stats = stats.dataByBrowser; + } + + context.customUsage = { }; + for ( var browser in stats ) { + fillUsage(context.customUsage, browser, stats[browser]); + } + } + + var result = []; + + queries.forEach(function (selection) { + if ( selection.trim() === '' ) return; + + var exclude = selection.indexOf('not ') === 0; + if ( exclude ) selection = selection.slice(4); + + for ( var i in browserslist.queries ) { + var type = browserslist.queries[i]; + var match = selection.match(type.regexp); + if ( match ) { + var args = [context].concat(match.slice(1)); + var array = type.select.apply(browserslist, args); + if ( exclude ) { + array = array.concat(array.map(function (j) { + return j.replace(/\s\d+/, ' 0'); + })); + result = result.filter(function (j) { + return array.indexOf(j) === -1; + }); + } else { + result = result.concat(array); + } + return; + } + } + + error('Unknown browser query `' + selection + '`'); + }); + result = result.map(function (i) { + var parts = i.split(' '); + var name = parts[0]; + var version = parts[1]; + if ( version === '0' ) { + return name + ' ' + browserslist.byName(name).versions[0]; + } else { + return i; + } + }).sort(function (name1, name2) { + name1 = name1.split(' '); + name2 = name2.split(' '); + if ( name1[0] === name2[0] ) { + if ( FLOAT_RANGE.test(name1[1]) && FLOAT_RANGE.test(name2[1]) ) { + return parseFloat(name2[1]) - parseFloat(name1[1]); + } else { + return compareStrings(name2[1], name1[1]); + } + } else { + return compareStrings(name1[0], name2[0]); + } + }); + + return uniq(result); +}; + +var normalizeVersion = function (data, version) { + if ( data.versions.indexOf(version) !== -1 ) { + return version; + } else if ( browserslist.versionAliases[data.name][version] ) { + return browserslist.versionAliases[data.name][version]; + } else if ( data.versions.length === 1 ) { + return data.versions[0]; + } +}; + +var loadCountryStatistics = function (country) { + if ( !browserslist.usage[country] ) { + var usage = { }; + var data = require( + 'caniuse-db/region-usage-json/' + country + '.json'); + for ( var i in data.data ) { + fillUsage(usage, i, data.data[i]); + } + browserslist.usage[country] = usage; + } +}; + +// Will be filled by Can I Use data below +browserslist.data = { }; +browserslist.usage = { + global: { }, + custom: null +}; + +// Default browsers query +browserslist.defaults = [ + '> 1%', + 'last 2 versions', + 'Firefox ESR' +]; + +// What browsers will be used in `last n version` query +browserslist.major = [ + 'safari', 'opera', 'ios_saf', 'ie_mob', 'ie', 'edge', 'firefox', 'chrome' +]; + +// Browser names aliases +browserslist.aliases = { + fx: 'firefox', + ff: 'firefox', + ios: 'ios_saf', + explorer: 'ie', + blackberry: 'bb', + explorermobile: 'ie_mob', + operamini: 'op_mini', + operamobile: 'op_mob', + chromeandroid: 'and_chr', + firefoxandroid: 'and_ff', + ucandroid: 'and_uc' +}; + +// Aliases to work with joined versions like `ios_saf 7.0-7.1` +browserslist.versionAliases = { }; + +// Get browser data by alias or case insensitive name +browserslist.byName = function (name) { + name = name.toLowerCase(); + name = browserslist.aliases[name] || name; + return browserslist.data[name]; +}; + +// Get browser data by alias or case insensitive name and throw error +// on unknown browser +browserslist.checkName = function (name) { + var data = browserslist.byName(name); + if ( !data ) error('Unknown browser ' + name); + return data; +}; + +// Read and parse config +browserslist.readConfig = function (file) { + if ( !fs.existsSync(file) || !fs.statSync(file).isFile() ) { + error('Can\'t read ' + file + ' config'); + } + return browserslist.parseConfig(fs.readFileSync(file)); +}; + +// Find config, read file and parse it +browserslist.findConfig = function (from) { + return eachParent(from, function (dir) { + var config = path.join(dir, 'browserslist'); + var pkg = path.join(dir, 'package.json'); + + var pkgBrowserslist; + if ( isFile(pkg) ) { + try { + pkgBrowserslist = parsePackage(pkg); + } catch (e) { + console.warn( + '[Browserslist] Could not parse ' + pkg + '. ' + + 'Ignoring it.'); + } + } + + if ( isFile(config) && pkgBrowserslist ) { + error( + dir + ' contains both browserslist ' + + 'and package.json with browsers'); + } else if ( isFile(config) ) { + return browserslist.readConfig(config); + } else if ( pkgBrowserslist ) { + return pkgBrowserslist; + } + }); +}; + +/** + * Return browsers market coverage. + * + * @param {string[]} browsers Browsers names in Can I Use. + * @param {string} [country="global"] Which country statistics should be used. + * + * @return {number} Total market coverage for all selected browsers. + * + * @example + * browserslist.coverage(browserslist('> 1% in US'), 'US') //=> 83.1 + */ +browserslist.coverage = function (browsers, country) { + if ( country && country !== 'global') { + country = country.toUpperCase(); + loadCountryStatistics(country); + } else { + country = 'global'; + } + + return browsers.reduce(function (all, i) { + var usage = browserslist.usage[country][i]; + if ( usage === undefined ) { + usage = browserslist.usage[country][i.replace(/ [\d.]+$/, ' 0')]; + } + return all + (usage || 0); + }, 0); +}; + +// Return array of queries from config content +browserslist.parseConfig = function (string) { + var result = { defaults: [] }; + var section = 'defaults'; + + string.toString() + .replace(/#[^\n]*/g, '') + .split(/\n/) + .map(function (line) { + return line.trim(); + }) + .filter(function (line) { + return line !== ''; + }) + .forEach(function (line) { + if ( IS_SECTION.test(line) ) { + section = line.match(IS_SECTION)[1].trim(); + result[section] = result[section] || []; + } else { + result[section].push(line); + } + }); + + return result; +}; + +browserslist.queries = { + + lastVersions: { + regexp: /^last\s+(\d+)\s+versions?$/i, + select: function (context, versions) { + var selected = []; + browserslist.major.forEach(function (name) { + var data = browserslist.byName(name); + if ( !data ) return; + var array = data.released.slice(-versions); + + array = array.map(function (v) { + return data.name + ' ' + v; + }); + selected = selected.concat(array); + }); + return selected; + } + }, + + lastByBrowser: { + regexp: /^last\s+(\d+)\s+(\w+)\s+versions?$/i, + select: function (context, versions, name) { + var data = browserslist.checkName(name); + return data.released.slice(-versions).map(function (v) { + return data.name + ' ' + v; + }); + } + }, + + globalStatistics: { + regexp: /^>\s*(\d*\.?\d+)%$/, + select: function (context, popularity) { + popularity = parseFloat(popularity); + var result = []; + + for ( var version in browserslist.usage.global ) { + if ( browserslist.usage.global[version] > popularity ) { + result.push(version); + } + } + + return result; + } + }, + + customStatistics: { + regexp: /^>\s*(\d*\.?\d+)%\s+in\s+my\s+stats$/, + select: function (context, popularity) { + popularity = parseFloat(popularity); + var result = []; + + if ( !context.customUsage ) { + error('Custom usage statistics was not provided'); + } + + for ( var version in context.customUsage ) { + if ( context.customUsage[version] > popularity ) { + result.push(version); + } + } + + return result; + } + }, + + countryStatistics: { + regexp: /^>\s*(\d*\.?\d+)%\s+in\s+(\w\w)$/, + select: function (context, popularity, country) { + popularity = parseFloat(popularity); + country = country.toUpperCase(); + var result = []; + + loadCountryStatistics(country); + var usage = browserslist.usage[country]; + + for ( var version in usage ) { + if ( usage[version] > popularity ) { + result.push(version); + } + } + + return result; + } + }, + + electronRange: { + regexp: /^electron\s+([\d\.]+)\s*-\s*([\d\.]+)$/i, + select: function (context, from, to) { + if ( !e2c[from] ) error('Unknown version ' + from + ' of electron'); + if ( !e2c[to] ) error('Unknown version ' + to + ' of electron'); + + from = parseFloat(from); + to = parseFloat(to); + + return Object.keys(e2c).filter(function (i) { + var parsed = parseFloat(i); + return parsed >= from && parsed <= to; + }).map(function (i) { + return 'chrome ' + e2c[i]; + }); + } + }, + + range: { + regexp: /^(\w+)\s+([\d\.]+)\s*-\s*([\d\.]+)$/i, + select: function (context, name, from, to) { + var data = browserslist.checkName(name); + from = parseFloat(normalizeVersion(data, from) || from); + to = parseFloat(normalizeVersion(data, to) || to); + + var filter = function (v) { + var parsed = parseFloat(v); + return parsed >= from && parsed <= to; + }; + + return data.released.filter(filter).map(function (v) { + return data.name + ' ' + v; + }); + } + }, + + electronVersions: { + regexp: /^electron\s*(>=?|<=?)\s*([\d\.]+)$/i, + select: function (context, sign, version) { + return Object.keys(e2c) + .filter(generateFilter(sign, version)) + .map(function (i) { + return 'chrome ' + e2c[i]; + }); + } + }, + + versions: { + regexp: /^(\w+)\s*(>=?|<=?)\s*([\d\.]+)$/, + select: function (context, name, sign, version) { + var data = browserslist.checkName(name); + var alias = normalizeVersion(data, version); + if ( alias ) { + version = alias; + } + return data.released + .filter(generateFilter(sign, version)) + .map(function (v) { + return data.name + ' ' + v; + }); + } + }, + + esr: { + regexp: /^(firefox|ff|fx)\s+esr$/i, + select: function () { + return ['firefox 52']; + } + }, + + opMini: { + regexp: /(operamini|op_mini)\s+all/i, + select: function () { + return ['op_mini all']; + } + }, + + electron: { + regexp: /^electron\s+([\d\.]+)$/i, + select: function (context, version) { + var chrome = e2c[version]; + if ( !chrome ) error('Unknown version ' + version + ' of electron'); + return ['chrome ' + chrome]; + } + }, + + direct: { + regexp: /^(\w+)\s+(tp|[\d\.]+)$/i, + select: function (context, name, version) { + if ( /tp/i.test(version) ) version = 'TP'; + var data = browserslist.checkName(name); + var alias = normalizeVersion(data, version); + if ( alias ) { + version = alias; + } else { + if ( version.indexOf('.') === -1 ) { + alias = version + '.0'; + } else if ( /\.0$/.test(version) ) { + alias = version.replace(/\.0$/, ''); + } + alias = normalizeVersion(data, alias); + if ( alias ) { + version = alias; + } else { + error('Unknown version ' + version + ' of ' + name); + } + } + return [data.name + ' ' + version]; + } + }, + + defaults: { + regexp: /^defaults$/i, + select: function () { + return browserslist(browserslist.defaults); + } + } + +}; + +// Get and convert Can I Use data + +(function () { + for ( var name in caniuse ) { + var browser = caniuse[name]; + browserslist.data[name] = { + name: name, + versions: normalize(caniuse[name].versions), + released: normalize(caniuse[name].versions.slice(0, -3)) + }; + fillUsage(browserslist.usage.global, name, browser.usage_global); + + browserslist.versionAliases[name] = { }; + for ( var i = 0; i < browser.versions.length; i++ ) { + var full = browser.versions[i]; + if (!full) continue; + + if ( full.indexOf('-') !== -1 ) { + var interval = full.split('-'); + for ( var j = 0; j < interval.length; j++ ) { + browserslist.versionAliases[name][interval[j]] = full; + } + } + } + } +}()); + +module.exports = browserslist; diff --git a/node_modules/postcss-fixes/node_modules/browserslist/package.json b/node_modules/postcss-fixes/node_modules/browserslist/package.json new file mode 100644 index 00000000..56d7529a --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/browserslist/package.json @@ -0,0 +1,54 @@ +{ + "name": "browserslist", + "version": "1.7.7", + "description": "Share browsers list between different front-end tools, like Autoprefixer, Stylelint and babel-env-preset", + "keywords": [ + "caniuse", + "browsers" + ], + "author": "Andrey Sitnik ", + "license": "MIT", + "repository": "ai/browserslist", + "dependencies": { + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" + }, + "bin": "./cli.js", + "devDependencies": { + "eslint": "^3.18.0", + "eslint-config-postcss": "^2.0.2", + "jest": "^19.0.2", + "lint-staged": "^3.4.0", + "pre-commit": "^1.1.3", + "yaspeller-ci": "^0.3.0" + }, + "eslintConfig": { + "extends": "eslint-config-postcss/es5", + "env": { + "jest": true + }, + "rules": { + "consistent-return": "off", + "no-process-exit": "off", + "valid-jsdoc": "error" + } + }, + "jest": { + "coverageThreshold": { + "global": { + "statements": 100 + } + } + }, + "scripts": { + "lint-staged": "lint-staged", + "test": "jest --coverage && eslint *.js test/*.js && yaspeller-ci *.md" + }, + "lint-staged": { + "*.md": "yaspeller-ci", + "*.js": "eslint" + }, + "pre-commit": [ + "lint-staged" + ] +} diff --git a/node_modules/postcss-fixes/node_modules/has-flag/index.js b/node_modules/postcss-fixes/node_modules/has-flag/index.js new file mode 100644 index 00000000..fdcb342f --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/has-flag/index.js @@ -0,0 +1,10 @@ +'use strict'; +module.exports = function (flag, argv) { + argv = argv || process.argv; + + var terminatorPos = argv.indexOf('--'); + var prefix = /^--/.test(flag) ? '' : '--'; + var pos = argv.indexOf(prefix + flag); + + return pos !== -1 && (terminatorPos !== -1 ? pos < terminatorPos : true); +}; diff --git a/node_modules/postcss-fixes/node_modules/has-flag/license b/node_modules/postcss-fixes/node_modules/has-flag/license new file mode 100644 index 00000000..654d0bfe --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/has-flag/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/postcss-fixes/node_modules/has-flag/package.json b/node_modules/postcss-fixes/node_modules/has-flag/package.json new file mode 100644 index 00000000..930dc7ff --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/has-flag/package.json @@ -0,0 +1,48 @@ +{ + "name": "has-flag", + "version": "1.0.0", + "description": "Check if argv has a specific flag", + "license": "MIT", + "repository": "sindresorhus/has-flag", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "maintainers": [ + "Sindre Sorhus (sindresorhus.com)", + "Joshua Appelman (jbnicolai.com)", + "JD Ballard (github.com/qix-)" + ], + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "test": "node test.js" + }, + "files": [ + "index.js" + ], + "keywords": [ + "has", + "check", + "detect", + "contains", + "find", + "flag", + "cli", + "command-line", + "argv", + "process", + "arg", + "args", + "argument", + "arguments", + "getopt", + "minimist", + "optimist" + ], + "devDependencies": { + "ava": "0.0.4" + } +} diff --git a/node_modules/postcss-fixes/node_modules/has-flag/readme.md b/node_modules/postcss-fixes/node_modules/has-flag/readme.md new file mode 100644 index 00000000..ea5c8179 --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/has-flag/readme.md @@ -0,0 +1,64 @@ +# has-flag [![Build Status](https://travis-ci.org/sindresorhus/has-flag.svg?branch=master)](https://travis-ci.org/sindresorhus/has-flag) + +> Check if [`argv`](https://nodejs.org/docs/latest/api/process.html#process_process_argv) has a specific flag + +Correctly stops looking after an `--` argument terminator. + + +## Install + +``` +$ npm install --save has-flag +``` + + +## Usage + +```js +// foo.js +var hasFlag = require('has-flag'); + +hasFlag('unicorn'); +//=> true + +hasFlag('--unicorn'); +//=> true + +hasFlag('foo=bar'); +//=> true + +hasFlag('foo'); +//=> false + +hasFlag('rainbow'); +//=> false +``` + +``` +$ node foo.js --unicorn --foo=bar -- --rainbow +``` + + +## API + +### hasFlag(flag, [argv]) + +Returns a boolean whether the flag exists. + +#### flag + +Type: `string` + +CLI flag to look for. The `--` prefix is optional. + +#### argv + +Type: `array` +Default: `process.argv` + +CLI arguments. + + +## License + +MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/node_modules/postcss-fixes/node_modules/picocolors/LICENSE b/node_modules/postcss-fixes/node_modules/picocolors/LICENSE new file mode 100644 index 00000000..496098c6 --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/picocolors/LICENSE @@ -0,0 +1,15 @@ +ISC License + +Copyright (c) 2021 Alexey Raspopov, Kostiantyn Denysov, Anton Verinov + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/node_modules/postcss-fixes/node_modules/picocolors/README.md b/node_modules/postcss-fixes/node_modules/picocolors/README.md new file mode 100644 index 00000000..a57b56db --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/picocolors/README.md @@ -0,0 +1,23 @@ +# picocolors + + npm install picocolors + +A tinier and faster alternative to [nanocolors](https://github.com/ai/nanocolors). Andrey, are you even trying? + +```javascript +import pc from "picocolors"; + +console.log(pc.green(`How are ${pc.italic(`you`)} doing?`)); +``` + +- Up to [2x faster and 2x smaller](#benchmarks) than alternatives +- 3x faster and 10x smaller than `chalk` +- [TypeScript](https://www.typescriptlang.org/) support +- [`NO_COLOR`](https://no-color.org/) friendly +- Node.js v6+ & browsers support +- The same API, but faster, much faster +- No `String.prototype` modifications (anyone still doing it?) +- No dependencies and the smallest `node_modules` footprint + +## Docs +Read **[full docs](https://github.com/alexeyraspopov/picocolors#readme)** on GitHub. diff --git a/node_modules/postcss-fixes/node_modules/picocolors/package.json b/node_modules/postcss-fixes/node_modules/picocolors/package.json new file mode 100644 index 00000000..5da3b4d0 --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/picocolors/package.json @@ -0,0 +1,25 @@ +{ + "name": "picocolors", + "version": "0.2.1", + "main": "./picocolors.js", + "types": "./picocolors.d.ts", + "browser": { + "./picocolors.js": "./picocolors.browser.js" + }, + "sideEffects": false, + "description": "The tiniest and the fastest coloring library ever", + "files": [ + "picocolors.*", + "types.ts" + ], + "keywords": [ + "terminal", + "colors", + "formatting", + "cli", + "console" + ], + "author": "Alexey Raspopov", + "repository": "alexeyraspopov/picocolors", + "license": "ISC" +} diff --git a/node_modules/postcss-fixes/node_modules/picocolors/picocolors.browser.js b/node_modules/postcss-fixes/node_modules/picocolors/picocolors.browser.js new file mode 100644 index 00000000..5eb9fbe8 --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/picocolors/picocolors.browser.js @@ -0,0 +1,4 @@ +var x=String; +var create=function() {return {isColorSupported:false,reset:x,bold:x,dim:x,italic:x,underline:x,inverse:x,hidden:x,strikethrough:x,black:x,red:x,green:x,yellow:x,blue:x,magenta:x,cyan:x,white:x,gray:x,bgBlack:x,bgRed:x,bgGreen:x,bgYellow:x,bgBlue:x,bgMagenta:x,bgCyan:x,bgWhite:x}}; +module.exports=create(); +module.exports.createColors = create; diff --git a/node_modules/postcss-fixes/node_modules/picocolors/picocolors.d.ts b/node_modules/postcss-fixes/node_modules/picocolors/picocolors.d.ts new file mode 100644 index 00000000..0ae2855b --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/picocolors/picocolors.d.ts @@ -0,0 +1,5 @@ +import { Colors } from "./types" + +declare const picocolors: Colors & { createColors: (enabled: boolean) => Colors } + +export = picocolors diff --git a/node_modules/postcss-fixes/node_modules/picocolors/picocolors.js b/node_modules/postcss-fixes/node_modules/picocolors/picocolors.js new file mode 100644 index 00000000..5cebd7ca --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/picocolors/picocolors.js @@ -0,0 +1,60 @@ +let tty = require("tty") + +let isColorSupported = + !("NO_COLOR" in process.env || process.argv.includes("--no-color")) && + ("FORCE_COLOR" in process.env || + process.argv.includes("--color") || + process.platform === "win32" || + (tty.isatty(1) && process.env.TERM !== "dumb") || + "CI" in process.env) + +function formatter(open, close, replace = open) { + return (input) => { + let string = "" + input + let index = string.indexOf(close, open.length) + return !~index + ? open + string + close + : open + replaceClose(string, close, replace, index) + close + } +} + +function replaceClose(string, close, replace, index) { + let start = string.substring(0, index) + replace + let end = string.substring(index + close.length) + let nextIndex = end.indexOf(close) + return !~nextIndex ? start + end : start + replaceClose(end, close, replace, nextIndex) +} + +function createColors(enabled = isColorSupported) { + return { + isColorSupported: enabled, + reset: enabled ? (s) => `\x1b[0m${s}\x1b[0m` : String, + bold: enabled ? formatter("\x1b[1m", "\x1b[22m", "\x1b[22m\x1b[1m") : String, + dim: enabled ? formatter("\x1b[2m", "\x1b[22m", "\x1b[22m\x1b[2m") : String, + italic: enabled ? formatter("\x1b[3m", "\x1b[23m") : String, + underline: enabled ? formatter("\x1b[4m", "\x1b[24m") : String, + inverse: enabled ? formatter("\x1b[7m", "\x1b[27m") : String, + hidden: enabled ? formatter("\x1b[8m", "\x1b[28m") : String, + strikethrough: enabled ? formatter("\x1b[9m", "\x1b[29m") : String, + black: enabled ? formatter("\x1b[30m", "\x1b[39m") : String, + red: enabled ? formatter("\x1b[31m", "\x1b[39m") : String, + green: enabled ? formatter("\x1b[32m", "\x1b[39m") : String, + yellow: enabled ? formatter("\x1b[33m", "\x1b[39m") : String, + blue: enabled ? formatter("\x1b[34m", "\x1b[39m") : String, + magenta: enabled ? formatter("\x1b[35m", "\x1b[39m") : String, + cyan: enabled ? formatter("\x1b[36m", "\x1b[39m") : String, + white: enabled ? formatter("\x1b[37m", "\x1b[39m") : String, + gray: enabled ? formatter("\x1b[90m", "\x1b[39m") : String, + bgBlack: enabled ? formatter("\x1b[40m", "\x1b[49m") : String, + bgRed: enabled ? formatter("\x1b[41m", "\x1b[49m") : String, + bgGreen: enabled ? formatter("\x1b[42m", "\x1b[49m") : String, + bgYellow: enabled ? formatter("\x1b[43m", "\x1b[49m") : String, + bgBlue: enabled ? formatter("\x1b[44m", "\x1b[49m") : String, + bgMagenta: enabled ? formatter("\x1b[45m", "\x1b[49m") : String, + bgCyan: enabled ? formatter("\x1b[46m", "\x1b[49m") : String, + bgWhite: enabled ? formatter("\x1b[47m", "\x1b[49m") : String, + } +} + +module.exports = createColors() +module.exports.createColors = createColors diff --git a/node_modules/postcss-fixes/node_modules/picocolors/types.ts b/node_modules/postcss-fixes/node_modules/picocolors/types.ts new file mode 100644 index 00000000..b4bacee4 --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/picocolors/types.ts @@ -0,0 +1,30 @@ +export type Formatter = (input: string | number | null | undefined) => string + +export interface Colors { + isColorSupported: boolean + reset: Formatter + bold: Formatter + dim: Formatter + italic: Formatter + underline: Formatter + inverse: Formatter + hidden: Formatter + strikethrough: Formatter + black: Formatter + red: Formatter + green: Formatter + yellow: Formatter + blue: Formatter + magenta: Formatter + cyan: Formatter + white: Formatter + gray: Formatter + bgBlack: Formatter + bgRed: Formatter + bgGreen: Formatter + bgYellow: Formatter + bgBlue: Formatter + bgMagenta: Formatter + bgCyan: Formatter + bgWhite: Formatter +} diff --git a/node_modules/postcss-fixes/node_modules/pixrem/.editorconfig b/node_modules/postcss-fixes/node_modules/pixrem/.editorconfig new file mode 100644 index 00000000..8f6cc4f8 --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/pixrem/.editorconfig @@ -0,0 +1,13 @@ +# http://editorconfig.org +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false \ No newline at end of file diff --git a/node_modules/postcss-fixes/node_modules/pixrem/.gitattributes b/node_modules/postcss-fixes/node_modules/pixrem/.gitattributes new file mode 100644 index 00000000..176a458f --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/pixrem/.gitattributes @@ -0,0 +1 @@ +* text=auto diff --git a/node_modules/postcss-fixes/node_modules/pixrem/.jshintrc b/node_modules/postcss-fixes/node_modules/pixrem/.jshintrc new file mode 100644 index 00000000..a24dec95 --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/pixrem/.jshintrc @@ -0,0 +1,21 @@ +{ + "node": true, + "esnext": true, + "bitwise": true, + "camelcase": true, + "curly": true, + "eqeqeq": true, + "immed": true, + "indent": 2, + "latedef": false, + "newcap": true, + "noarg": true, + "quotmark": "single", + "regexp": true, + "undef": true, + "unused": true, + "strict": true, + "trailing": true, + "smarttabs": true, + "white": true +} diff --git a/node_modules/postcss-fixes/node_modules/pixrem/.npmignore b/node_modules/postcss-fixes/node_modules/pixrem/.npmignore new file mode 100644 index 00000000..646ac519 --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/pixrem/.npmignore @@ -0,0 +1,2 @@ +.DS_Store +node_modules/ diff --git a/node_modules/postcss-fixes/node_modules/pixrem/.travis.yml b/node_modules/postcss-fixes/node_modules/pixrem/.travis.yml new file mode 100644 index 00000000..0af45e36 --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/pixrem/.travis.yml @@ -0,0 +1,4 @@ +language: node_js +node_js: + - "0.12" + - "io.js" diff --git a/node_modules/postcss-fixes/node_modules/pixrem/CHANGELOG.md b/node_modules/postcss-fixes/node_modules/pixrem/CHANGELOG.md new file mode 100644 index 00000000..988e03e6 --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/pixrem/CHANGELOG.md @@ -0,0 +1,77 @@ +## Release History + +3.0.2, August 22, 2016 +* Fix reduce-css-calc security bug + +3.0.1, May 24, 2016 +* Fix #54: fallback not added when ie9 and ie 10 are in scope + +3.0.0, Sep 23, 2015 + +* Export module as a PostCSS plugin (#35) +* Follow PostCSS plugin guidelines +* Removed `rootValue` parameter, now defined in options (#40) +* Removed old API. Always use pixrem with PostCSS API. +* Added: `unitPrecision` for rounded values + +2.0.1, Sep 17, 2015 + +* Fix NaNpx values (#45) + +2.0.0, Aug 24, 2015 + +* Update to PostCSS 5.0 + +1.3.2, Aug 24, 2015 + +* Unpublished version + +1.3.1, Jul 9, 2015 + +* Fixed: Replace `eachDecl` with `each` and `decl.type` check in process function + +1.3.0, Jul 1, 2015 + +* Added: Use browserslist to generate rem fallbacks only when needed + +1.2.4, Apr 17, 2015 + +* Fixed: generate fallbacks with a value starting with dot + +1.2.3, Mar 27, 2015 + +* Fix: copy and reduce decl.before, only if defined + +1.2.2, Mar 27, 2015 + +* Fix root-font size detection + +1.2.1, Mar 23, 2015 + +* Reduce line-breaks when inserting clone node + +1.2.0, Feb 19, 2015 + +* Add option `html` to disable root font-size detection +* Fix root-font size defined with `calc` +* Throw error when root font-size is invalid + +1.1.1, Feb 5, 2015: + +* Fix root font-size detection + +1.1.0, Jan 25, 2015: + +* PostCSS 4 +* Expose postcss processor + +1.0.0, Nov 26, 2014: + +* Generate rem fallbacks only when needed +* Updated to PostCSS v3.0 +* Get root font-size from CSS + +0.1.4, March 6, 2014: Code optimization from AI. +0.1.3, Dec 14, 2013: Fix regex for < 0 values. +0.1.1, 0.1.2, Dec 14, 2013: Documentation improvements. +0.1.0, Dec 14, 2013: Initial release. \ No newline at end of file diff --git a/node_modules/postcss-fixes/node_modules/pixrem/LICENSE b/node_modules/postcss-fixes/node_modules/pixrem/LICENSE new file mode 100644 index 00000000..cdfd304f --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/pixrem/LICENSE @@ -0,0 +1,22 @@ +Copyright (c) 2013 Robert Wierzbowski, contributors + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/postcss-fixes/node_modules/pixrem/README.md b/node_modules/postcss-fixes/node_modules/pixrem/README.md new file mode 100644 index 00000000..ae8ba5ed --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/pixrem/README.md @@ -0,0 +1,89 @@ +# Pixrem + +[![Build Status](https://travis-ci.org/robwierzbowski/node-pixrem.png?branch=master)](https://travis-ci.org/robwierzbowski/node-pixrem) + +[PostCSS](https://github.com/ai/postcss) plugin that generates pixel fallbacks for rem units. + +## Installation + +`npm install --save pixrem` + +## Usage + +Pixrem is a CSS post-processor that, given CSS and a root em value, returns CSS with pixel unit fallbacks or replacements. It's based on [browser data](http://caniuse.com/rem) so only needed fallbacks will be added. Basically, it's for IE8 or less, and for IE9 & IE10 in the `font` shorthand property and in pseudo-elements. + +### Example + +```js +'use strict'; +var fs = require('fs'); +var pixrem = require('pixrem'); +var postcss = require('postcss'); + +var css = fs.readFileSync('main.css', 'utf8'); +var processedCss = postcss([pixrem]).process(css).css; + +fs.writeFile('main.with-fallbacks.css', processedCss, function (err) { + if (err) { + throw err; + } + console.log('IE8, you\'re welcome.'); +}); +``` + +Pixrem takes this: + +```css +.sky { + margin: 2.5rem 2px 3em 100%; + color: blue; +} + +@media screen and (min-width: 20rem) { + .leaf { + margin-bottom: 1.333rem; + font-size: 1.5rem; + } +} +``` + +And returns this: + +```css +.sky { + margin: 80px 2px 3em 100%; + margin: 2.5rem 2px 3em 100%; + color: blue; +} + +@media screen and (min-width: 20rem) { + .leaf { + margin-bottom: 1.333rem; + font-size: 1.5rem; + } +} +``` + +### Options + +Type: `Object | Null` +Default: `{rootValue: 16, replace: false, atrules: false, html: true, browsers: 'ie <= 8', unitPrecision: 3}` + +- `rootValue` the root element font size. Can be `px`, `rem`, `em`, `%`, or unitless pixel value. Pixrem also tries to get the root font-size from CSS (`html` or `:root`) and overrides this option. Use `html` option to disable this behaviour. +- `replace` replaces rules containing `rem`s instead of adding fallbacks. +- `atrules` generates fallback in at-rules too (media-queries) +- `html` overrides root font-size from CSS `html {}` or `:root {}` +- `browsers` sets browser's range you want to target, based on [browserslist](https://github.com/ai/browserslist) +- `unitPrecision` control the significant digits after the decimal point + +## Contribute + +Report bugs and feature proposals in the [Github issue tracker](https://github.com/robwierzbowski/node-pixrem/issues). Run tests with `npm test`. In lieu of a formal styleguide, take care to maintain the existing coding style. + +## License + +[MIT](http://en.wikipedia.org/wiki/MIT_License) + + +[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/robwierzbowski/node-pixrem/trend.png)](https://bitdeli.com/free "Bitdeli Badge") + diff --git a/node_modules/postcss-fixes/node_modules/pixrem/lib/pixrem.js b/node_modules/postcss-fixes/node_modules/pixrem/lib/pixrem.js new file mode 100644 index 00000000..9f0d61a6 --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/pixrem/lib/pixrem.js @@ -0,0 +1,160 @@ +var calc = require('reduce-css-calc'); +var vendor = require('postcss/lib/vendor'); +var postcss = require('postcss'); +var browserslist = require('browserslist'); + +var REGEX = /(\d*\.?\d+)rem/ig; +var BASE_FONT_SIZE = 16; +var PROPS = /^(background-size|border-image|border-radius|box-shadow|clip-path|column|grid|mask|object|perspective|scroll|shape|size|stroke|transform)/; +var VALUES = /(calc|gradient)\(/; + +module.exports = postcss.plugin('pixrem', function (opts) { + + opts = opts || {}; + + return function (css, result) { + + var options = {}; + options.rootValue = (opts.rootValue !== undefined) ? opts.rootValue : BASE_FONT_SIZE; + options.replace = (opts.replace !== undefined) ? opts.replace : false; + options.atrules = (opts.atrules !== undefined) ? opts.atrules : false; + options.html = (opts.html !== undefined) ? opts.html : true; + options.unitPrecision = (opts.unitPrecision !== undefined) ? opts.unitPrecision : 3; + options.browsers = (opts.browsers !== undefined) ? opts.browsers : 'ie <= 8'; + options.browsers = browserslist(options.browsers); + + var isIElte8, isIEgte9, isIE9_10; + if (detectBrowser(options.browsers, 'ie <= 8')) { + isIElte8 = true; + } + if (detectBrowser(options.browsers, 'ie >= 9')) { + isIEgte9 = true; + } + if (detectBrowser(options.browsers, 'ie 9, ie 10')) { + isIE9_10 = true; + } + // no IE versions needed, skip + if (!isIElte8 && !isIEgte9 && !isIE9_10) { return; } + + if (options.html) { + // First, check root font-size + css.walkRules(function (rule) { + if (rule.parent && rule.parent.type === 'atrule') { return; } + if (/^(html|:root)$/.test(rule.selectors)) { + rule.walkDecls(function (decl) { + if (decl.prop === 'font-size') { + options.rootValue = decl.value; + } else if (decl.prop === 'font' && decl.value.match(/\d/)) { + options.rootValue = decl.value.match(/.*?([\d\.]*(em|px|rem|%|pt|pc))/)[1]; + } + }); + } + }); + } + + css.walkRules(function (rule) { + + // if options.at-rules is false AND it's not IE9-10: skip @rules + if (!options.atrules && !isIE9_10) { + if (rule.type === 'atrule' || (rule.parent && rule.parent.type === 'atrule')) { return; } + } + + var isPseudoElement = (rule.selector.search(/:(after|before)/gi) !== -1); + + rule.each(function (decl, i) { + + if (decl.type !== 'decl') { return; } + + var value = decl.value; + + if (value.indexOf('rem') !== -1) { + + var prop = vendor.unprefixed(decl.prop); + var isFontShorthand = (prop === 'font'); + var isSpecialCaseIE9_10 = (isIE9_10 && (isPseudoElement || isFontShorthand)); + var isUseless = (VALUES.test(value) || PROPS.test(prop)); + var isNotUseless = ((isIElte8 || !isIE9_10) && !isUseless); + + if ( isSpecialCaseIE9_10 || isNotUseless ) { + + value = value.replace(REGEX, function ($1) { + return rounded(parseFloat($1) * toPx(options.rootValue, decl, result), options.unitPrecision) + 'px'; + }); + + if (options.replace) { + decl.value = value; + } else { + var clone = decl.clone({ value: value }); + if (decl.raws.before) { + clone.raws.before = decl.raws.before; + decl.raws.before = reduceLineBreaks(decl.raws.before); + } + rule.insertBefore(i, clone); + } + + } + + } + + }); + + }); + + }; + +}); + +// Detect if one browser from the browserQuery is in browsers +function detectBrowser (browsers, browserQuery) { + var b = false; + browserQuery = browserslist(browserQuery); + for (var i = 0; i < browsers.length; i++) { + for (var j = 0; j < browserQuery.length; j++) { + if (browsers[i] === browserQuery[j]) { + b = true; + break; + } + } + if (b) { break; } + } + return b; +} + +// Return a unitless pixel value from any root font-size value. +function toPx (value, decl, result) { + value = (typeof value === 'string' && value.indexOf('calc(') !== -1) ? calc(value) : value; + var parts = /^(\d*\.?\d+)([a-zA-Z%]*)$/.exec(value); + if (parts !== null) { + var number = parts[1]; + var unit = parts[2]; + + if (unit === 'px' || unit === '') { + return parseFloat(number); + } + else if (unit === 'em' || unit === 'rem') { + return parseFloat(number) * BASE_FONT_SIZE; + } + else if (unit === '%') { + return (parseFloat(number) / 100) * BASE_FONT_SIZE; + } else { + // other units: vw, ex, ch, etc... + result.warn('Unit cannot be used for conversion, so 16px is used.'); + return BASE_FONT_SIZE; + } + } else { + throw decl.error('Root font-size is invalid', {plugin: 'pixrem'}); + } +} + +// Reduce line breaks +function reduceLineBreaks (value) { + return value.replace(/(\r*\n|\r)+/g, '$1'); +} + +// Round values based on precision +// rounded down to match webkit and opera behavior: +// http://tylertate.com/blog/2012/01/05/subpixel-rounding.html +function rounded (value, precision) { + precision = Math.pow(10, precision); + return Math.floor(value * precision) / precision; +} \ No newline at end of file diff --git a/node_modules/postcss-fixes/node_modules/pixrem/node_modules/chalk/index.js b/node_modules/postcss-fixes/node_modules/pixrem/node_modules/chalk/index.js new file mode 100644 index 00000000..2d85a917 --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/pixrem/node_modules/chalk/index.js @@ -0,0 +1,116 @@ +'use strict'; +var escapeStringRegexp = require('escape-string-regexp'); +var ansiStyles = require('ansi-styles'); +var stripAnsi = require('strip-ansi'); +var hasAnsi = require('has-ansi'); +var supportsColor = require('supports-color'); +var defineProps = Object.defineProperties; +var isSimpleWindowsTerm = process.platform === 'win32' && !/^xterm/i.test(process.env.TERM); + +function Chalk(options) { + // detect mode if not set manually + this.enabled = !options || options.enabled === undefined ? supportsColor : options.enabled; +} + +// use bright blue on Windows as the normal blue color is illegible +if (isSimpleWindowsTerm) { + ansiStyles.blue.open = '\u001b[94m'; +} + +var styles = (function () { + var ret = {}; + + Object.keys(ansiStyles).forEach(function (key) { + ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g'); + + ret[key] = { + get: function () { + return build.call(this, this._styles.concat(key)); + } + }; + }); + + return ret; +})(); + +var proto = defineProps(function chalk() {}, styles); + +function build(_styles) { + var builder = function () { + return applyStyle.apply(builder, arguments); + }; + + builder._styles = _styles; + builder.enabled = this.enabled; + // __proto__ is used because we must return a function, but there is + // no way to create a function with a different prototype. + /* eslint-disable no-proto */ + builder.__proto__ = proto; + + return builder; +} + +function applyStyle() { + // support varags, but simply cast to string in case there's only one arg + var args = arguments; + var argsLen = args.length; + var str = argsLen !== 0 && String(arguments[0]); + + if (argsLen > 1) { + // don't slice `arguments`, it prevents v8 optimizations + for (var a = 1; a < argsLen; a++) { + str += ' ' + args[a]; + } + } + + if (!this.enabled || !str) { + return str; + } + + var nestedStyles = this._styles; + var i = nestedStyles.length; + + // Turns out that on Windows dimmed gray text becomes invisible in cmd.exe, + // see https://github.com/chalk/chalk/issues/58 + // If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop. + var originalDim = ansiStyles.dim.open; + if (isSimpleWindowsTerm && (nestedStyles.indexOf('gray') !== -1 || nestedStyles.indexOf('grey') !== -1)) { + ansiStyles.dim.open = ''; + } + + while (i--) { + var code = ansiStyles[nestedStyles[i]]; + + // Replace any instances already present with a re-opening code + // otherwise only the part of the string until said closing code + // will be colored, and the rest will simply be 'plain'. + str = code.open + str.replace(code.closeRe, code.open) + code.close; + } + + // Reset the original 'dim' if we changed it to work around the Windows dimmed gray issue. + ansiStyles.dim.open = originalDim; + + return str; +} + +function init() { + var ret = {}; + + Object.keys(styles).forEach(function (name) { + ret[name] = { + get: function () { + return build.call(this, [name]); + } + }; + }); + + return ret; +} + +defineProps(Chalk.prototype, init()); + +module.exports = new Chalk(); +module.exports.styles = ansiStyles; +module.exports.hasColor = hasAnsi; +module.exports.stripColor = stripAnsi; +module.exports.supportsColor = supportsColor; diff --git a/node_modules/postcss-fixes/node_modules/pixrem/node_modules/chalk/license b/node_modules/postcss-fixes/node_modules/pixrem/node_modules/chalk/license new file mode 100644 index 00000000..654d0bfe --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/pixrem/node_modules/chalk/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/postcss-fixes/node_modules/pixrem/node_modules/chalk/node_modules/supports-color/index.js b/node_modules/postcss-fixes/node_modules/pixrem/node_modules/chalk/node_modules/supports-color/index.js new file mode 100644 index 00000000..4346e272 --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/pixrem/node_modules/chalk/node_modules/supports-color/index.js @@ -0,0 +1,50 @@ +'use strict'; +var argv = process.argv; + +var terminator = argv.indexOf('--'); +var hasFlag = function (flag) { + flag = '--' + flag; + var pos = argv.indexOf(flag); + return pos !== -1 && (terminator !== -1 ? pos < terminator : true); +}; + +module.exports = (function () { + if ('FORCE_COLOR' in process.env) { + return true; + } + + if (hasFlag('no-color') || + hasFlag('no-colors') || + hasFlag('color=false')) { + return false; + } + + if (hasFlag('color') || + hasFlag('colors') || + hasFlag('color=true') || + hasFlag('color=always')) { + return true; + } + + if (process.stdout && !process.stdout.isTTY) { + return false; + } + + if (process.platform === 'win32') { + return true; + } + + if ('COLORTERM' in process.env) { + return true; + } + + if (process.env.TERM === 'dumb') { + return false; + } + + if (/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(process.env.TERM)) { + return true; + } + + return false; +})(); diff --git a/node_modules/postcss-fixes/node_modules/pixrem/node_modules/chalk/node_modules/supports-color/license b/node_modules/postcss-fixes/node_modules/pixrem/node_modules/chalk/node_modules/supports-color/license new file mode 100644 index 00000000..654d0bfe --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/pixrem/node_modules/chalk/node_modules/supports-color/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/postcss-fixes/node_modules/pixrem/node_modules/chalk/node_modules/supports-color/package.json b/node_modules/postcss-fixes/node_modules/pixrem/node_modules/chalk/node_modules/supports-color/package.json new file mode 100644 index 00000000..3bb77ac1 --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/pixrem/node_modules/chalk/node_modules/supports-color/package.json @@ -0,0 +1,49 @@ +{ + "name": "supports-color", + "version": "2.0.0", + "description": "Detect whether a terminal supports color", + "license": "MIT", + "repository": "chalk/supports-color", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "maintainers": [ + "Sindre Sorhus (sindresorhus.com)", + "Joshua Appelman (jbnicolai.com)" + ], + "engines": { + "node": ">=0.8.0" + }, + "scripts": { + "test": "mocha" + }, + "files": [ + "index.js" + ], + "keywords": [ + "color", + "colour", + "colors", + "terminal", + "console", + "cli", + "ansi", + "styles", + "tty", + "rgb", + "256", + "shell", + "xterm", + "command-line", + "support", + "supports", + "capability", + "detect" + ], + "devDependencies": { + "mocha": "*", + "require-uncached": "^1.0.2" + } +} diff --git a/node_modules/postcss-fixes/node_modules/pixrem/node_modules/chalk/node_modules/supports-color/readme.md b/node_modules/postcss-fixes/node_modules/pixrem/node_modules/chalk/node_modules/supports-color/readme.md new file mode 100644 index 00000000..b4761f1e --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/pixrem/node_modules/chalk/node_modules/supports-color/readme.md @@ -0,0 +1,36 @@ +# supports-color [![Build Status](https://travis-ci.org/chalk/supports-color.svg?branch=master)](https://travis-ci.org/chalk/supports-color) + +> Detect whether a terminal supports color + + +## Install + +``` +$ npm install --save supports-color +``` + + +## Usage + +```js +var supportsColor = require('supports-color'); + +if (supportsColor) { + console.log('Terminal supports color'); +} +``` + +It obeys the `--color` and `--no-color` CLI flags. + +For situations where using `--color` is not possible, add an environment variable `FORCE_COLOR` with any value to force color. Trumps `--no-color`. + + +## Related + +- [supports-color-cli](https://github.com/chalk/supports-color-cli) - CLI for this module +- [chalk](https://github.com/chalk/chalk) - Terminal string styling done right + + +## License + +MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/node_modules/postcss-fixes/node_modules/pixrem/node_modules/chalk/package.json b/node_modules/postcss-fixes/node_modules/pixrem/node_modules/chalk/package.json new file mode 100644 index 00000000..2b5881e9 --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/pixrem/node_modules/chalk/package.json @@ -0,0 +1,70 @@ +{ + "name": "chalk", + "version": "1.1.3", + "description": "Terminal string styling done right. Much color.", + "license": "MIT", + "repository": "chalk/chalk", + "maintainers": [ + "Sindre Sorhus (sindresorhus.com)", + "Joshua Appelman (jbnicolai.com)", + "JD Ballard (github.com/qix-)" + ], + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "test": "xo && mocha", + "bench": "matcha benchmark.js", + "coverage": "nyc npm test && nyc report", + "coveralls": "nyc npm test && nyc report --reporter=text-lcov | coveralls" + }, + "files": [ + "index.js" + ], + "keywords": [ + "color", + "colour", + "colors", + "terminal", + "console", + "cli", + "string", + "str", + "ansi", + "style", + "styles", + "tty", + "formatting", + "rgb", + "256", + "shell", + "xterm", + "log", + "logging", + "command-line", + "text" + ], + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "devDependencies": { + "coveralls": "^2.11.2", + "matcha": "^0.6.0", + "mocha": "*", + "nyc": "^3.0.0", + "require-uncached": "^1.0.2", + "resolve-from": "^1.0.0", + "semver": "^4.3.3", + "xo": "*" + }, + "xo": { + "envs": [ + "node", + "mocha" + ] + } +} diff --git a/node_modules/postcss-fixes/node_modules/pixrem/node_modules/chalk/readme.md b/node_modules/postcss-fixes/node_modules/pixrem/node_modules/chalk/readme.md new file mode 100644 index 00000000..5cf111e3 --- /dev/null +++ b/node_modules/postcss-fixes/node_modules/pixrem/node_modules/chalk/readme.md @@ -0,0 +1,213 @@ +

+
+
+ chalk +
+
+
+

+ +> Terminal string styling done right + +[![Build Status](https://travis-ci.org/chalk/chalk.svg?branch=master)](https://travis-ci.org/chalk/chalk) +[![Coverage Status](https://coveralls.io/repos/chalk/chalk/badge.svg?branch=master)](https://coveralls.io/r/chalk/chalk?branch=master) +[![](http://img.shields.io/badge/unicorn-approved-ff69b4.svg)](https://www.youtube.com/watch?v=9auOCbH5Ns4) + + +[colors.js](https://github.com/Marak/colors.js) used to be the most popular string styling module, but it has serious deficiencies like extending `String.prototype` which causes all kinds of [problems](https://github.com/yeoman/yo/issues/68). Although there are other ones, they either do too much or not enough. + +**Chalk is a clean and focused alternative.** + +![](https://github.com/chalk/ansi-styles/raw/master/screenshot.png) + + +## Why + +- Highly performant +- Doesn't extend `String.prototype` +- Expressive API +- Ability to nest styles +- Clean and focused +- Auto-detects color support +- Actively maintained +- [Used by ~4500 modules](https://www.npmjs.com/browse/depended/chalk) as of July 15, 2015 + + +## Install + +``` +$ npm install --save chalk +``` + + +## Usage + +Chalk comes with an easy to use composable API where you just chain and nest the styles you want. + +```js +var chalk = require('chalk'); + +// style a string +chalk.blue('Hello world!'); + +// combine styled and normal strings +chalk.blue('Hello') + 'World' + chalk.red('!'); + +// compose multiple styles using the chainable API +chalk.blue.bgRed.bold('Hello world!'); + +// pass in multiple arguments +chalk.blue('Hello', 'World!', 'Foo', 'bar', 'biz', 'baz'); + +// nest styles +chalk.red('Hello', chalk.underline.bgBlue('world') + '!'); + +// nest styles of the same type even (color, underline, background) +chalk.green( + 'I am a green line ' + + chalk.blue.underline.bold('with a blue substring') + + ' that becomes green again!' +); +``` + +Easily define your own themes. + +```js +var chalk = require('chalk'); +var error = chalk.bold.red; +console.log(error('Error!')); +``` + +Take advantage of console.log [string substitution](http://nodejs.org/docs/latest/api/console.html#console_console_log_data). + +```js +var name = 'Sindre'; +console.log(chalk.green('Hello %s'), name); +//=> Hello Sindre +``` + + +## API + +### chalk.`