Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/moox/postcss-message-helpers
PostCSS helpers to throw or output GNU style messages
https://github.com/moox/postcss-message-helpers
javascript postcss postcss-helpers
Last synced: 18 days ago
JSON representation
PostCSS helpers to throw or output GNU style messages
- Host: GitHub
- URL: https://github.com/moox/postcss-message-helpers
- Owner: MoOx
- License: mit
- Created: 2014-11-24T18:29:44.000Z (about 10 years ago)
- Default Branch: main
- Last Pushed: 2024-07-02T10:29:03.000Z (7 months ago)
- Last Synced: 2025-01-01T19:10:39.293Z (22 days ago)
- Topics: javascript, postcss, postcss-helpers
- Language: JavaScript
- Size: 341 KB
- Stars: 10
- Watchers: 6
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# postcss-message-helpers
[![Build Status](https://github.com/MoOx/postcss-message-helpers/workflows/Build/badge.svg)](https://github.com/MoOx/postcss-message-helpers/actions)
---
[Professionally supported postcss-message-helpers is now available](https://tidelift.com/subscription/pkg/npm-postcss-message-helpers?utm_source=npm-postcss-message-helpers&utm_medium=referral&utm_campaign=readme)
---
> [PostCSS](https://github.com/postcss/postcss) helpers to throw or output GNU
> style messages.This modules offers you some function to throw or just output messages with
[GNU style](https://www.gnu.org/prep/standards/html_node/Errors.html):
`sourcefile:lineno:column: message`## Installation
```console
$ npm install postcss-message-helpers
``````js
var messageHelpers = require("postcss-message-helpers");
```## Usage
### `var fnValue = messageHelpers.try(fn, source)`
Execute `fn` an return the value. If an exception is thrown during the process,
the exception will be catched, enhanced from source & re-throw.### `var sourceMessage = messageHelpers.message(message, source)`
Returns a message like `sourcefile:lineno:column: message`.
`source` should be a postcss source object from a node.### `var source = messageHelpers.source(source)`
Returns `sourcefile:lineno:column` for a given `source` postcss object.
### Example
```js
// dependencies
var fs = require("fs");
var postcss = require("postcss");
var messageHelpers = require("postcss-message-helpers");// css to be processed
var css = fs.readFileSync("input.css", "utf8");// process css
var output = postcss()
.use(function(styles) {
styles.eachDecl(function transformDecl(decl) {
// will catch, adjust error stack, line, column & message (gnu style) then re-throw
messageHelpers.try(function IwillThrow() {
if (decl.value.indexOf("error(") > -1) {
throw new Error("error detected: " + decl.value);
}
}, decl.source);// will output a gnu style warning
if (decl.value.indexOf("warning(") > -1) {
console.warning(
messageHelpers.message("warning: " + decl.value, decl.source)
);
}
});
})
.process(css).css;
```Checkout [tests](test) for more examples.
---
## Contributing
Work on a branch, install dev-dependencies, respect coding style & run tests
before submitting a bug fix or a feature.$ git clone https://github.com/MoOx/postcss-message-helpers.git
$ git checkout -b patch-1
$ npm install
$ npm test## [Changelog](CHANGELOG.md)
## [License](LICENSE)
## Security contact information
To report a security vulnerability, please use the
[Tidelift security contact](https://tidelift.com/security). Tidelift will
coordinate the fix and disclosure.