Socket
Socket
Sign inDemoInstall

postcss-reporter

Package Overview
Dependencies
39
Maintainers
1
Versions
28
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    postcss-reporter

Log PostCSS messages in the console


Version published
Weekly downloads
1.2M
decreased by-4.28%
Maintainers
1
Install size
1.22 MB
Created
Weekly downloads
 

Package description

What is postcss-reporter?

The postcss-reporter npm package is a PostCSS plugin used to log PostCSS messages in the console. It is designed to report warnings or messages from other PostCSS plugins in a clear and readable format. This helps developers understand and address issues during the CSS processing workflow.

What are postcss-reporter's main functionalities?

Logging Messages

This feature allows the logging of messages from other PostCSS plugins. The 'clearReportedMessages' option clears the messages after they are logged, preventing duplicate reporting.

postcss([ require('autoprefixer'), require('postcss-reporter')({ clearReportedMessages: true }) ]).process(css, { from: undefined }).then(result => { console.log(result.css); });

Custom Formatter

This feature allows developers to define a custom formatter function to format the output of the messages according to their needs.

postcss([ require('postcss-reporter')({ formatter: function(input) { return 'Total warnings: ' + input.messages.length; } }) ]).process(css, { from: undefined }).then(result => { console.log(result.css); });

Other packages similar to postcss-reporter

Changelog

Source

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).

Readme

Source

postcss-reporter Build Status

A PostCSS plugin to console.log() the messages (warnings, etc.) registered by other PostCSS plugins.

Purpose

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. 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.

Example Output

Example

Installation

npm install postcss-reporter

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:

gulp.task('css', function() {
  return gulp.src('./src/*.css')
    .pipe(postcss([
      bemLinter(),
      customProperties(),
      calc(),
      rejectAllColors(),
      reporter(myOptions) // <------ ding
    ]))
    .pipe(gulp.dest('./dist'));
});

Options

clearMessages (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 a the string to report

For example, you could write a formatter like this:

reporter({
  formatter: function(input) {
    return input.source + ' produced ' + input.messages.length + ' messages';
  }
})

plugins (array of strings, default = [])

If empty, the plugin will log every message, regardless of which plugin registered it. To limit output, name the plugins whose messages you would like to see. For example, { plugins: ['postcss-bem-linter'] } will only log messages from the postcss-bem-linter plugin.

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".

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.)

Standalone formatter

You can also use this module's formatter as a library, with following API:

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)

FAQs

Last updated on 05 Aug 2015

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc