Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/castastrophe/stylelint-header
A stylelint custom rule to check for a header comment (i.e., copyright notice).
https://github.com/castastrophe/stylelint-header
linter stylelint
Last synced: about 1 month ago
JSON representation
A stylelint custom rule to check for a header comment (i.e., copyright notice).
- Host: GitHub
- URL: https://github.com/castastrophe/stylelint-header
- Owner: castastrophe
- License: apache-2.0
- Created: 2022-06-27T18:22:07.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-01T20:39:21.000Z (about 2 months ago)
- Last Synced: 2024-10-14T07:54:41.735Z (about 1 month ago)
- Topics: linter, stylelint
- Language: JavaScript
- Homepage:
- Size: 1.23 MB
- Stars: 1
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# stylelint-header
A [stylelint](https://github.com/stylelint/stylelint) custom rule to check for a header comment (i.e., copyright notice).
This rule will cause stylelint to throw an error if no header exists in the file or if autofix is enabled, it will prepend the header to the document.
## Installation
```sh
yarn add -DW stylelint-header
``````sh
npm install --dev stylelint-header
```### Options
#### templateVariables
Type `object`; Default {}
This is an object of key/value pairs that will be used to replace variables in the header template. For example, if you have a header template that looks like this:
```js
(c) <%= YEAR %> <%= company %>
```You can pass in an object like this:
```js
{
templateVariables: {
company: "Adobe",
},
}
```And the resulting header will look like this:
```css
/*!
* (c) 2020 Adobe
*/
```Notice that the `YEAR` variable was replaced with the current year but not provided in the templateVariables object. This variable is automatically supported by the plugin.
The following variables are supported by default:
- `YEAR`: The current year
- `FILE_NAME`: The name of the file being linted
- `FILE_PATH`: The path to the file being lintedThis plugin is using [lodash.template](https://lodash.com/docs/4.17.15#template) to replace variables in the header template. Please refer to the lodash documentation for more information on how to use this feature.
#### nonMatchingTolerance
Type `numeric`; Default 0.98
This is a number between 0 and 1 representing the percentage of allowed difference between a found comment in the file and the provided header. Uses [`string-similarity`](https://www.npmjs.com/package/string-similarity) to determine value.
## Usage
Add it to your stylelint config `plugins` array, then add `header/header` to your rules, specifying a string or file location for the header template. To toggle the rule off, set the rule to `null`.
To leverage the plugin with a hardcoded template string and a custom tolerance:
```js
{
"plugins": ["stylelint-header"],
"rules": {
"header/header": [
"Copyright <%= YEAR %>. <%= company %>",
{
templateVariables: {
company: "Adobe",
},
nonMatchingTolerance: 0.8
}
],
},
};
```To leverage the plugin with a path to a file containing the header template:
```js
{
"plugins": ["stylelint-header"],
"rules": {
"header/header": ["./COPYRIGHT"],
},
};
```