From 2cdf0cb352ab6a2d0f8cb25120e4ebc92c5316e3 Mon Sep 17 00:00:00 2001 From: littleblack111 Date: Sun, 5 Nov 2023 17:23:37 +0800 Subject: removed autoprefix hover as it will have a high chance of making hover stopped working --- node_modules/postcss-reporter/CHANGELOG.md | 65 + node_modules/postcss-reporter/README.md | 141 +- node_modules/postcss-reporter/index.js | 4 +- node_modules/postcss-reporter/lib/formatter.js | 75 +- node_modules/postcss-reporter/lib/reporter.js | 134 +- node_modules/postcss-reporter/lib/util.js | 11 +- .../node_modules/postcss/CHANGELOG.md | 552 ++++ .../node_modules/postcss/CONTRIBUTING.md | 78 + .../postcss-reporter/node_modules/postcss/LICENSE | 20 + .../node_modules/postcss/README-cn.md | 349 +++ .../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 ++ .../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 +++ .../node_modules/postcss/lib/list.js | 95 + .../node_modules/postcss/lib/map-generator.js | 323 ++ .../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 ++ .../node_modules/postcss/lib/root.js | 129 + .../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 + .../node_modules/source-map/CHANGELOG.md | 301 ++ .../node_modules/source-map/LICENSE | 28 + .../node_modules/source-map/README.md | 742 +++++ .../source-map/dist/source-map.debug.js | 3234 ++++++++++++++++++++ .../node_modules/source-map/dist/source-map.js | 3233 +++++++++++++++++++ .../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 | 1145 +++++++ .../source-map/lib/source-map-generator.js | 425 +++ .../node_modules/source-map/lib/source-node.js | 413 +++ .../node_modules/source-map/lib/util.js | 488 +++ .../node_modules/source-map/package.json | 73 + .../node_modules/source-map/source-map.d.ts | 98 + .../node_modules/source-map/source-map.js | 8 + node_modules/postcss-reporter/package.json | 39 +- 65 files changed, 20572 insertions(+), 146 deletions(-) create mode 100644 node_modules/postcss-reporter/CHANGELOG.md create mode 100644 node_modules/postcss-reporter/node_modules/postcss/CHANGELOG.md create mode 100644 node_modules/postcss-reporter/node_modules/postcss/CONTRIBUTING.md create mode 100644 node_modules/postcss-reporter/node_modules/postcss/LICENSE create mode 100644 node_modules/postcss-reporter/node_modules/postcss/README-cn.md create mode 100644 node_modules/postcss-reporter/node_modules/postcss/README.md create mode 100644 node_modules/postcss-reporter/node_modules/postcss/docs/architecture.md create mode 100644 node_modules/postcss-reporter/node_modules/postcss/docs/guidelines/plugin.md create mode 100644 node_modules/postcss-reporter/node_modules/postcss/docs/guidelines/runner.md create mode 100644 node_modules/postcss-reporter/node_modules/postcss/docs/source-maps.md create mode 100644 node_modules/postcss-reporter/node_modules/postcss/docs/syntax.md create mode 100644 node_modules/postcss-reporter/node_modules/postcss/gulpfile.js create mode 100644 node_modules/postcss-reporter/node_modules/postcss/lib/at-rule.js create mode 100644 node_modules/postcss-reporter/node_modules/postcss/lib/comment.js create mode 100644 node_modules/postcss-reporter/node_modules/postcss/lib/container.js create mode 100644 node_modules/postcss-reporter/node_modules/postcss/lib/css-syntax-error.js create mode 100644 node_modules/postcss-reporter/node_modules/postcss/lib/declaration.js create mode 100644 node_modules/postcss-reporter/node_modules/postcss/lib/input.js create mode 100644 node_modules/postcss-reporter/node_modules/postcss/lib/lazy-result.js create mode 100644 node_modules/postcss-reporter/node_modules/postcss/lib/list.js create mode 100644 node_modules/postcss-reporter/node_modules/postcss/lib/map-generator.js create mode 100644 node_modules/postcss-reporter/node_modules/postcss/lib/node.js create mode 100644 node_modules/postcss-reporter/node_modules/postcss/lib/parse.js create mode 100644 node_modules/postcss-reporter/node_modules/postcss/lib/parser.js create mode 100644 node_modules/postcss-reporter/node_modules/postcss/lib/postcss.d.ts create mode 100644 node_modules/postcss-reporter/node_modules/postcss/lib/postcss.js create mode 100644 node_modules/postcss-reporter/node_modules/postcss/lib/previous-map.js create mode 100644 node_modules/postcss-reporter/node_modules/postcss/lib/processor.js create mode 100644 node_modules/postcss-reporter/node_modules/postcss/lib/result.js create mode 100644 node_modules/postcss-reporter/node_modules/postcss/lib/root.js create mode 100644 node_modules/postcss-reporter/node_modules/postcss/lib/rule.js create mode 100644 node_modules/postcss-reporter/node_modules/postcss/lib/stringifier.js create mode 100644 node_modules/postcss-reporter/node_modules/postcss/lib/stringify.js create mode 100644 node_modules/postcss-reporter/node_modules/postcss/lib/terminal-highlight.js create mode 100644 node_modules/postcss-reporter/node_modules/postcss/lib/tokenize.js create mode 100644 node_modules/postcss-reporter/node_modules/postcss/lib/vendor.js create mode 100644 node_modules/postcss-reporter/node_modules/postcss/lib/warn-once.js create mode 100644 node_modules/postcss-reporter/node_modules/postcss/lib/warning.js create mode 100644 node_modules/postcss-reporter/node_modules/postcss/package.json create mode 100644 node_modules/postcss-reporter/node_modules/source-map/CHANGELOG.md create mode 100644 node_modules/postcss-reporter/node_modules/source-map/LICENSE create mode 100644 node_modules/postcss-reporter/node_modules/source-map/README.md create mode 100644 node_modules/postcss-reporter/node_modules/source-map/dist/source-map.debug.js create mode 100644 node_modules/postcss-reporter/node_modules/source-map/dist/source-map.js create mode 100644 node_modules/postcss-reporter/node_modules/source-map/dist/source-map.min.js create mode 100644 node_modules/postcss-reporter/node_modules/source-map/dist/source-map.min.js.map create mode 100644 node_modules/postcss-reporter/node_modules/source-map/lib/array-set.js create mode 100644 node_modules/postcss-reporter/node_modules/source-map/lib/base64-vlq.js create mode 100644 node_modules/postcss-reporter/node_modules/source-map/lib/base64.js create mode 100644 node_modules/postcss-reporter/node_modules/source-map/lib/binary-search.js create mode 100644 node_modules/postcss-reporter/node_modules/source-map/lib/mapping-list.js create mode 100644 node_modules/postcss-reporter/node_modules/source-map/lib/quick-sort.js create mode 100644 node_modules/postcss-reporter/node_modules/source-map/lib/source-map-consumer.js create mode 100644 node_modules/postcss-reporter/node_modules/source-map/lib/source-map-generator.js create mode 100644 node_modules/postcss-reporter/node_modules/source-map/lib/source-node.js create mode 100644 node_modules/postcss-reporter/node_modules/source-map/lib/util.js create mode 100644 node_modules/postcss-reporter/node_modules/source-map/package.json create mode 100644 node_modules/postcss-reporter/node_modules/source-map/source-map.d.ts create mode 100644 node_modules/postcss-reporter/node_modules/source-map/source-map.js (limited to 'node_modules/postcss-reporter') diff --git a/node_modules/postcss-reporter/CHANGELOG.md b/node_modules/postcss-reporter/CHANGELOG.md new file mode 100644 index 00000000..97e25532 --- /dev/null +++ b/node_modules/postcss-reporter/CHANGELOG.md @@ -0,0 +1,65 @@ +# Changelog + +## 5.0.0 + +- Move PostCSS from `peerDependencies` to `dependencies`. +- Drop support for Node 0.12. + +## 4.0.0 + +- Upgrade to PostCSS v6. (If you still use PostCSS v5, stick with v3 until you can upgrade your PostCSS.) +- Switched PostCSS to a peer dependency. + +## 3.0.0 + +- Replace `clearMessages` option with `clearReportedMessages` and `clearAllMessages`. + +## 2.0.0 + +- Only log warning messages (`type: "warning"`) by default. + +## 1.4.1 +- Add `filter` option. +- Add blacklist functionality to `plugins` option with `!` prefix`. + +## 1.3.3 +- Fix regression that caused positions from sources without incoming sourcemaps not to be logged. + +## 1.3.2 +- Find more accurate positions of preprocessed files with sourcemaps. + +## 1.3.1 +- Fix Windows path bug. + +## 1.3.0 +- Check individual messages for distinct sources, then group messages by those sources, + instead of always using the PostCSS Result's source. +- Output empty string from `formatter` if there are no messages, instead of `undefined`. + +## 1.2.1 +- Handle variable and absent input sources. + +## 1.2.0 +- Add `noIcon` and `noPlugin` options to both reporter and formatter. + +## 1.1.0 +- Use PostCSS 5's line/column properties on warnings, instead of relying on the source node. + +## 1.0.0 +- Upgrade to PostCSS 5. + +## 0.4.0 +- Add `positionless` option (to both the reporter and the formatter), with default value `"first"`. +- Cleaner npm install (files specified in `package.json`). + +## 0.3.1 +- Remove leftover debugging log statement. + +## 0.3.0 +- Add `sortByPosition` option (to both the reporter and the formatter), with default value `true`. + +## 0.2.0 +- Alter `defaultFormatter` to use warning symbol and not repeat `# postcss-reporter`. + +## 0.1.0 +- First release. diff --git a/node_modules/postcss-reporter/README.md b/node_modules/postcss-reporter/README.md index ca6c43b9..6842f131 100644 --- a/node_modules/postcss-reporter/README.md +++ b/node_modules/postcss-reporter/README.md @@ -1,12 +1,143 @@ # postcss-reporter +[![Build Status](https://travis-ci.org/postcss/postcss-reporter.svg?branch=master)](https://travis-ci.org/postcss/postcss-reporter) +[![AppVeyor Build Status](https://img.shields.io/appveyor/ci/davidtheclark/postcss-reporter/master.svg?label=windows%20build)](https://ci.appveyor.com/project/davidtheclark/postcss-reporter) A PostCSS plugin to `console.log()` the messages (warnings, etc.) registered by other PostCSS plugins. ---- +## Purpose -**SEEKING A NEW MAINTAINER!** Interested in contributing to the ecosystem of PostCSS and Stylelint? Please open an issue if you'd like to take over maintenance of this package. +As of PostCSS 4.1, a single PostCSS process can accumulate messages from all of the plugins it uses. +Most of these messages are [warnings](https://github.com/postcss/postcss/blob/master/docs/guidelines/plugin.md#32-use-resultwarn-for-warnings). +Presumably, plugin authors want you to see those messages. +So this plugin exists to read the accumulated messages (or messages from only the plugins you've specified), format them, and print them to the console. ---- +By default, the messages are formatted for human legibility and sorted according to the line/column positions attached to the messages. But another formatting function can be passed in with an option, and sorting can be turned of with an option. -## Docs -Read **[full docs](https://github.com/postcss/postcss-reporter#readme)** on GitHub. +*By default, only warnings are logged*. If you would like to see more messages, you can change the `filter` function. + +## Example Output + +![Example](example.png?raw=true) + +## Installation + +``` +npm install postcss-reporter +``` + +Version 1.0.0+ is compatible with PostCSS 5+. (Earlier versions are compatible with PostCSS 4.) + +## Usage + +Add it to your plugin list *after any plugins whose messages you want to log*, and optionally pass it an object of options. + +For example, using [gulp-postcss](https://github.com/postcss/gulp-postcss): + +```js +gulp.task('css', function() { + return gulp.src('./src/*.css') + .pipe(postcss([ + bemLinter(), + customProperties(), + calc(), + rejectAllColors(), + reporter(myOptions) // <------ ding + ])) + .pipe(gulp.dest('./dist')); +}); +``` + +## Options + +**clearReportedMessages** (boolean, default = `false`) + +If true, the plugin will clear the result's messages after it logs them. This prevents other plugins, or the whatever runner you use, from logging the same information again and causing confusion. + +**formatter** (function, default = the default formatter) + +By default, this reporter will format the messages for human legibility in the console. +To use another formatter, pass a function that + + - accepts an object containing a `messages` array and a `source` string + - returns the string to report + +For example, you could write a formatter like this: + +```js +reporter({ + formatter: function(input) { + return input.source + ' produced ' + input.messages.length + ' messages'; + } +}) +``` + +**plugins** (array of strings, default = `[]`) + +If `plugins` is empty (as it is by default), the reporter will log messages from every PostCSS plugin. + +There are 2 ways to limit output: + +- **Whitelist:** Provide an array of the plugins whose messages you would like to show. + For example, `{ plugins: ['postcss-bem-linter'] }` will only log messages from the `postcss-bem-linter` plugin. +- **Blacklist:** Prefix all plugins in the array with `!` to specify only those plugins whose messages you would like to hide. + (All other plugins will be shown.) + For example, `{ plugins: ['!postcss-bem-linter'] }` will never log messages from the `postcss-bem-linter` plugin; but will log messages from every other plugin. + +**filter** (function) + +Provide a filter function. It receives the message object and returns a truthy or falsy value, indicating whether that particular message should be reported or not. + +By default, only messages with `type: "warning"` warnings are logged. (These are the messages produced when the plugin author uses PostCSS's `warn()` function.) + +For example, `function(message) { return true }` will only every message, regardless of the plugin or whether it's a warning or not. + +**clearAllMessages** (boolean, default = `false`) + +If `true`, not pass any messages into other plugins, or the whatever runner you use, for logging. + +**throwError** (boolean, default = `false`) + +If `true`, after the plugin logs your messages it will throw an error if it found any warnings. + +**sortByPosition** (boolean, default = `true`) + +If `false`, messages will not be sorted by line/column position. + +**positionless** (`"first"|"last"|"any"`, default = `"first"`) + +By default, messages without line/column positions will be grouped at the beginning of the output. +To put them at the end, instead, use `"last"`. +To not bother sorting these, use `"any"`. + +**noIcon** (boolean, default = `false`) + +If `true`, no exclamatory triangle icons will be printed next to warnings. + +**noPlugin** (boolean, default = `false`) + +If `true`, plugin names will not be printed in brackets after messages. + +## How to get output without colors + +If you would like no colors in the console output, simply pass `--no-colors` when you invoke whatever command runs this plugin. (This works because of [chalk](https://github.com/sindresorhus/chalk).) + +## Standalone formatter + +You can also use this module's formatter as a library, with following API: + +```js +var formatter = require('postcss-reporter/lib/formatter'); +var myFormatter = formatter(myOptions); +// to use defaults, just pass no options: `formatter()` +var warningLog = myFormatter({ + messages: someMessages, + source: someSource +}); +console.log(warningLog); +``` + +These are the formatter's options: + +- sortByPosition (boolean, default = `true`) +- noIcon (boolean, default = `false`) - Do not print any warning exclamatory triangle icons +- noPlugin (boolean, default = `false`) - Do not print plugin names diff --git a/node_modules/postcss-reporter/index.js b/node_modules/postcss-reporter/index.js index 01116aa4..2a4e4136 100644 --- a/node_modules/postcss-reporter/index.js +++ b/node_modules/postcss-reporter/index.js @@ -1,4 +1,4 @@ +var postcss = require('postcss'); var reporter = require('./lib/reporter'); -module.exports = reporter; -module.exports.postcss = true; +module.exports = postcss.plugin('postcss-reporter', reporter); diff --git a/node_modules/postcss-reporter/lib/formatter.js b/node_modules/postcss-reporter/lib/formatter.js index 7358cc61..b5719b8f 100644 --- a/node_modules/postcss-reporter/lib/formatter.js +++ b/node_modules/postcss-reporter/lib/formatter.js @@ -1,60 +1,45 @@ -var pico = require('picocolors'); +var chalk = require('chalk'); var path = require('path'); -var firstBy = require('thenby'); +var symbols = require('log-symbols'); +var _ = require('lodash'); var util = require('./util'); -var supportsLargeCharset = - process.platform !== 'win32' || - process.env.CI || - process.env.TERM === 'xterm-256color'; -var warningSymbol = supportsLargeCharset ? '⚠' : '!!'; - -function createSortFunction(positionless, sortByPosition) { - var positionValue = 0 - - if (positionless === 'any') { positionValue = 1; } - if (positionless === 'first') { positionValue = 2; } - if (positionless === 'last') { positionValue = 0; } - - var sortFunction = firstBy((m) => { - if (!m.line) return 1; - return positionValue; - }) - - if (sortByPosition) { - sortFunction = sortFunction.thenBy('line').thenBy('column'); - } - - return sortFunction; -} - -module.exports = function (opts) { +module.exports = function(opts) { var options = opts || {}; - var sortByPosition = - typeof options.sortByPosition !== 'undefined' - ? options.sortByPosition - : true; + var sortByPosition = (typeof options.sortByPosition !== 'undefined') ? options.sortByPosition : true; var positionless = options.positionless || 'first'; - var sortFunction = createSortFunction(positionless, sortByPosition); - - return function (input) { - var messages = input.messages.filter(function (message) { - return typeof message.text === 'string'; - }); + return function(input) { + var messages = input.messages; var source = input.source; if (!messages.length) return ''; - var orderedMessages = messages.sort(sortFunction); + var orderedMessages = _.sortBy( + messages, + function(m) { + if (!m.line) return 1; + if (positionless === 'any') return 1; + if (positionless === 'first') return 2; + if (positionless === 'last') return 0; + }, + function(m) { + if (!sortByPosition) return 1; + return m.line; + }, + function(m) { + if (!sortByPosition) return 1; + return m.column; + } + ); var output = '\n'; if (source) { - output += pico.bold(pico.underline(logFrom(source))) + '\n'; + output += chalk.bold.underline(logFrom(source)) + '\n'; } - orderedMessages.forEach(function (w) { + orderedMessages.forEach(function(w) { output += messageToString(w) + '\n'; }); @@ -65,11 +50,11 @@ module.exports = function (opts) { var str = ''; if (location.line) { - str += pico.bold(location.line); + str += chalk.bold(location.line); } if (location.column) { - str += pico.bold(':' + location.column); + str += chalk.bold(':' + location.column) } if (location.line || location.column) { @@ -77,12 +62,12 @@ module.exports = function (opts) { } if (!options.noIcon && message.type === 'warning') { - str += pico.yellow(warningSymbol + ' '); + str += chalk.yellow(symbols.warning + ' '); } str += message.text; if (!options.noPlugin) { - str += pico.yellow(' [' + message.plugin + ']'); + str += chalk.yellow(' [' + message.plugin + ']'); } return str; } diff --git a/node_modules/postcss-reporter/lib/reporter.js b/node_modules/postcss-reporter/lib/reporter.js index 71872a97..70781fba 100644 --- a/node_modules/postcss-reporter/lib/reporter.js +++ b/node_modules/postcss-reporter/lib/reporter.js @@ -1,101 +1,81 @@ +var chalk = require('chalk'); +var _ = require('lodash'); var defaultFormatter = require('./formatter'); -var pico = require('picocolors'); var util = require('./util'); -module.exports = function (opts = {}) { - var formatter = - opts.formatter || - defaultFormatter({ - noIcon: opts.noIcon, - noPlugin: opts.noPlugin, - }); +module.exports = function(opts) { + var options = opts || {}; + + var formatter = options.formatter || defaultFormatter({ + sortByPosition: (typeof options.sortByPosition !== 'undefined') ? options.sortByPosition : true, + positionless: options.positionless || 'first', + noIcon: options.noIcon, + noPlugin: options.noPlugin, + }); var pluginFilter; - if (!opts.plugins) { + if (!options.plugins) { // Every plugin - pluginFilter = function () { - return true; - }; - } else if ( - opts.plugins.every(function (plugin) { - return plugin[0] === '!'; - }) - ) { - // Deny list - pluginFilter = function (message) { - return opts.plugins.indexOf('!' + message.plugin) === -1; + pluginFilter = function() { return true; }; + } else if (options.plugins.every(function(plugin) { return plugin[0] === '!'; })) { + // Blacklist + pluginFilter = function(message) { + return options.plugins.indexOf('!' + message.plugin) === -1; }; } else { - // Allow list - pluginFilter = function (message) { - return opts.plugins.indexOf(message.plugin) !== -1; + // Whitelist + pluginFilter = function(message) { + return options.plugins.indexOf(message.plugin) !== -1; }; } - var messageFilter = opts.filter || ((message) => message.type === 'warning'); - - return { - postcssPlugin: 'postcss-reporter', - OnceExit(css, { result }) { - var messagesToLog = result.messages - .filter(pluginFilter) - .filter(messageFilter); + var messageFilter = options.filter || function(message) { return (message.type === 'warning'); }; - var resultSource = !result.root.source - ? '' - : result.root.source.input.file || result.root.source.input.id; + return function(css, result) { + var messagesToLog = result.messages + .filter(pluginFilter) + .filter(messageFilter); - var sourceGroupedMessages = messagesToLog.reduce((grouped, message) => { - const key = util.getLocation(message).file || resultSource; + var resultSource = (!result.root.source) ? '' + : result.root.source.input.file || result.root.source.input.id - if (!grouped.hasOwnProperty(key)) { - grouped[key] = []; - } - - grouped[key].push(message); + var sourceGroupedMessages = _.groupBy(messagesToLog, function(message) { + return util.getLocation(message).file || resultSource; + }); - return grouped; - }, {}); + var report = ''; + _.forOwn(sourceGroupedMessages, function(messages, source) { + report += formatter({ + messages: messages, + source: source, + }); + }); - var report = ''; - for (const source in sourceGroupedMessages) { - if (sourceGroupedMessages.hasOwnProperty(source)) { - report += formatter({ - messages: sourceGroupedMessages[source], - source: source, - }); - } - } + if (options.clearReportedMessages) { + result.messages = _.difference(result.messages, messagesToLog); + } - if (opts.clearReportedMessages) { - result.messages = result.messages.filter(message => !messagesToLog.includes(message)); - } + if (options.clearAllMessages) { + var messagesToClear = result.messages.filter(pluginFilter); + result.messages = _.difference(result.messages, messagesToClear); + } - if (opts.clearAllMessages) { - var messagesToClear = result.messages.filter(pluginFilter); - result.messages = result.messages.filter(message => !messagesToClear.includes(message)); - } - if (!report) return; + if (!report) return; - console.log(report); + console.log(report); - if (opts.throwError && shouldThrowError()) { - throw new Error( - pico.red( - pico.bold('\n** postcss-reporter: warnings or errors were found **') - ) - ); - } + if (options.throwError && shouldThrowError()) { + throw new Error(chalk.red.bold('\n** postcss-reporter: warnings or errors were found **')); + } - function shouldThrowError() { - return ( - messagesToLog.length && - messagesToLog.some((message) => { - return message.type === 'warning' || message.type === 'error'; - }) - ); - } - }, + function shouldThrowError() { + return ( + messagesToLog.length + && messagesToLog.some(function(message) { + return message.type === 'warning' || message.type === 'error'; + }) + ); + } }; }; diff --git a/node_modules/postcss-reporter/lib/util.js b/node_modules/postcss-reporter/lib/util.js index 094b3acc..76c649bc 100644 --- a/node_modules/postcss-reporter/lib/util.js +++ b/node_modules/postcss-reporter/lib/util.js @@ -1,4 +1,6 @@ -exports.getLocation = function (message) { +var _ = require('lodash'); + +exports.getLocation = function(message) { var messageNode = message.node; var location = { @@ -6,13 +8,12 @@ exports.getLocation = function (message) { column: message.column, }; - var messageInput = messageNode && messageNode.source && messageNode.source.input; + var messageInput = _.get(messageNode, 'source.input'); if (!messageInput) return location; - var originLocation = - messageInput.origin && messageInput.origin(message.line, message.column); - if (originLocation) return originLocation; + var originLocation = messageInput.origin && messageInput.origin(message.line, message.column) + if (originLocation) return originLocation location.file = messageInput.file || messageInput.id; return location; diff --git a/node_modules/postcss-reporter/node_modules/postcss/CHANGELOG.md b/node_modules/postcss-reporter/node_modules/postcss/CHANGELOG.md new file mode 100644 index 00000000..e2cd381e --- /dev/null +++ b/node_modules/postcss-reporter/node_modules/postcss/CHANGELOG.md @@ -0,0 +1,552 @@ +# Change Log +This project adheres to [Semantic Versioning](http://semver.org/). + +## 6.0.23 +* Fix parsing nested at-rules without semicolon, params, and spaces. + +## 6.0.22 +* Fix `Node#prev` and `Node#next` on missed parent. + +## 6.0.21 +* Rename Chinese docs to fix `yarnpkg.com` issue. + +## 6.0.20 +* Better error message on `null` as input CSS. + +## 6.0.19 +* Fix TypeScript definitions for source maps (by Oleh Kuchuk). +* Fix `source` field in TypeScript definitions (by Sylvain Pollet-Villard). + +## 6.0.18 +* Use primitive object in TypeScript definitions (by Sylvain Pollet-Villard). + +## 6.0.17 +* Fix parsing comment in selector between word tokens (by Oleh Kuchuk). + +## 6.0.16 +* Fix warning text (by Michael Keller). + +## 6.0.15 +* Add warning about missed `from` option on `process().then()` call. +* Add IE 10 support. + +## 6.0.14 +* Fix TypeScript definitions (by Jed Mao). + +## 6.0.13 +* Fix TypeScript definitions for case of multiple PostCSS versions + in `node_modules` (by Chris Eppstein). +* Use `source-map` 0.6. + +## 6.0.12 +* Don’t copy `*` hack to declaration indent. + +## 6.0.11 +* Add upper case `!IMPORTANT` support. + +## 6.0.10 +* Reduce PostCSS size in webpack bundle. + +## 6.0.9 +* Improve error message for plugin with old PostCSS (by Igor Adamenko). + +## 6.0.8 +* Fix Node.js 4.2.2 support. + +## 6.0.7 +* Fix base64 decoding for old Node.js and browser. + +## 6.0.6 +* Fix `end` position in at-rule without semicolon (by Oleh Kuchuk). + +## 6.0.5 +* Move Babel config from `package.json` for `node_modules` compiling cases. + +## 6.0.4 +* Fix parsing `;;` after rules. +* Use Chalk 2.0. + +## 6.0.3 +* Fix escape sequences parsing (by Oleh Kuchuk). +* Added ability to force disable colors with an environment variable. +* Improved color detection of some terminal apps. + +## 6.0.2 +* Keep `raws.before` on moving `Root` children to new `Root`. + +## 6.0.1 +* Fix parser extensibility to use it in Safe Parser. + +## 6.0 “Marquis Orias” +* Remove node.js 0.12 support. +* Remove deprecated method from PostCSS 4. +* Insert methods remove child from previous parent, instead of closing. +* Insert methods and cloning doesn’t clean `raws` anymore. +* Methods `moveTo`, `moveAfter`, `moveBefore` were deprecated. +* Options was changed in `Plugin#process(css, processOptions, pluginOptions)`. +* Add stream parser to reduce memory usage (by Oleh Kuchuk). +* Add `before()`/`after()` shortcuts for `node.parent.insertBefore(node, x)`. +* Add `Rule#raws.ownSemicolon` for semicolon after templates for `@apply`. +* Use `babel-preset-env` to compile npm package. +* Remove `js-base64` from dependencies (by Roman Dvornov). +* Fix error message on single `:` in CSS. +* Move tests to Jest. +* Clean up test (by Gabriel Kalani). + +## 5.2.18 +* Fix TypeScript definitions for case of multiple PostCSS versions + in `node_modules` (by Chris Eppstein). + +## 5.2.17 +* Add `postcss-sass` suggestion to syntax error on `.sass` input. + +## 5.2.16 +* Better error on wrong argument in node constructor. + +## 5.2.15 +* Fix TypeScript definitions (by bumbleblym). + +## 5.2.14 +* Fix browser bundle building in webpack (by janschoenherr). + +## 5.2.13 +* Do not add comment to important raws. +* Fix JSDoc (by Dmitry Semigradsky). + +## 5.2.12 +* Fix typo in deprecation message (by Garet McKinley). + +## 5.2.11 +* Fix TypeScript definitions (by Jed Mao). + +## 5.2.10 +* Fix TypeScript definitions (by Jed Mao). + +## 5.2.9 +* Update TypeScript definitions (by Jed Mao). + +## 5.2.8 +* Fix error message (by Ben Briggs). + +## 5.2.7 +* Better error message on syntax object in plugins list. + +## 5.2.6 +* Fix `postcss.vendor` for values with spaces (by 刘祺). + +## 5.2.5 +* Better error message on unclosed string (by Ben Briggs). + +## 5.2.4 +* Improve terminal CSS syntax highlight (by Simon Lydell). + +## 5.2.3 +* Better color highlight in syntax error code frame. +* Fix color highlight support in old systems. + +## 5.2.2 +* Update `Processor#version`. + +## 5.2.1 +* Fix source map path for CSS without `from` option (by Michele Locati). + +## 5.2 “Duke Vapula” +* Add syntax highlight to code frame in syntax error (by Andrey Popp). +* Use Babel code frame style and size in syntax error. +* Add `[` and `]` tokens to parse `[attr=;] {}` correctly. +* Add `ignoreErrors` options to tokenizer (by Andrey Popp). +* Fix error position on tab indent (by Simon Lydell). + +## 5.1.2 +* Suggests SCSS/Less parsers on parse errors depends on file extension. + +## 5.1.1 +* Fix TypeScript definitions (by Efremov Alexey). + +## 5.1 “King and President Zagan” +* Add URI in source map support (by Mark Finger). +* Add `map.from` option (by Mark Finger). +* Add `` mappings for nodes without source (by Bogdan Chadkin). +* Add function value support to `map.prev` option (by Chris Montoro). +* Add declaration value type check in shortcut creating (by 刘祺). +* `Result#warn` now returns new created warning. +* Don’t call plugin creator in `postcss.plugin` call. +* Add source maps to PostCSS ES5 build. +* Add JSDoc to PostCSS classes. +* Clean npm package from unnecessary docs. + +## 5.0.21 +* Fix support with input source mao with `utf8` encoding name. + +## 5.0.20 +* Fix between raw value parsing (by David Clark). +* Update TypeScript definitions (by Jed Mao). +* Clean fake node.source after `append(string)`. + +## 5.0.19 +* Fix indent-based syntaxes support. + +## 5.0.18 +* Parse new lines according W3C CSS syntax specification. + +## 5.0.17 +* Fix options argument in `Node#warn` (by Ben Briggs). +* Fix TypeScript definitions (by Jed Mao). + +## 5.0.16 +* Fix CSS syntax error position on unclosed quotes. + +## 5.0.15 +* Fix `Node#clone()` on `null` value somewhere in node. + +## 5.0.14 +* Allow to use PostCSS in webpack bundle without JSON loader. + +## 5.0.13 +* Fix `index` and `word` options in `Warning#toString` (by Bogdan Chadkin). +* Fix input source content loading in errors. +* Fix map options on using `LazyResult` as input CSS. +* 100% test coverage. +* Use Babel 6. + +## 5.0.12 +* Allow passing a previous map with no mappings (by Andreas Lind). + +## 5.0.11 +* Increase plugins performance by 1.5 times. + +## 5.0.10 +* Fix warning from nodes without source. + +## 5.0.9 +* Fix source map type detection (by @asan). + +## 5.0.8 +* Fixed a missed step in `5.0.7` that caused the module to be published as + ES6 code. + +## 5.0.7 +* PostCSS now requires that node 0.12 is installed via the engines property + in package.json (by Howard Zuo). + +## 5.0.6 +* Fix parsing nested at-rule without semicolon (by Matt Drake). +* Trim `Declaration#value` (by Bogdan Chadkin). + +## 5.0.5 +* Fix multi-tokens property parsing (by Matt Drake). + +## 5.0.4 +* Fix start position in `Root#source`. +* Fix source map annotation, when CSS uses `\r\n` (by Mohammad Younes). + +## 5.0.3 +* Fix `url()` parsing. +* Fix using `selectors` in `Rule` constructor. +* Add start source to `Root` node. + +## 5.0.2 +* Fix `remove(index)` to be compatible with 4.x plugin. + +## 5.0.1 +* Fix PostCSS 4.x plugins compatibility. +* Fix type definition loading (by Jed Mao). + +## 5.0 “President Valac” +* Remove `safe` option. Move Safe Parser to separate project. +* `Node#toString` does not include `before` for root nodes. +* Remove plugin returning `Root` API. +* Remove Promise polyfill for node.js 0.10. +* Deprecate `eachInside`, `eachDecl`, `eachRule`, `eachAtRule` and `eachComment` + in favor of `walk`, `walkDecls`, `walkRules`, `walkAtRules` and `walkComments` + (by Jed Mao). +* Deprecate `Container#remove` and `Node#removeSelf` + in favor of `Container#removeChild` and `Node#remove` (by Ben Briggs). +* Deprecate `Node#replace` in favor of `replaceWith` (by Ben Briggs). +* Deprecate raw properties in favor of `Node#raws` object. +* Deprecate `Node#style` in favor of `raw`. +* Deprecate `CssSyntaxError#generated` in favor of `input`. +* Deprecate `Node#cleanStyles` in favor of `cleanRaws`. +* Deprecate `Root#prevMap` in favor of `Root.source.input.map`. +* Add `syntax`, `parser` and `stringifier` options for Custom Syntaxes. +* Add stringifier option to `Node#toString`. +* Add `Result#content` alias for non-CSS syntaxes. +* Add `plugin.process(css)` shortcut to every plugin function (by Ben Briggs). +* Add multiple nodes support to insert methods (by Jonathan Neal). +* Add `Node#warn` shortcut (by Ben Briggs). +* Add `word` and `index` options to errors and warnings (by David Clark). +* Add `line`, `column` properties to `Warning`. +* Use `supports-color` library to detect color support in error output. +* Add type definitions for TypeScript plugin developers (by Jed Mao). +* `Rule#selectors` setter detects separators. +* Add `postcss.stringify` method. +* Throw descriptive errors for incorrectly formatted plugins. +* Add docs to npm release. +* Fix `url()` parsing. +* Fix Windows support (by Jed Mao). + +## 4.1.16 +* Fix errors without stack trace. + +## 4.1.15 +* Allow asynchronous plugins to change processor plugins list (by Ben Briggs). + +## 4.1.14 +* Fix for plugins packs defined by `postcss.plugin`. + +## 4.1.13 +* Fix input inlined source maps with UTF-8 encoding. + +## 4.1.12 +* Update Promise polyfill. + +## 4.1.11 +* Fix error message on wrong plugin format. + +## 4.1.10 +* Fix Promise behavior on sync plugin errors. +* Automatically fill `plugin` field in `CssSyntaxError`. +* Fix warning message (by Ben Briggs). + +## 4.1.9 +* Speed up `node.clone()`. + +## 4.1.8 +* Accepts `Processor` instance in `postcss()` constructor too. + +## 4.1.7 +* Speed up `postcss.list` (by Bogdan Chadkin). + +## 4.1.6 +* Fix Promise behavior on parsing error. + +## 4.1.5 +* Parse at-words in declaration values. + +## 4.1.4 +* Fix Promise polyfill dependency (by Anton Yakushev and Matija Marohnić). + +## 4.1.3 +* Add Promise polyfill for node.js 0.10 and IE. + +## 4.1.2 +* List helpers can be accessed independently `var space = postcss.list.space`. + +## 4.1.1 +* Show deprecated message only once. + +## 4.1 “Marquis Andras” +* Asynchronous plugin support. +* Add warnings from plugins and `Result#messages`. +* Add `postcss.plugin()` to create plugins with a standard API. +* Insert nodes by CSS string. +* Show version warning message on error from an outdated plugin. +* Send `Result` instance to plugins as the second argument. +* Add `CssSyntaxError#plugin`. +* Add `CssSyntaxError#showSourceCode()`. +* Add `postcss.list` and `postcss.vendor` aliases. +* Add `Processor#version`. +* Parse wrong closing bracket. +* Parse `!important` statement with spaces and comments inside (by Ben Briggs). +* Throw an error on declaration without `prop` or `value` (by Philip Peterson). +* Fix source map mappings position. +* Add indexed source map support. +* Always set `error.generated`. +* Clean all source map annotation comments. + +## 4.0.6 +* Remove `babel` from released package dependencies (by Andres Suarez). + +## 4.0.5 +* Fix error message on double colon in declaration. + +## 4.0.4 +* Fix indent detection in some rare cases. + +## 4.0.3 +* Faster API with 6to5 Loose mode. +* Fix indexed source maps support. + +## 4.0.2 +* Do not copy IE hacks to code style. + +## 4.0.1 +* Add `source.input` to `Root` too. + +## 4.0 “Duke Flauros” +* Rename `Container#childs` to `nodes`. +* Rename `PostCSS#processors` to `plugins`. +* Add `Node#replaceValues()` method. +* Add `Node#moveTo()`, `moveBefore()` and `moveAfter()` methods. +* Add `Node#cloneBefore()` and `cloneAfter()` shortcuts. +* Add `Node#next()`, `prev()` and `root()` shortcuts. +* Add `Node#replaceWith()` method. +* Add `Node#error()` method. +* Add `Container#removeAll()` method. +* Add filter argument to `eachDecl()` and `eachAtRule()`. +* Add `Node#source.input` and move `source.file` or `source.id` to `input`. +* Change code indent, when node was moved. +* Better fix code style on `Rule`, `AtRule` and `Comment` nodes changes. +* Allow to create rules and at-rules by hash shortcut in append methods. +* Add class name to CSS syntax error output. + +## 3.0.7 +* Fix IE filter parsing with multiple commands. +* Safer way to consume PostCSS object as plugin (by Maxime Thirouin). + +## 3.0.6 +* Fix missing semicolon when comment comes after last declaration. +* Fix Safe Mode declaration parsing on unclosed blocks. + +## 3.0.5 +* Fix parser to support difficult cases with backslash escape and brackets. +* Add `CssSyntaxError#stack` (by Maxime Thirouin). + +## 3.0.4 +* Fix Safe Mode on unknown word before declaration. + +## 3.0.3 +* Increase tokenizer speed (by Roman Dvornov). + +## 3.0.2 +* Fix empty comment parsing. +* Fix `Root#normalize` in some inserts. + +## 3.0.1 +* Fix Rhino JS runtime support. +* Typo in deprecated warning (by Maxime Thirouin). + +## 3.0 “Marquis Andrealphus” +* New parser, which become the fastest ever CSS parser written in JavaScript. +* Parser can now parse declarations and rules in one parent (like in `@page`) + and nested declarations for plugins like `postcss-nested`. +* Child nodes array is now in `childs` property, instead of `decls` and `rules`. +* `map.inline` and `map.sourcesContent` options are now `true` by default. +* Fix iterators (`each`, `insertAfter`) on children array changes. +* Use previous source map to show origin source of CSS syntax error. +* Use 6to5 ES6 compiler, instead of ES6 Transpiler. +* Use code style for manually added rules from existing rules. +* Use `from` option from previous source map `file` field. +* Set `to` value to `from` if `to` option is missing. +* Use better node source name when missing `from` option. +* Show a syntax error when `;` is missed between declarations. +* Allow to pass `PostCSS` instance or list of plugins to `use()` method. +* Allow to pass `Result` instance to `process()` method. +* Trim Unicode BOM on source maps parsing. +* Parse at-rules without spaces like `@import"file"`. +* Better previous `sourceMappingURL` annotation comment cleaning. +* Do not remove previous `sourceMappingURL` comment on `map.annotation: false`. +* Parse nameless at-rules in Safe Mode. +* Fix source map generation for nodes without source. +* Fix next child `before` if `Root` first child got removed. + +## 2.2.6 +* Fix map generation for nodes without source (by Josiah Savary). + +## 2.2.5 +* Fix source map with BOM marker support (by Mohammad Younes). +* Fix source map paths (by Mohammad Younes). + +## 2.2.4 +* Fix `prepend()` on empty `Root`. + +## 2.2.3 +* Allow to use object shortcut in `use()` with functions like `autoprefixer`. + +## 2.2.2 +* Add shortcut to set processors in `use()` via object with `.postcss` property. + +## 2.2.1 +* Send `opts` from `Processor#process(css, opts)` to processors. + +## 2.2 “Marquis Cimeies” +* Use GNU style syntax error messages. +* Add `Node#replace` method. +* Add `CssSyntaxError#reason` property. + +## 2.1.2 +* Fix UTF-8 support in inline source map. +* Fix source map `sourcesContent` if there is no `from` and `to` options. + +## 2.1.1 +* Allow to miss `to` and `from` options for inline source maps. +* Add `Node#source.id` if file name is unknown. +* Better detect splitter between rules in CSS concatenation tools. +* Automatically clone node in insert methods. + +## 2.1 “King Amdusias” +* Change Traceur ES6 compiler to ES6 Transpiler. +* Show broken CSS line in syntax error. + +## 2.0 “King Belial” +* Project was rewritten from CoffeeScript to ES6. +* Add Safe Mode to works with live input or with hacks from legacy code. +* More safer parser to pass all hacks from Browserhacks.com. +* Use real properties instead of magic getter/setter for raw properties. + +## 1.0 “Marquis Decarabia” +* Save previous source map for each node to support CSS concatenation + with multiple previous maps. +* Add `map.sourcesContent` option to add origin content to `sourcesContent` + inside map. +* Allow to set different place of output map in annotation comment. +* Allow to use arrays and `Root` in `Container#append` and same methods. +* Add `Root#prevMap` with information about previous map. +* Allow to use latest PostCSS from GitHub by npm. +* `Result` now is lazy and it will generate output CSS only if you use `css` + or `map` property. +* Use separated `map.prev` option to set previous map. +* Rename `inlineMap` option to `map.inline`. +* Rename `mapAnnotation` option to `map.annotation`. +* `Result#map` now return `SourceMapGenerator` object, instead of string. +* Run previous map autodetect only if input CSS contains annotation comment. +* Add `map: 'inline'` shortcut for `map: { inline: true }` option. +* `Node#source.file` now will contains absolute path. +* Clean `Declaration#between` style on node clone. + +## 0.3.5 +* Allow to use `Root` or `Result` as first argument in `process()`. +* Save parsed AST to `Result#root`. + +## 0.3.4 +* Better space symbol detect to read UTF-8 BOM correctly. + +## 0.3.3 +* Remove source map hacks by using new Mozilla’s `source-map` (by Simon Lydell). + +## 0.3.2 +* Add URI encoding support for inline source maps. + +## 0.3.1 +* Fix relative paths from previous source map. +* Safer space split in `Rule#selectors` (by Simon Lydell). + +## 0.3 “Prince Seere” +* Add `Comment` node for comments between declarations or rules. +* Add source map annotation comment to output CSS. +* Allow to inline source map to annotation comment by data:uri. +* Fix source maps on Windows. +* Fix source maps for subdirectory (by Dmitry Nikitenko and Simon Lydell). +* Autodetect previous source map. +* Add `first` and `last` shortcuts to container nodes. +* Parse `!important` to separated property in `Declaration`. +* Allow to break iteration by returning `false`. +* Copy code style to new nodes. +* Add `eachInside` method to recursively iterate all nodes. +* Add `selectors` shortcut to get selectors array. +* Add `toResult` method to `Rule` to simplify work with several input files. +* Clean declaration’s `value`, rule’s `selector` and at-rule’s `params` + by storing spaces in `between` property. + +## 0.2 “Duke Dantalion” +* Add source map support. +* Add shortcuts to create nodes. +* Method `process()` now returns object with `css` and `map` keys. +* Origin CSS file option was renamed from `file` to `from`. +* Rename `Node#remove()` method to `removeSelf()` to fix name conflict. +* Node source was moved to `source` property with origin file + and node end position. +* You can set own CSS generate function. + +## 0.1 “Count Andromalius” +* Initial release. diff --git a/node_modules/postcss-reporter/node_modules/postcss/CONTRIBUTING.md b/node_modules/postcss-reporter/node_modules/postcss/CONTRIBUTING.md new file mode 100644 index 00000000..227caa27 --- /dev/null +++ b/node_modules/postcss-reporter/node_modules/postcss/CONTRIBUTING.md @@ -0,0 +1,78 @@ +# Contributing Guide to PostCSS + +If you want contribute to PostCSS, there are few things that you should +be familiar with. + + +## In Case You Have Question About Using PostCSS + +* **Ask for help in [the chat]** + + If you stuck on something there is a big chance + that someone had similar problem before. + +[the chat]: https://gitter.im/postcss/postcss + + +## Adding Your Plugin to the List + +If you created or found a plugin and want to add it to PostCSS plugins list +follow this simple steps. + +PR should not change plugins defined in README it contains only favorite plugins +and moderated by PostCSS author. + +Plugins submitted by community located in [`docs/plugins`]. + +* **Keep plugins order** + + Be sure that plugin not presented yet and find suitable position + in alphabetic order for it. + But plugins with `postcss-` prefix should come first. + +* **Check spelling** + + Before submitting PR be sure that spelling check pass. + For that run command `npm test`. + If it fails with unknown word error, add it as word + to `.yaspellerrc` dictionary. + +* **Check PostCSS plugin guideline** + + Provided plugin should match plugin [guidelines]. + +- **Provide link to suggested plugin** + + Make sure your pull request description contains link to plugin + you are willing to add. + +[`docs/plugins`]: https://github.com/postcss/postcss/blob/master/docs/plugins.md +[guidelines]: https://github.com/postcss/postcss/blob/master/docs/guidelines/plugin.md + + +## TypeScript Declaration Improvements + +If you found a bug or want to add certain improvements to types declaration file + +* **Check current TypeScript styling** + + Be sure that your changes match TypeScript styling rules defined in typings file. + * We use classes for existing JS classes like `Stringifier`. + * Namespaces used for separating functions related to same subject. + * Interfaces used for defining custom types. + + Make sure you read through declaration file writing [best practices] + by TypeScript team. + +[best practices]: https://www.typescriptlang.org/docs/handbook/declaration-files/do-s-and-don-ts.html + + +## Core Development + +If you want to add new feature or fix existed issue + +- **Become familiar with PostCSS architecture** + + For gentle intro to PostCSS architecture look through our [guide]. + +[guide]: https://github.com/postcss/postcss/blob/master/docs/architecture.md diff --git a/node_modules/postcss-reporter/node_modules/postcss/LICENSE b/node_modules/postcss-reporter/node_modules/postcss/LICENSE new file mode 100644 index 00000000..da057b45 --- /dev/null +++ b/node_modules/postcss-reporter/node_modules/postcss/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright 2013 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-reporter/node_modules/postcss/README-cn.md b/node_modules/postcss-reporter/node_modules/postcss/README-cn.md new file mode 100644 index 00000000..4846ed96 --- /dev/null +++ b/node_modules/postcss-reporter/node_modules/postcss/README-cn.md @@ -0,0 +1,349 @@ +# PostCSS [![Gitter][chat-img]][chat] + +哲学家的石头 - PostCSS 的 logo + +[chat-img]: https://img.shields.io/badge/Gitter-Join_the_PostCSS_chat-brightgreen.svg +[chat]: https://gitter.im/postcss/postcss + +PostCSS 是一个允许使用 JS 插件转换样式的工具。 +这些插件可以检查(lint)你的 CSS,支持 CSS Variables 和 Mixins, +编译尚未被浏览器广泛支持的先进的 CSS 语法,内联图片,以及其它很多优秀的功能。 + +PostCSS 在工业界被广泛地应用,其中不乏很多有名的行业领导者,如:维基百科,Twitter,阿里巴巴, +JetBrains。PostCSS 的 [Autoprefixer] 插件是最流行的 CSS 处理工具之一。 + +PostCSS 接收一个 CSS 文件并提供了一个 API 来分析、修改它的规则(通过把 CSS 规则转换成一个[抽象语法树]的方式)。在这之后,这个 API 便可被许多[插件]利用来做有用的事情,比如寻错或自动添加 CSS vendor 前缀。 + +**Twitter 账号:** [@postcss](https://twitter.com/postcss)
+**支持 / 讨论:** [Gitter](https://gitter.im/postcss/postcss)
+ +如果需要 PostCSS 商业支持(如咨询,提升公司的前端文化, +PostCSS 插件),请联系 [Evil Martians](https://evilmartians.com/?utm_source=postcss) +邮箱 。 + +[抽象语法树]: https://zh.wikipedia.org/wiki/%E6%8A%BD%E8%B1%A1%E8%AA%9E%E6%B3%95%E6%A8%B9 +[Autoprefixer]: https://github.com/postcss/autoprefixer +[插件]: https://github.com/postcss/postcss/blob/master/README-cn.md#%E6%8F%92%E4%BB%B6 + + + 由 Evil Martians 赞助 + + +## 插件 + +截止到目前,PostCSS 有 200 多个插件。你可以在 [插件列表] 或 [搜索目录] 找到它们。 +下方的列表是我们最喜欢的插件 - 它们很好地演示了我们可以用 PostCSS 做些什么。 + +如果你有任何新的想法,[开发 PostCSS 插件] 非常简单易上手。 + +[搜索目录]: http://postcss.parts +[插件列表]: https://github.com/postcss/postcss/blob/master/docs/plugins.md + +### 解决全局 CSS 的问题 + +* [`postcss-use`] 允许你在 CSS 里明确地设置 PostCSS 插件,并且只在当前文件执行它们。 +* [`postcss-modules`] 和 [`react-css-modules`] 可以自动以组件为单位隔绝 CSS 选择器。 +* [`postcss-autoreset`] 是全局样式重置的又一个选择,它更适用于分离的组件。 +* [`postcss-initial`] 添加了 `all: initial` 的支持,重置了所有继承的样式。 +* [`cq-prolyfill`] 添加了容器查询的支持,允许添加响应于父元素宽度的样式. + +### 提前使用先进的 CSS 特性 + +* [`autoprefixer`] 添加了 vendor 浏览器前缀,它使用 Can I Use 上面的数据。 +* [`postcss-preset-env`] 允许你使用未来的 CSS 特性。 + +### 更佳的 CSS 可读性 + +* [`precss`] 囊括了许多插件来支持类似 Sass 的特性,比如 CSS 变量,套嵌,mixins 等。 +* [`postcss-sorting`] 给规则的内容以及@规则排序。 +* [`postcss-utilities`] 囊括了最常用的简写方式和书写帮助。 +* [`short`] 添加并拓展了大量的缩写属性。 + +### 图片和字体 + +* [`postcss-assets`] 可以插入图片尺寸和内联文件。 +* [`postcss-sprites`] 能生成雪碧图。 +* [`font-magician`] 生成所有在 CSS 里需要的 `@font-face` 规则。 +* [`postcss-inline-svg`] 允许你内联 SVG 并定制它的样式。 +* [`postcss-write-svg`] 允许你在 CSS 里写简单的 SVG。 + +### 提示器(Linters) + +* [`stylelint`] 是一个模块化的样式提示器。 +* [`stylefmt`] 是一个能根据 `stylelint` 规则自动优化 CSS 格式的工具。 +* [`doiuse`] 提示 CSS 的浏览器支持性,使用的数据来自于 Can I Use。 +* [`colorguard`] 帮助你保持一个始终如一的调色板。 + +### 其它 + +* [`postcss-rtl`] 在单个 CSS 文件里组合了两个方向(左到右,右到左)的样式。 +* [`cssnano`] 是一个模块化的 CSS 压缩器。 +* [`lost`] 是一个功能强大的 `calc()` 栅格系统。 +* [`rtlcss`] 镜像翻转 CSS 样式,适用于 right-to-left 的应用场景。 + +[`postcss-inline-svg`]: https://github.com/TrySound/postcss-inline-svg +[`postcss-preset-env`]: https://github.com/jonathantneal/postcss-preset-env +[`react-css-modules`]: https://github.com/gajus/react-css-modules +[`postcss-autoreset`]: https://github.com/maximkoretskiy/postcss-autoreset +[`postcss-write-svg`]: https://github.com/jonathantneal/postcss-write-svg +[`postcss-utilities`]: https://github.com/ismamz/postcss-utilities +[`postcss-initial`]: https://github.com/maximkoretskiy/postcss-initial +[`postcss-sprites`]: https://github.com/2createStudio/postcss-sprites +[`postcss-modules`]: https://github.com/outpunk/postcss-modules +[`postcss-sorting`]: https://github.com/hudochenkov/postcss-sorting +[`postcss-assets`]: https://github.com/assetsjs/postcss-assets +[开发 PostCSS 插件]: https://github.com/postcss/postcss/blob/master/docs/writing-a-plugin.md +[`font-magician`]: https://github.com/jonathantneal/postcss-font-magician +[`autoprefixer`]: https://github.com/postcss/autoprefixer +[`cq-prolyfill`]: https://github.com/ausi/cq-prolyfill +[`postcss-rtl`]: https://github.com/vkalinichev/postcss-rtl +[`postcss-use`]: https://github.com/postcss/postcss-use +[`css-modules`]: https://github.com/css-modules/css-modules +[`colorguard`]: https://github.com/SlexAxton/css-colorguard +[`stylelint`]: https://github.com/stylelint/stylelint +[`stylefmt`]: https://github.com/morishitter/stylefmt +[`cssnano`]: http://cssnano.co +[`precss`]: https://github.com/jonathantneal/precss +[`doiuse`]: https://github.com/anandthakker/doiuse +[`rtlcss`]: https://github.com/MohammadYounes/rtlcss +[`short`]: https://github.com/jonathantneal/postcss-short +[`lost`]: https://github.com/peterramsing/lost + +## 语法 + +PostCSS 可以转化样式到任意语法,不仅仅是 CSS。 +如果还没有支持你最喜欢的语法,你可以编写一个解释器以及(或者)一个 stringifier 来拓展 PostCSS。 + +* [`sugarss`] 是一个以缩进为基础的语法,类似于 Sass 和 Stylus。 +* [`postcss-syntax`] 通过文件扩展名自动切换语法。 +* [`postcss-html`] 解析类 HTML 文件里`