added all files to project

This commit is contained in:
2022-03-10 10:36:59 +01:00
parent 09dd957b33
commit 46a936d7de
25351 changed files with 3883356 additions and 0 deletions
@@ -0,0 +1,67 @@
# declaration-bang-space-before
Require a single space or disallow whitespace before the bang of declarations.
<!-- prettier-ignore -->
```css
a { color: pink !important; }
/** ↑
* The space before this exclamation mark */
```
The [`fix` option](../../../docs/user-guide/usage/options.md#fix) can automatically fix all of the problems reported by this rule.
## Options
`string`: `"always"|"never"`
### `"always"`
There _must always_ be a single space before the bang.
The following patterns are considered violations:
<!-- prettier-ignore -->
```css
a { color: pink!important; }
```
<!-- prettier-ignore -->
```css
a { color: pink ! important; }
```
The following patterns are _not_ considered violations:
<!-- prettier-ignore -->
```css
a { color: pink !important; }
```
<!-- prettier-ignore -->
```css
a { color:pink ! important; }
```
### `"never"`
There _must never_ be whitespace before the bang.
The following patterns are considered violations:
<!-- prettier-ignore -->
```css
a { color : pink !important; }
```
The following patterns are _not_ considered violations:
<!-- prettier-ignore -->
```css
a { color: pink!important; }
```
<!-- prettier-ignore -->
```css
a { color: pink! important; }
```
@@ -0,0 +1,83 @@
// @ts-nocheck
'use strict';
const declarationBangSpaceChecker = require('../declarationBangSpaceChecker');
const declarationValueIndex = require('../../utils/declarationValueIndex');
const getDeclarationValue = require('../../utils/getDeclarationValue');
const ruleMessages = require('../../utils/ruleMessages');
const setDeclarationValue = require('../../utils/setDeclarationValue');
const validateOptions = require('../../utils/validateOptions');
const whitespaceChecker = require('../../utils/whitespaceChecker');
const ruleName = 'declaration-bang-space-before';
const messages = ruleMessages(ruleName, {
expectedBefore: () => 'Expected single space before "!"',
rejectedBefore: () => 'Unexpected whitespace before "!"',
});
function rule(expectation, options, context) {
const checker = whitespaceChecker('space', expectation, messages);
return (root, result) => {
const validOptions = validateOptions(result, ruleName, {
actual: expectation,
possible: ['always', 'never'],
});
if (!validOptions) {
return;
}
declarationBangSpaceChecker({
root,
result,
locationChecker: checker.before,
checkedRuleName: ruleName,
fix: context.fix
? (decl, index) => {
let bangIndex = index - declarationValueIndex(decl);
const value = getDeclarationValue(decl);
let target;
let setFixed;
if (bangIndex < value.length) {
target = value;
setFixed = (val) => {
setDeclarationValue(decl, val);
};
} else if (decl.important) {
target = decl.raws.important || ' !important';
bangIndex -= value.length;
setFixed = (val) => {
decl.raws.important = val;
};
} else {
return false; // not standard
}
const targetBefore = target.slice(0, bangIndex);
const targetAfter = target.slice(bangIndex);
if (expectation === 'always') {
// eslint-disable-next-line prefer-template
setFixed(targetBefore.replace(/\s*$/, '') + ' ' + targetAfter);
return true;
}
if (expectation === 'never') {
setFixed(targetBefore.replace(/\s*$/, '') + targetAfter);
return true;
}
}
: null,
});
};
}
rule.ruleName = ruleName;
rule.messages = messages;
module.exports = rule;