stylelint-scss
Advanced tools
Comparing version 3.12.1 to 3.13.0
@@ -0,1 +1,6 @@ | ||
# 3.13.0 | ||
- Added: support for stylelint version 12. | ||
- Fixed: duplicate warnings in `at-rule-no-unknown` rule. | ||
# 3.12.1 | ||
@@ -2,0 +7,0 @@ |
@@ -13,6 +13,8 @@ "use strict"; | ||
var _lodash = require("lodash"); | ||
var _lodash = _interopRequireDefault(require("lodash.isboolean")); | ||
var _atIfClosingBraceNewlineAfter = require("../at-if-closing-brace-newline-after"); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } | ||
var ruleName = (0, _utils.namespace)("at-else-closing-brace-newline-after"); | ||
@@ -36,3 +38,3 @@ exports.ruleName = ruleName; | ||
possible: { | ||
disableFix: _lodash.isBoolean | ||
disableFix: _lodash["default"] | ||
}, | ||
@@ -39,0 +41,0 @@ optional: true |
@@ -9,3 +9,3 @@ "use strict"; | ||
var _lodash = require("lodash"); | ||
var _lodash = _interopRequireDefault(require("lodash.isstring")); | ||
@@ -40,3 +40,3 @@ var _postcssValueParser = _interopRequireDefault(require("postcss-value-parser")); | ||
ignore: ["single-argument"], | ||
ignoreFunctions: [_lodash.isString] | ||
ignoreFunctions: [_lodash["default"]] | ||
}, | ||
@@ -43,0 +43,0 @@ optional: true |
@@ -9,4 +9,6 @@ "use strict"; | ||
var _lodash = require("lodash"); | ||
var _lodash = _interopRequireDefault(require("lodash.isregexp")); | ||
var _lodash2 = _interopRequireDefault(require("lodash.isstring")); | ||
var _stylelint = require("stylelint"); | ||
@@ -16,2 +18,4 @@ | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } | ||
var ruleName = (0, _utils.namespace)("at-function-pattern"); | ||
@@ -30,3 +34,3 @@ exports.ruleName = ruleName; | ||
actual: pattern, | ||
possible: [_lodash.isRegExp, _lodash.isString] | ||
possible: [_lodash["default"], _lodash2["default"]] | ||
}); | ||
@@ -38,3 +42,3 @@ | ||
var regexpPattern = (0, _lodash.isString)(pattern) ? new RegExp(pattern) : pattern; | ||
var regexpPattern = (0, _lodash2["default"])(pattern) ? new RegExp(pattern) : pattern; | ||
root.walkAtRules(function (decl) { | ||
@@ -41,0 +45,0 @@ if (decl.name !== "function") { |
@@ -14,4 +14,6 @@ "use strict"; | ||
var _lodash = require("lodash"); | ||
var _lodash = _interopRequireDefault(require("lodash.isboolean")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } | ||
var ruleName = (0, _utils.namespace)("at-if-closing-brace-newline-after"); | ||
@@ -35,3 +37,3 @@ exports.ruleName = ruleName; | ||
possible: { | ||
disableFix: _lodash.isBoolean | ||
disableFix: _lodash["default"] | ||
}, | ||
@@ -38,0 +40,0 @@ optional: true |
@@ -9,4 +9,6 @@ "use strict"; | ||
var _lodash = require("lodash"); | ||
var _lodash = _interopRequireDefault(require("lodash.isregexp")); | ||
var _lodash2 = _interopRequireDefault(require("lodash.isstring")); | ||
var _stylelint = require("stylelint"); | ||
@@ -36,3 +38,3 @@ | ||
actual: blacklistOption, | ||
possible: [_lodash.isString, _lodash.isRegExp] | ||
possible: [_lodash2["default"], _lodash["default"]] | ||
}); | ||
@@ -63,3 +65,3 @@ | ||
blacklist.forEach(function (ext) { | ||
if ((0, _lodash.isString)(ext) && extensionNormalized === ext || (0, _lodash.isRegExp)(ext) && extensionNormalized.search(ext) !== -1) { | ||
if ((0, _lodash2["default"])(ext) && extensionNormalized === ext || (0, _lodash["default"])(ext) && extensionNormalized.search(ext) !== -1) { | ||
_stylelint.utils.report({ | ||
@@ -66,0 +68,0 @@ message: messages.rejected(extension), |
@@ -9,4 +9,6 @@ "use strict"; | ||
var _lodash = require("lodash"); | ||
var _lodash = _interopRequireDefault(require("lodash.isregexp")); | ||
var _lodash2 = _interopRequireDefault(require("lodash.isstring")); | ||
var _stylelint = require("stylelint"); | ||
@@ -36,3 +38,3 @@ | ||
actual: whitelistOption, | ||
possible: [_lodash.isString, _lodash.isRegExp] | ||
possible: [_lodash2["default"], _lodash["default"]] | ||
}); | ||
@@ -63,3 +65,3 @@ | ||
if (whitelist.some(function (ext) { | ||
return (0, _lodash.isString)(ext) && extensionNormalized === ext || (0, _lodash.isRegExp)(ext) && extensionNormalized.search(ext) !== -1; | ||
return (0, _lodash2["default"])(ext) && extensionNormalized === ext || (0, _lodash["default"])(ext) && extensionNormalized.search(ext) !== -1; | ||
})) { | ||
@@ -66,0 +68,0 @@ return; |
@@ -9,4 +9,6 @@ "use strict"; | ||
var _lodash = require("lodash"); | ||
var _lodash = _interopRequireDefault(require("lodash.isregexp")); | ||
var _lodash2 = _interopRequireDefault(require("lodash.isstring")); | ||
var _stylelint = require("stylelint"); | ||
@@ -16,2 +18,4 @@ | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } | ||
var ruleName = (0, _utils.namespace)("at-mixin-pattern"); | ||
@@ -30,3 +34,3 @@ exports.ruleName = ruleName; | ||
actual: pattern, | ||
possible: [_lodash.isRegExp, _lodash.isString] | ||
possible: [_lodash["default"], _lodash2["default"]] | ||
}); | ||
@@ -38,3 +42,3 @@ | ||
var regexpPattern = (0, _lodash.isString)(pattern) ? new RegExp(pattern) : pattern; | ||
var regexpPattern = (0, _lodash2["default"])(pattern) ? new RegExp(pattern) : pattern; | ||
root.walkAtRules(function (decl) { | ||
@@ -41,0 +45,0 @@ if (decl.name !== "mixin") { |
@@ -9,4 +9,2 @@ "use strict"; | ||
var _lodash = _interopRequireDefault(require("lodash")); | ||
var _stylelint = require("stylelint"); | ||
@@ -16,4 +14,10 @@ | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } | ||
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } | ||
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } | ||
function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } | ||
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } | ||
var ruleName = (0, _utils.namespace)("at-rule-conditional-no-parentheses"); | ||
@@ -43,3 +47,3 @@ exports.ruleName = ruleName; | ||
var groups = atrule.params.match(regex).slice(1); | ||
atrule.params = _lodash["default"].uniq(groups).join(" "); | ||
atrule.params = _toConsumableArray(new Set(groups)).join(" "); | ||
} | ||
@@ -59,3 +63,3 @@ | ||
// Check if this is a conditional rule. | ||
if (!_lodash["default"].includes(conditional_rules, atrule.name)) { | ||
if (!conditional_rules.includes(atrule.name)) { | ||
return; | ||
@@ -62,0 +66,0 @@ } // Else uses a different regex |
@@ -9,4 +9,6 @@ "use strict"; | ||
var _lodash = require("lodash"); | ||
var _lodash = _interopRequireDefault(require("lodash.isregexp")); | ||
var _lodash2 = _interopRequireDefault(require("lodash.isstring")); | ||
var _stylelint = require("stylelint"); | ||
@@ -16,2 +18,4 @@ | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } | ||
var sassAtRules = ["at-root", "content", "debug", "each", "else", "else if", "error", "extend", "for", "forward", "function", "if", "import", "include", "media", "mixin", "return", "use", "warn", "while"]; | ||
@@ -35,3 +39,3 @@ var ruleToCheckAgainst = "at-rule-no-unknown"; | ||
possible: { | ||
ignoreAtRules: [_lodash.isRegExp, _lodash.isString] | ||
ignoreAtRules: [_lodash["default"], _lodash2["default"]] | ||
}, | ||
@@ -56,18 +60,16 @@ optional: true | ||
}, function (warning) { | ||
root.walkAtRules(function (atRule) { | ||
var name = atRule.name; | ||
var name = warning.node.name; | ||
if (ignoreAtRules.indexOf(name) < 0) { | ||
_stylelint.utils.report({ | ||
message: messages.rejected("@".concat(name)), | ||
ruleName: ruleName, | ||
result: result, | ||
node: warning.node, | ||
line: warning.line, | ||
column: warning.column | ||
}); | ||
} | ||
}); | ||
if (ignoreAtRules.indexOf(name) < 0) { | ||
_stylelint.utils.report({ | ||
message: messages.rejected("@".concat(name)), | ||
ruleName: ruleName, | ||
result: result, | ||
node: warning.node, | ||
line: warning.line, | ||
column: warning.column | ||
}); | ||
} | ||
}); | ||
}; | ||
} |
@@ -9,3 +9,3 @@ "use strict"; | ||
var _lodash = require("lodash"); | ||
var _lodash = _interopRequireDefault(require("lodash.isboolean")); | ||
@@ -16,2 +16,4 @@ var _stylelint = require("stylelint"); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } | ||
var ruleName = (0, _utils.namespace)("dollar-variable-colon-newline-after"); | ||
@@ -40,3 +42,3 @@ exports.ruleName = ruleName; | ||
possible: { | ||
disableFix: _lodash.isBoolean | ||
disableFix: _lodash["default"] | ||
}, | ||
@@ -43,0 +45,0 @@ optional: true |
@@ -13,4 +13,6 @@ "use strict"; | ||
var _lodash = require("lodash"); | ||
var _lodash = _interopRequireDefault(require("lodash.isboolean")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } | ||
var ruleName = (0, _utils.namespace)("dollar-variable-empty-line-before"); | ||
@@ -36,3 +38,3 @@ exports.ruleName = ruleName; | ||
ignore: ["after-comment", "inside-single-line-block"], | ||
disableFix: _lodash.isBoolean | ||
disableFix: _lodash["default"] | ||
}, | ||
@@ -39,0 +41,0 @@ optional: true |
@@ -9,4 +9,2 @@ "use strict"; | ||
var _lodash = require("lodash"); | ||
var _stylelint = require("stylelint"); | ||
@@ -40,7 +38,7 @@ | ||
function isCustomIdentAtRule(node) { | ||
return isAtRule(node.type) && (0, _lodash.includes)(customIdentAtRules, node.name); | ||
return isAtRule(node.type) && customIdentAtRules.includes(node.name); | ||
} | ||
function isCustomIdentProp(node) { | ||
return (0, _lodash.includes)(customIdentProps, node.prop); | ||
return customIdentProps.includes(node.prop); | ||
} | ||
@@ -82,3 +80,3 @@ | ||
if (!isSassVar(prop) || (0, _lodash.includes)(vars, prop)) { | ||
if (!isSassVar(prop) || vars.includes(prop)) { | ||
return; | ||
@@ -104,7 +102,7 @@ } | ||
if (isAtSupports(node) || isCustomIdentProp(node)) { | ||
return (0, _lodash.includes)(stringVars, value); | ||
return stringVars.includes(value); | ||
} | ||
if (isCustomIdentAtRule(node)) { | ||
return (0, _lodash.includes)(vars, value); | ||
return vars.includes(value); | ||
} | ||
@@ -111,0 +109,0 @@ |
@@ -9,4 +9,6 @@ "use strict"; | ||
var _lodash = require("lodash"); | ||
var _lodash = _interopRequireDefault(require("lodash.isregexp")); | ||
var _lodash2 = _interopRequireDefault(require("lodash.isstring")); | ||
var _stylelint = require("stylelint"); | ||
@@ -16,2 +18,4 @@ | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } | ||
var ruleName = (0, _utils.namespace)("dollar-variable-pattern"); | ||
@@ -30,3 +34,3 @@ exports.ruleName = ruleName; | ||
actual: pattern, | ||
possible: [_lodash.isRegExp, _lodash.isString] | ||
possible: [_lodash["default"], _lodash2["default"]] | ||
}, { | ||
@@ -44,3 +48,3 @@ actual: options, | ||
var regexpPattern = (0, _lodash.isString)(pattern) ? new RegExp(pattern) : pattern; | ||
var regexpPattern = (0, _lodash2["default"])(pattern) ? new RegExp(pattern) : pattern; | ||
root.walkDecls(function (decl) { | ||
@@ -47,0 +51,0 @@ var prop = decl.prop; |
@@ -11,6 +11,8 @@ "use strict"; | ||
var _lodash = require("lodash"); | ||
var _lodash = _interopRequireDefault(require("lodash.isstring")); | ||
var _utils = require("../../utils"); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } | ||
var ruleName = (0, _utils.namespace)("no-duplicate-dollar-variables"); | ||
@@ -35,3 +37,3 @@ exports.ruleName = ruleName; | ||
ignoreInside: ["at-rule", "nested-at-rule"], | ||
ignoreInsideAtRules: [_lodash.isString] | ||
ignoreInsideAtRules: [_lodash["default"]] | ||
}, | ||
@@ -38,0 +40,0 @@ optional: true |
@@ -9,4 +9,6 @@ "use strict"; | ||
var _lodash = require("lodash"); | ||
var _lodash = _interopRequireDefault(require("lodash.isregexp")); | ||
var _lodash2 = _interopRequireDefault(require("lodash.isstring")); | ||
var _postcssResolveNestedSelector = _interopRequireDefault(require("postcss-resolve-nested-selector")); | ||
@@ -35,3 +37,3 @@ | ||
actual: pattern, | ||
possible: [_lodash.isRegExp, _lodash.isString] | ||
possible: [_lodash["default"], _lodash2["default"]] | ||
}); | ||
@@ -43,3 +45,3 @@ | ||
var placeholderPattern = (0, _lodash.isString)(pattern) ? new RegExp(pattern) : pattern; // Checking placeholder definitions (looking among regular rules) | ||
var placeholderPattern = (0, _lodash2["default"])(pattern) ? new RegExp(pattern) : pattern; // Checking placeholder definitions (looking among regular rules) | ||
@@ -46,0 +48,0 @@ root.walkRules(function (rule) { |
@@ -8,4 +8,2 @@ "use strict"; | ||
var _lodash = require("lodash"); | ||
// Add an empty line before a node. Mutates the node. | ||
@@ -20,3 +18,3 @@ function addEmptyLineBefore(node | ||
if (!/\r?\n/.test(node.raws.before)) { | ||
node.raws.before = (0, _lodash.repeat)(newline, 2) + node.raws.before; | ||
node.raws.before = newline.repeat(2) + node.raws.before; | ||
} else { | ||
@@ -23,0 +21,0 @@ node.raws.before = node.raws.before.replace(/(\r?\n)/, "".concat(newline, "$1")); |
@@ -8,6 +8,2 @@ "use strict"; | ||
var _lodash = _interopRequireDefault(require("lodash")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } | ||
/** | ||
@@ -189,3 +185,3 @@ * Finds comments, both CSS comments and double slash ones, in a CSS string | ||
comment.inlineBefore = rawString.substring(i + 2).search(/^\s*?\S+\s*?\n/) !== -1; | ||
result.push(_lodash["default"].assign({}, comment)); | ||
result.push(Object.assign({}, comment)); | ||
comment = {}; // Skip the next loop as the / in */ is already checked | ||
@@ -220,3 +216,3 @@ | ||
comment.inlineBefore = false; | ||
result.push(_lodash["default"].assign({}, comment)); | ||
result.push(Object.assign({}, comment)); | ||
comment = {}; // Compensate for the `*/` added by postcss-scss | ||
@@ -223,0 +219,0 @@ |
@@ -8,6 +8,2 @@ "use strict"; | ||
var _lodash = _interopRequireDefault(require("lodash")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } | ||
/** | ||
@@ -28,7 +24,7 @@ * Check whether a selector has an interpolating ampersand | ||
if (!_lodash["default"].isUndefined(selector[i - 1]) && !isCombinator(selector[i - 1])) { | ||
if (selector[i - 1] !== undefined && !isCombinator(selector[i - 1])) { | ||
return true; | ||
} | ||
if (!_lodash["default"].isUndefined(selector[i + 1]) && !isCombinator(selector[i + 1])) { | ||
if (selector[i + 1] !== undefined && !isCombinator(selector[i + 1])) { | ||
return true; | ||
@@ -35,0 +31,0 @@ } |
@@ -10,4 +10,2 @@ "use strict"; | ||
var _lodash = require("lodash"); | ||
var _postcssValueParser = _interopRequireDefault(require("postcss-value-parser")); | ||
@@ -67,3 +65,3 @@ | ||
}, []); | ||
return (0, _lodash.head)(keyVal); | ||
return keyVal[0]; | ||
} | ||
@@ -78,5 +76,5 @@ | ||
return (0, _lodash.head)(parsed.nodes.map(function (node) { | ||
return parsed.nodes.map(function (node) { | ||
return groupByKeyValue(node.nodes).map(mapToKeyValue); | ||
})); | ||
})[0]; | ||
} |
@@ -160,3 +160,3 @@ "use strict"; | ||
} // ---- Processing / character | ||
// http://sass-lang.com/documentation/file.SASS_REFERENCE.html#division-and-slash | ||
// https://sass-lang.com/documentation/operators/numeric#slash-separated-values | ||
@@ -861,3 +861,3 @@ | ||
var matches = after.match(/^\s*(-\s+|[+/*%]\s*)*[a-zA_Z_-][a-zA-Z_0-9-]*\(/); | ||
var matches = after.match(/^\s*(-\s+|[+/*%]\s*)*[a-zA-Z_-][a-zA-Z_0-9-]*\(/); | ||
@@ -894,3 +894,3 @@ if (matches) { | ||
function isHexColorBefore(before) { | ||
if (before.search(/(?:[/(){},+/*%-\s]|^)#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/) !== -1) { | ||
if (before.search(/(?:[/(){},+*%-\s]|^)#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/) !== -1) { | ||
return true; | ||
@@ -897,0 +897,0 @@ } |
@@ -8,4 +8,2 @@ "use strict"; | ||
var _lodash = require("lodash"); | ||
var _isWhitespace = _interopRequireDefault(require("./isWhitespace")); | ||
@@ -217,3 +215,3 @@ | ||
function beforeAllowingIndentation(obj) { | ||
before((0, _lodash.assign)({}, obj, { | ||
before(Object.assign({}, obj, { | ||
allowIndentation: true | ||
@@ -309,3 +307,3 @@ })); | ||
function afterOneOnly(obj) { | ||
after((0, _lodash.assign)({}, obj, { | ||
after(Object.assign({}, obj, { | ||
onlyOneChar: true | ||
@@ -312,0 +310,0 @@ })); |
{ | ||
"name": "stylelint-scss", | ||
"description": "A collection of SCSS specific rules for stylelint", | ||
"version": "3.12.1", | ||
"version": "3.13.0", | ||
"author": "Krister Kari", | ||
@@ -15,3 +15,5 @@ "babel": { | ||
"dependencies": { | ||
"lodash": "^4.17.15", | ||
"lodash.isboolean": "^3.0.3", | ||
"lodash.isregexp": "^4.0.1", | ||
"lodash.isstring": "^4.0.1", | ||
"postcss-media-query-parser": "^0.2.3", | ||
@@ -23,9 +25,8 @@ "postcss-resolve-nested-selector": "^0.1.1", | ||
"devDependencies": { | ||
"@babel/cli": "^7.5.5", | ||
"@babel/core": "^7.5.5", | ||
"@babel/preset-env": "^7.5.5", | ||
"@babel/cli": "^7.7.0", | ||
"@babel/core": "^7.7.2", | ||
"@babel/preset-env": "^7.7.1", | ||
"babel-plugin-istanbul": "^5.2.0", | ||
"babel-preset-jest": "^24.6.0", | ||
"coveralls": "^3.0.6", | ||
"eslint": "^6.1.0", | ||
"babel-preset-jest": "^24.9.0", | ||
"eslint": "^6.6.0", | ||
"eslint-config-stylelint": "^11.1.0", | ||
@@ -35,17 +36,16 @@ "eslint-plugin-lodash": "^6.0.0", | ||
"github-contributors-list": "^1.2.3", | ||
"husky": "^3.0.3", | ||
"jest": "^24.8.0", | ||
"jest-cli": "^24.8.0", | ||
"lint-staged": "^9.2.1", | ||
"husky": "^3.1.0", | ||
"jest": "^24.9.0", | ||
"jest-cli": "^24.9.0", | ||
"lint-staged": "^9.4.3", | ||
"lodash.get": "^4.4.2", | ||
"npmpub": "^5.0.0", | ||
"postcss": "^7.0.17", | ||
"postcss": "^7.0.23", | ||
"postcss-scss": "^2.0.0", | ||
"prettier": "^1.18.2", | ||
"request": "^2.88.0", | ||
"prettier": "^1.19.1", | ||
"rimraf": "^3.0.0", | ||
"semver": "^6.3.0", | ||
"stylelint": "^11.0.0" | ||
"stylelint": "^12.0.0" | ||
}, | ||
"peerDependencies": { | ||
"stylelint": "^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0" | ||
"stylelint": "^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0" | ||
}, | ||
@@ -165,16 +165,14 @@ "engines": { | ||
"scripts": { | ||
"precommit": "lint-staged", | ||
"coveralls": "nyc report --reporter=text-lcov | coveralls", | ||
"prebuild": "rimraf dist", | ||
"build": "babel src --out-dir dist", | ||
"lint": "eslint . --ignore-path .gitignore", | ||
"prettify": "prettier --write 'src/**/*.js'", | ||
"prepublish": "npm run build", | ||
"prettify": "prettier --write \"src/**/*.js\"", | ||
"prepublishOnly": "npm run build", | ||
"pretest": "npm run lint", | ||
"release": "npmpub", | ||
"jest": "jest", | ||
"test": "jest --coverage", | ||
"watch": "jest --watch", | ||
"test-rule": "jest", | ||
"test-util": "jest" | ||
"test": "npm run jest -- --coverage", | ||
"watch": "npm run jest -- --watch", | ||
"test-rule": "npm run jest", | ||
"test-util": "npm run jest" | ||
}, | ||
@@ -186,3 +184,8 @@ "lint-staged": { | ||
] | ||
}, | ||
"husky": { | ||
"hooks": { | ||
"pre-commit": "lint-staged" | ||
} | ||
} | ||
} |
# stylelint-scss | ||
[![NPM version](https://img.shields.io/npm/v/stylelint-scss.svg)](https://www.npmjs.com/package/stylelint-scss) | ||
[![Build Status](https://travis-ci.org/kristerkari/stylelint-scss.svg?branch=master)](https://travis-ci.org/kristerkari/stylelint-scss) | ||
[![Build status](https://ci.appveyor.com/api/projects/status/xa12kju6qmvmqs1n/branch/master?svg=true)](https://ci.appveyor.com/project/kristerkari/stylelint-scss/branch/master) | ||
[![Coverage Status](https://coveralls.io/repos/github/kristerkari/stylelint-scss/badge.svg?branch=master)](https://coveralls.io/github/kristerkari/stylelint-scss?branch=master) | ||
[![Build Status](https://github.com/kristerkari/stylelint-scss/workflows/Tests/badge.svg)](https://github.com/kristerkari/stylelint-scss/actions?workflow=Tests) | ||
[![Coverage Status](https://img.shields.io/coveralls/github/kristerkari/stylelint-scss/master.svg)](https://coveralls.io/github/kristerkari/stylelint-scss?branch=master) | ||
[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://egghead.io/courses/how-to-contribute-to-an-open-source-project-on-github) | ||
[![Downloads per month](https://img.shields.io/npm/dm/stylelint-scss.svg)](http://npmcharts.com/compare/stylelint-scss) | ||
[![Greenkeeper badge](https://badges.greenkeeper.io/kristerkari/stylelint-scss.svg)](https://greenkeeper.io/) | ||
[![Downloads per month](https://img.shields.io/npm/dm/stylelint-scss.svg)](https://npmcharts.com/compare/stylelint-scss) | ||
@@ -15,11 +13,11 @@ A collection of SCSS specific linting rules for [stylelint](https://github.com/stylelint/stylelint) (in a form of a plugin). | ||
stylelint by itself supports [SCSS syntax](http://stylelint.io/user-guide/css-processors/#parsing-non-standard-syntax) very well (as well as other preprocessors' syntaxes). Moreover, it introduces some specific rules that can be used to lint SCSS, e.g. to limit [`nesting`](http://stylelint.io/user-guide/rules/max-nesting-depth/), control the way [`@-rules`](http://stylelint.io/user-guide/rules/#at-rule) are written. Yet stylelint is in general focused on standard CSS. | ||
stylelint by itself supports [SCSS syntax](https://stylelint.io/user-guide/css-processors#parsing-non-standard-syntax) very well (as well as other preprocessors' syntaxes). Moreover, it introduces some specific rules that can be used to lint SCSS, e.g. to limit [`nesting`](https://stylelint.io/user-guide/rules/max-nesting-depth), control the way [`@-rules`](https://stylelint.io/user-guide/rules#at-rule) are written. Yet stylelint is in general focused on standard CSS. | ||
stylelint-scss introduces rules specific to SCSS syntax. That said, the rules from this plugin can be used with other syntaxes, like Less or some PostCSS syntaxes. That's why the rules' names are not tied to SCSS only (`at-function-pattern` instead of `scss-function-pattern`). | ||
The plugin follows stylelint's guidelines (about [rule names](http://stylelint.io/user-guide/about-rules/), testing and [so on](https://github.com/stylelint/stylelint/tree/master/docs/developer-guide)). | ||
The plugin follows stylelint's guidelines (about [rule names](https://stylelint.io/user-guide/about-rules), testing and [so on](https://github.com/stylelint/stylelint/tree/master/docs/developer-guide)). | ||
## Installation and usage | ||
stylelint-scss is a plugin for [stylelint](http://stylelint.io/user-guide/), so it's meant to be used with it. | ||
stylelint-scss is a plugin for [stylelint](https://stylelint.io/user-guide), so it's meant to be used with it. | ||
@@ -49,7 +47,7 @@ **Node.js v6 or newer** is required. That's because stylelint itself [doesn't support Node.js versions below 6](https://github.com/stylelint/stylelint/issues/2996#issuecomment-352663375). | ||
Please refer to [stylelint docs](http://stylelint.io/user-guide/) for the detailed info on using this linter. | ||
Please refer to [stylelint docs](https://stylelint.io/user-guide) for the detailed info on using this linter. | ||
## List of rules | ||
Here are stylelint-scss' rules, grouped by the [_thing_](http://apps.workflower.fi/vocabs/css/en) they apply to (just like in [stylelint](http://stylelint.io/user-guide/about-rules/)). | ||
Here are stylelint-scss' rules, grouped by the [_thing_](http://apps.workflower.fi/vocabs/css/en) they apply to (just like in [stylelint](https://stylelint.io/user-guide/about-rules)). | ||
@@ -102,3 +100,3 @@ Please also see the [example configs](./docs/examples/) for special cases. | ||
- [`at-rule-conditional-no-parentheses`](./src/rules/at-rule-conditional-no-parentheses/README.md): Disallow parentheses in conditional @ rules (if, elsif, while). | ||
- [`at-rule-no-unknown`](./src/rules/at-rule-no-unknown/README.md): Disallow unknown at-rules. Should be used **instead of** stylelint's [at-rule-no-unknown](http://stylelint.io/user-guide/rules/at-rule-no-unknown/). | ||
- [`at-rule-no-unknown`](./src/rules/at-rule-no-unknown/README.md): Disallow unknown at-rules. Should be used **instead of** stylelint's [at-rule-no-unknown](https://stylelint.io/user-guide/rules/at-rule-no-unknown). | ||
@@ -140,5 +138,5 @@ ### `$`-variable | ||
- [`function-color-relative`](./src/rules/function-color-relative/README.md): Encourage the use of the [scale-color](https://sass-lang.com/documentation/functions/color#scale-color) function over regular color functions. | ||
- [`function-quote-no-quoted-strings-inside`](./src/rules/function-quote-no-quoted-strings-inside/README.md): Disallow quoted strings inside the [quote function](https://sass-lang.com/documentation/functions/string#quote) (Autofixable). | ||
- [`function-unquote-no-unquoted-strings-inside`](./src/rules/function-unquote-no-unquoted-strings-inside/README.md): Disallow unquoted strings inside the [unquote function](https://sass-lang.com/documentation/functions/string#unquote) (Autofixable). | ||
- [`function-color-relative`](./src/rules/function-color-relative/README.md): Encourage the use of the [scale-color](https://sass-lang.com/documentation/modules/color#scale-color) function over regular color functions. | ||
- [`function-quote-no-quoted-strings-inside`](./src/rules/function-quote-no-quoted-strings-inside/README.md): Disallow quoted strings inside the [quote function](https://sass-lang.com/documentation/modules/string#quote) (Autofixable). | ||
- [`function-unquote-no-unquoted-strings-inside`](./src/rules/function-unquote-no-unquoted-strings-inside/README.md): Disallow unquoted strings inside the [unquote function](https://sass-lang.com/documentation/modules/string#unquote) (Autofixable). | ||
@@ -190,3 +188,3 @@ ### Map | ||
There is also [stackoverflow](http://stackoverflow.com/questions/tagged/stylelint), which would be the preferred QA forum. | ||
There is also [stackoverflow](https://stackoverflow.com/questions/tagged/stylelint), which would be the preferred QA forum. | ||
@@ -193,0 +191,0 @@ ## Contributors |
@@ -16,5 +16,5 @@ # at-else-closing-brace-newline-after | ||
This rule might have conflicts with stylelint's core rule [`block-closing-brace-newline-after`](http://stylelint.io/user-guide/rules/block-closing-brace-newline-after/) if it doesn't have `"ignoreAtRules": ["else"]` in a `.stylelintrc` config file. That's because an `@else { ... }` statement can be successfully parsed as an at-rule with a block. You might also want to set `"ignoreAtRules": ["else"]` for another stylelint's core rule - [`at-rule-empty-line-before`](http://stylelint.io/user-guide/rules/at-rule-empty-line-before/) that could be forcing empty lines before at-rules (including `@else`s that follow `@if`s or other `@else`s). | ||
This rule might have conflicts with stylelint's core rule [`block-closing-brace-newline-after`](https://stylelint.io/user-guide/rules/block-closing-brace-newline-after) if it doesn't have `"ignoreAtRules": ["else"]` in a `.stylelintrc` config file. That's because an `@else { ... }` statement can be successfully parsed as an at-rule with a block. You might also want to set `"ignoreAtRules": ["else"]` for another stylelint's core rule - [`at-rule-empty-line-before`](https://stylelint.io/user-guide/rules/at-rule-empty-line-before) that could be forcing empty lines before at-rules (including `@else`s that follow `@if`s or other `@else`s). | ||
This rule doesn't have usual `"always"` and `"never"` main option values, because if you don't need special behavior for `@if` and `@else` you could just use [`block-closing-brace-newline-after`](http://stylelint.io/user-guide/rules/block-closing-brace-newline-after/) set to `"always"` or any other value. | ||
This rule doesn't have usual `"always"` and `"never"` main option values, because if you don't need special behavior for `@if` and `@else` you could just use [`block-closing-brace-newline-after`](https://stylelint.io/user-guide/rules/block-closing-brace-newline-after) set to `"always"` or any other value. | ||
@@ -21,0 +21,0 @@ ## Options |
@@ -15,3 +15,3 @@ # at-else-closing-brace-space-after | ||
This rule might have conflicts with stylelint's core [`block-closing-brace-space-after`](http://stylelint.io/user-guide/rules/block-closing-brace-space-after/) rule if the latter is set up in your `.stylelintrc` config file. | ||
This rule might have conflicts with stylelint's core [`block-closing-brace-space-after`](https://stylelint.io/user-guide/rules/block-closing-brace-space-after) rule if the latter is set up in your `.stylelintrc` config file. | ||
@@ -18,0 +18,0 @@ ## Options |
@@ -16,3 +16,3 @@ # at-else-empty-line-before | ||
`@if` and `@else` statements might need to have different behavior than all the other at-rules. For that you might need to set `"ignoreAtRules": ["else"]` for stylelint's core rule [`at-rule-empty-line-before`](http://stylelint.io/user-guide/rules/at-rule-empty-line-before/). But that would make you unable to disallow empty lines before `@else` while forcing it to be on a new line. This rule is designed to solve exactly that. | ||
`@if` and `@else` statements might need to have different behavior than all the other at-rules. For that you might need to set `"ignoreAtRules": ["else"]` for stylelint's core rule [`at-rule-empty-line-before`](https://stylelint.io/user-guide/rules/at-rule-empty-line-before). But that would make you unable to disallow empty lines before `@else` while forcing it to be on a new line. This rule is designed to solve exactly that. | ||
@@ -19,0 +19,0 @@ ## Options |
@@ -14,5 +14,5 @@ # at-if-closing-brace-newline-after | ||
This rule might have conflicts with stylelint's core rule [`block-closing-brace-newline-after`](http://stylelint.io/user-guide/rules/block-closing-brace-newline-after/) if it doesn't have `"ignoreAtRules": ["if"]` in a `.stylelintrc` config file. That's because an `@if { ... }` statement can be successfully parsed as an at-rule with a block. You might also want to set `"ignoreAtRules": ["else"]` for another stylelint's core rule - [`at-rule-empty-line-before`](http://stylelint.io/user-guide/rules/at-rule-empty-line-before/) that could be forcing empty lines before at-rules (including `@else`s that follow `@if`s or other `@else`s). | ||
This rule might have conflicts with stylelint's core rule [`block-closing-brace-newline-after`](https://stylelint.io/user-guide/rules/block-closing-brace-newline-after) if it doesn't have `"ignoreAtRules": ["if"]` in a `.stylelintrc` config file. That's because an `@if { ... }` statement can be successfully parsed as an at-rule with a block. You might also want to set `"ignoreAtRules": ["else"]` for another stylelint's core rule - [`at-rule-empty-line-before`](https://stylelint.io/user-guide/rules/at-rule-empty-line-before) that could be forcing empty lines before at-rules (including `@else`s that follow `@if`s or other `@else`s). | ||
This rule doesn't have usual `"always"` and `"never"` main option values, because if you don't need special behavior for `@if` and `@else` you could just use [`block-closing-brace-newline-after`](http://stylelint.io/user-guide/rules/block-closing-brace-newline-after/) set to `"always"` or any other value. | ||
This rule doesn't have usual `"always"` and `"never"` main option values, because if you don't need special behavior for `@if` and `@else` you could just use [`block-closing-brace-newline-after`](https://stylelint.io/user-guide/rules/block-closing-brace-newline-after) set to `"always"` or any other value. | ||
@@ -19,0 +19,0 @@ ## Options |
@@ -14,3 +14,3 @@ # at-if-closing-brace-space-after | ||
This rule might have conflicts with stylelint's core [`block-closing-brace-space-after`](http://stylelint.io/user-guide/rules/block-closing-brace-space-after/) rule if the latter is set up in your `.stylelintrc` config file. | ||
This rule might have conflicts with stylelint's core [`block-closing-brace-space-after`](https://stylelint.io/user-guide/rules/block-closing-brace-space-after) rule if the latter is set up in your `.stylelintrc` config file. | ||
@@ -17,0 +17,0 @@ ## Options |
@@ -11,3 +11,3 @@ # at-import-no-partial-leading-underscore | ||
The rule ignores [cases](http://sass-lang.com/documentation/file.SASS_REFERENCE.html#import) when Sass considers an `@import` command just a plain CSS import: | ||
The rule ignores [cases](https://sass-lang.com/documentation/at-rules/import) when Sass considers an `@import` command just a plain CSS import: | ||
@@ -14,0 +14,0 @@ * If the file’s extension is `.css`. |
@@ -11,3 +11,3 @@ # at-import-partial-extension-blacklist | ||
The rule ignores [cases](http://sass-lang.com/documentation/file.SASS_REFERENCE.html#import) when Sass considers an `@import` command just a plain CSS import: | ||
The rule ignores [cases](https://sass-lang.com/documentation/at-rules/import) when Sass considers an `@import` command just a plain CSS import: | ||
@@ -14,0 +14,0 @@ * If the file’s extension is `.css`. |
@@ -11,3 +11,3 @@ # at-import-partial-extension-whitelist | ||
The rule ignores [cases](http://sass-lang.com/documentation/file.SASS_REFERENCE.html#import) when Sass considers an `@import` command just a plain CSS import: | ||
The rule ignores [cases](https://sass-lang.com/documentation/at-rules/import) when Sass considers an `@import` command just a plain CSS import: | ||
@@ -14,0 +14,0 @@ * If the file’s extension is `.css`. |
@@ -11,3 +11,3 @@ # at-import-partial-extension | ||
The rule ignores [cases](http://sass-lang.com/documentation/file.SASS_REFERENCE.html#import) when Sass considers an `@import` command just a plain CSS import: | ||
The rule ignores [cases](https://sass-lang.com/documentation/at-rules/import) when Sass considers an `@import` command just a plain CSS import: | ||
@@ -14,0 +14,0 @@ - If the file’s extension is `.css`. |
# at-rule-no-unknown | ||
Disallow unknown at-rules. Should be used **instead of** stylelint's [at-rule-no-unknown](http://stylelint.io/user-guide/rules/at-rule-no-unknown/). | ||
Disallow unknown at-rules. Should be used **instead of** stylelint's [at-rule-no-unknown](https://stylelint.io/user-guide/rules/at-rule-no-unknown). | ||
@@ -5,0 +5,0 @@ ```css |
@@ -15,3 +15,3 @@ # declaration-nested-properties-no-divided-groups | ||
[Sass official docs on nested properties](http://sass-lang.com/documentation/file.SASS_REFERENCE.html#nested_properties). | ||
[Sass official docs on nested properties](https://sass-lang.com/documentation/style-rules/declarations#nesting). | ||
@@ -18,0 +18,0 @@ The following patterns are considered warnings: |
@@ -13,3 +13,3 @@ # declaration-nested-properties | ||
[Sass official docs on nested properties](http://sass-lang.com/documentation/file.SASS_REFERENCE.html#nested_properties). | ||
[Sass official docs on nested properties](https://sass-lang.com/documentation/style-rules/declarations#nesting). | ||
@@ -16,0 +16,0 @@ ## Options |
@@ -15,3 +15,3 @@ # double-slash-comment-empty-line-before | ||
This rule only works with SCSS-like [single-line comments](http://sass-lang.com/documentation/file.SASS_REFERENCE.html#comments) and ignores: | ||
This rule only works with SCSS-like [single-line comments](https://sass-lang.com/documentation/syntax/comments) and ignores: | ||
* comments that are the very first nodes in a file; | ||
@@ -18,0 +18,0 @@ * CSS comments (`/* */`); |
@@ -14,3 +14,3 @@ # double-slash-comment-inline | ||
This rule only works with SCSS-like [single-line comments](http://sass-lang.com/documentation/file.SASS_REFERENCE.html#comments) and ignores CSS comments (`/* */`). | ||
This rule only works with SCSS-like [single-line comments](https://sass-lang.com/documentation/syntax/comments) and ignores CSS comments (`/* */`). | ||
@@ -17,0 +17,0 @@ ## Options |
@@ -12,3 +12,3 @@ # double-slash-comment-whitespace-inside | ||
This rule only works with SCSS-like [single-line comments](http://sass-lang.com/documentation/file.SASS_REFERENCE.html#comments) and ignores CSS comments (`/* */`). | ||
This rule only works with SCSS-like [single-line comments](https://sass-lang.com/documentation/syntax/comments) and ignores CSS comments (`/* */`). | ||
@@ -15,0 +15,0 @@ Any number of slases are allowed at the beginning of the comment. So `/// comment` is treated the same way as `// comment`. |
# function-color-relative | ||
Encourage the use of the [scale-color](https://sass-lang.com/documentation/functions/color#scale-color) over: | ||
Encourage the use of the [scale-color](https://sass-lang.com/documentation/modules/color#scale-color) over: | ||
* [darken](https://sass-lang.com/documentation/functions/color#darken) | ||
* [desaturate](https://sass-lang.com/documentation/functions/color#desaturate) | ||
* [fade-in](https://sass-lang.com/documentation/functions/color#fade-in) | ||
* [fade-out](https://sass-lang.com/documentation/functions/color#fade-out) | ||
* [lighten](https://sass-lang.com/documentation/functions/color#lighten) | ||
* [opacify](https://sass-lang.com/documentation/functions/color#opacify) | ||
* [saturate](https://sass-lang.com/documentation/functions/color#saturate) | ||
* [transparentize](https://sass-lang.com/documentation/functions/color#transparentize) | ||
* [darken](https://sass-lang.com/documentation/modules/color#darken) | ||
* [desaturate](https://sass-lang.com/documentation/modules/color#desaturate) | ||
* [fade-in](https://sass-lang.com/documentation/modules/color#fade-in) | ||
* [fade-out](https://sass-lang.com/documentation/modules/color#fade-out) | ||
* [lighten](https://sass-lang.com/documentation/modules/color#lighten) | ||
* [opacify](https://sass-lang.com/documentation/modules/color#opacify) | ||
* [saturate](https://sass-lang.com/documentation/modules/color#saturate) | ||
* [transparentize](https://sass-lang.com/documentation/modules/color#transparentize) | ||
@@ -14,0 +14,0 @@ ```scss |
# function-quote-no-quoted-strings-inside | ||
Disallow quoted strings inside the [quote function](https://sass-lang.com/documentation/functions/string#quote) | ||
Disallow quoted strings inside the [quote function](https://sass-lang.com/documentation/modules/string#quote) | ||
@@ -5,0 +5,0 @@ ```scss |
# function-unquote-no-unquoted-strings-inside | ||
Disallow unquoted strings inside the [unquote function](https://sass-lang.com/documentation/functions/string#unquote) | ||
Disallow unquoted strings inside the [unquote function](https://sass-lang.com/documentation/modules/string#unquote) | ||
@@ -5,0 +5,0 @@ ```scss |
@@ -16,7 +16,7 @@ # operator-no-newline-after | ||
* `+` and `-` as signs before values; | ||
* `+` and `-` as signs in [space-delimited lists](http://sass-lang.com/documentation/file.SASS_REFERENCE.html#string_operations); | ||
* `-` as part of [a string](http://sass-lang.com/documentation/file.SASS_REFERENCE.html#string_operations) or [a Sass identifier](http://sass-lang.com/documentation/file.SASS_REFERENCE.html#subtraction), e.g. a variable; | ||
* `/` as a CSS delimiter in property values like `font: 10px/1.2 Arial;` ([read more](http://sass-lang.com/documentation/file.SASS_REFERENCE.html#division-and-slash)). | ||
* `+` and `-` as signs in [space-delimited lists](https://sass-lang.com/documentation/operators/string); | ||
* `-` as part of [a string](https://sass-lang.com/documentation/operators/string) or [a Sass identifier](https://sass-lang.com/documentation/operators/numeric#unary-operators), e.g. a variable; | ||
* `/` as a CSS delimiter in property values like `font: 10px/1.2 Arial;` ([read more](https://sass-lang.com/documentation/operators/numeric#slash-separated-values)). | ||
For more details refer to [Sass official documentation](http://sass-lang.com/documentation/file.SASS_REFERENCE.html). An online Sass compiler - [Sassmeister](http://www.sassmeister.com/) - could also come in handy. | ||
For more details refer to [Sass official documentation](https://sass-lang.com/documentation). An online Sass compiler - [Sassmeister](https://www.sassmeister.com/) - could also come in handy. | ||
@@ -23,0 +23,0 @@ The following patterns are considered warnings: |
@@ -17,7 +17,7 @@ # operator-no-newline-before | ||
* `+` and `-` as signs before values; | ||
* `+` and `-` as signs in [space-delimited lists](http://sass-lang.com/documentation/file.SASS_REFERENCE.html#string_operations); | ||
* `-` as part of [a string](http://sass-lang.com/documentation/file.SASS_REFERENCE.html#string_operations) or [a Sass identifier](http://sass-lang.com/documentation/file.SASS_REFERENCE.html#subtraction), e.g. a variable; | ||
* `/` as a CSS delimiter in property values like `font: 10px/1.2 Arial;` ([read more](http://sass-lang.com/documentation/file.SASS_REFERENCE.html#division-and-slash)). | ||
* `+` and `-` as signs in [space-delimited lists](https://sass-lang.com/documentation/operators/string); | ||
* `-` as part of [a string](https://sass-lang.com/documentation/operators/string) or [a Sass identifier](https://sass-lang.com/documentation/operators/numeric#unary-operators), e.g. a variable; | ||
* `/` as a CSS delimiter in property values like `font: 10px/1.2 Arial;` ([read more](https://sass-lang.com/documentation/operators/numeric#slash-separated-values)). | ||
For more details refer to [Sass official documentation](http://sass-lang.com/documentation/file.SASS_REFERENCE.html). An online Sass compiler - [Sassmeister](http://www.sassmeister.com/) - could also come in handy. | ||
For more details refer to [Sass official documentation](https://sass-lang.com/documentation). An online Sass compiler - [Sassmeister](https://www.sassmeister.com/) - could also come in handy. | ||
@@ -24,0 +24,0 @@ The following patterns are considered warnings: |
@@ -16,7 +16,7 @@ # operator-no-unspaced | ||
* `+` and `-` as signs before values; | ||
* `+` and `-` as signs in [space-delimited lists](http://sass-lang.com/documentation/file.SASS_REFERENCE.html#string_operations); | ||
* `-` as part of [a string](http://sass-lang.com/documentation/file.SASS_REFERENCE.html#string_operations) or [a Sass identifier](http://sass-lang.com/documentation/file.SASS_REFERENCE.html#subtraction), e.g. a variable; | ||
* `/` as a CSS delimiter in property values like `font: 10px/1.2 Arial;` ([read more](http://sass-lang.com/documentation/file.SASS_REFERENCE.html#division-and-slash)). | ||
* `+` and `-` as signs in [space-delimited lists](https://sass-lang.com/documentation/operators/string); | ||
* `-` as part of [a string](https://sass-lang.com/documentation/operators/string) or [a Sass identifier](https://sass-lang.com/documentation/operators/numeric#unary-operators), e.g. a variable; | ||
* `/` as a CSS delimiter in property values like `font: 10px/1.2 Arial;` ([read more](https://sass-lang.com/documentation/operators/numeric#slash-separated-values)). | ||
For more details refer to [Sass official documentation](http://sass-lang.com/documentation/file.SASS_REFERENCE.html). An online Sass compiler - [Sassmeister](http://www.sassmeister.com/) - could also come in handy. | ||
For more details refer to [Sass official documentation](https://sass-lang.com/documentation/file.SASS_REFERENCE.html). An online Sass compiler - [Sassmeister](https://www.sassmeister.com/) - could also come in handy. | ||
@@ -23,0 +23,0 @@ The following patterns are considered warnings: |
@@ -15,3 +15,3 @@ # partial-no-import | ||
The rule also ignores [cases](http://sass-lang.com/documentation/file.SASS_REFERENCE.html#import) when Sass considers an `@import` command just a plain CSS import: | ||
The rule also ignores [cases](https://sass-lang.com/documentation/at-rules/import) when Sass considers an `@import` command just a plain CSS import: | ||
@@ -18,0 +18,0 @@ * If the file’s extension is `.css`. |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
317215
21
5603
8
284
+ Addedlodash.isboolean@^3.0.3
+ Addedlodash.isregexp@^4.0.1
+ Addedlodash.isstring@^4.0.1
+ Added@types/parse-json@4.0.2(transitive)
+ Addedansi-styles@4.3.0(transitive)
+ Addedcallsites@3.1.0(transitive)
+ Addedchalk@3.0.0(transitive)
+ Addedcolor-convert@2.0.1(transitive)
+ Addedcolor-name@1.1.4(transitive)
+ Addedcosmiconfig@6.0.0(transitive)
+ Addedhas-flag@4.0.0(transitive)
+ Addedimport-fresh@3.3.0(transitive)
+ Addedis-typedarray@1.0.0(transitive)
+ Addedjson-parse-even-better-errors@2.3.1(transitive)
+ Addedknown-css-properties@0.17.0(transitive)
+ Addedlines-and-columns@1.2.4(transitive)
+ Addedlodash.isboolean@3.0.3(transitive)
+ Addedlodash.isregexp@4.0.1(transitive)
+ Addedlodash.isstring@4.0.1(transitive)
+ Addedparent-module@1.0.1(transitive)
+ Addedparse-json@5.2.0(transitive)
+ Addedpath-type@4.0.0(transitive)
+ Addedresolve-from@4.0.0(transitive)
+ Addedstylelint@12.0.1(transitive)
+ Addedsupports-color@7.2.0(transitive)
+ Addedtypedarray-to-buffer@3.1.5(transitive)
+ Addedwrite-file-atomic@3.0.3(transitive)
+ Addedyaml@1.10.2(transitive)
- Removedlodash@^4.17.15
- Removedargparse@1.0.10(transitive)
- Removedcaller-callsite@2.0.0(transitive)
- Removedcaller-path@2.0.0(transitive)
- Removedcallsites@2.0.0(transitive)
- Removedcosmiconfig@5.2.1(transitive)
- Removedesprima@4.0.1(transitive)
- Removedimport-fresh@2.0.0(transitive)
- Removedis-directory@0.3.1(transitive)
- Removedjs-yaml@3.14.1(transitive)
- Removedknown-css-properties@0.16.0(transitive)
- Removedresolve-from@3.0.0(transitive)
- Removedsprintf-js@1.0.3(transitive)
- Removedstylelint@11.1.1(transitive)