Socket
Socket
Sign inDemoInstall

stylelint-scss

Package Overview
Dependencies
Maintainers
1
Versions
109
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

stylelint-scss - npm Package Compare versions

Comparing version 1.0.0 to 1.1.0

dist/rules/at-import-no-partial-extension/index.js

9

CHANGELOG.md

@@ -1,3 +0,10 @@

# Head
# 1.1.0
- Added: `at-mixin-no-argumentless-call-parentheses` rule.
- Added: `at-import-no-partial-leading-underscore` rule.
- Added: `at-import-no-partial-extension` rule.
- Added: `percent-placeholder-pattern` rule.
- Fixed: `selector-no-redundant-nesting-selector` no longer warns about BEM syntax.
- Fixed: bug causing rules to ignore severity levels `warning` / `error` and report `ignore` instead.
# 1.0.0

@@ -4,0 +11,0 @@

6

dist/index.js

@@ -9,2 +9,4 @@ "use strict";

var _utils = require("./utils");
var _rules = require("./rules");

@@ -16,8 +18,6 @@

var namespace = "scss";
var rulesPlugins = Object.keys(_rules2.default).map(function (ruleName) {
return (0, _stylelint.createPlugin)(namespace + "/" + ruleName, _rules2.default[ruleName]);
return (0, _stylelint.createPlugin)((0, _utils.namespace)(ruleName), _rules2.default[ruleName]);
});
exports.default = rulesPlugins;

@@ -33,6 +33,8 @@ "use strict";

var ruleName = exports.ruleName = "at-extend-no-missing-placeholder";
var _utils = require("../../utils");
var ruleName = exports.ruleName = (0, _utils.namespace)("at-extend-no-missing-placeholder");
var messages = exports.messages = _stylelint.utils.ruleMessages(ruleName, {
rejected: "Expected a placeholder selector (e.g. %placeholder) to be used in @extend"
});

@@ -45,6 +45,8 @@ "use strict";

var ruleName = exports.ruleName = "at-function-pattern";
var _utils = require("../../utils");
var ruleName = exports.ruleName = (0, _utils.namespace)("at-function-pattern");
var messages = exports.messages = _stylelint.utils.ruleMessages(ruleName, {
expected: "Expected @function name to match specified pattern"
});

@@ -45,6 +45,8 @@ "use strict";

var ruleName = exports.ruleName = "at-mixin-pattern";
var _utils = require("../../utils");
var ruleName = exports.ruleName = (0, _utils.namespace)("at-mixin-pattern");
var messages = exports.messages = _stylelint.utils.ruleMessages(ruleName, {
expected: "Expected @mixin name to match specified pattern"
});

@@ -95,2 +95,4 @@ "use strict";

var _utils = require("../../utils");
var _postcssValueParser = require("postcss-value-parser");

@@ -102,3 +104,3 @@

var ruleName = exports.ruleName = "dollar-variable-no-missing-interpolation";
var ruleName = exports.ruleName = (0, _utils.namespace)("dollar-variable-no-missing-interpolation");

@@ -105,0 +107,0 @@ var messages = exports.messages = _stylelint.utils.ruleMessages(ruleName, {

@@ -44,6 +44,8 @@ "use strict";

var ruleName = exports.ruleName = "dollar-variable-pattern";
var _utils = require("../../utils");
var ruleName = exports.ruleName = (0, _utils.namespace)("dollar-variable-pattern");
var messages = exports.messages = _stylelint.utils.ruleMessages(ruleName, {
expected: "Expected $ variable name to match specified pattern"
});

@@ -15,2 +15,14 @@ "use strict";

var _atImportNoPartialExtension = require("./at-import-no-partial-extension");
var _atImportNoPartialExtension2 = _interopRequireDefault(_atImportNoPartialExtension);
var _atImportNoPartialLeadingUnderscore = require("./at-import-no-partial-leading-underscore");
var _atImportNoPartialLeadingUnderscore2 = _interopRequireDefault(_atImportNoPartialLeadingUnderscore);
var _atMixinNoArgumentlessCallParentheses = require("./at-mixin-no-argumentless-call-parentheses");
var _atMixinNoArgumentlessCallParentheses2 = _interopRequireDefault(_atMixinNoArgumentlessCallParentheses);
var _atMixinPattern = require("./at-mixin-pattern");

@@ -28,2 +40,6 @@

var _percentPlaceholderPattern = require("./percent-placeholder-pattern");
var _percentPlaceholderPattern2 = _interopRequireDefault(_percentPlaceholderPattern);
var _selectorNoRedundantNestingSelector = require("./selector-no-redundant-nesting-selector");

@@ -38,6 +54,10 @@

"at-function-pattern": _atFunctionPattern2.default,
"at-import-no-partial-extension": _atImportNoPartialExtension2.default,
"at-import-no-partial-leading-underscore": _atImportNoPartialLeadingUnderscore2.default,
"at-mixin-no-argumentless-call-parentheses": _atMixinNoArgumentlessCallParentheses2.default,
"at-mixin-pattern": _atMixinPattern2.default,
"dollar-variable-no-missing-interpolation": _dollarVariableNoMissingInterpolation2.default,
"dollar-variable-pattern": _dollarVariablePattern2.default,
"percent-placeholder-pattern": _percentPlaceholderPattern2.default,
"selector-no-redundant-nesting-selector": _selectorNoRedundantNestingSelector2.default
};

@@ -15,6 +15,9 @@ "use strict";

root.walkRules(function (rule) {
var unnecessaryAmpersandRegex = /^&(\s+)?>?(\s+)?(\w+|\s\.)/;
root.walkRules(/&/, function (rule) {
var selector = rule.selector;
if (rule.selector.trim() === "&" || unnecessaryAmpersandRegex.test(rule.selector.trim())) {
var combinatorRegex = /^&\s*(>|\+|~)\s*\.*[a-zA-Z]+/;
var classOrElementRegex = /^&\s+\.*[a-zA-Z]+/;
if (selector === "&" || classOrElementRegex.test(selector) || combinatorRegex.test(selector)) {
_stylelint.utils.report({

@@ -33,6 +36,8 @@ ruleName: ruleName,

var ruleName = exports.ruleName = "selector-no-redundant-nesting-selector";
var _utils = require("../../utils");
var ruleName = exports.ruleName = (0, _utils.namespace)("selector-no-redundant-nesting-selector");
var messages = exports.messages = _stylelint.utils.ruleMessages(ruleName, {
rejected: "Unnecessary nesting selector (&)"
});
{
"name": "stylelint-scss",
"description": "A collection of SCSS specific rules for stylelint",
"version": "1.0.0",
"version": "1.1.0",
"author": "Krister Kari",

@@ -16,4 +16,6 @@ "babel": {

"lodash": "^4.11.1",
"postcss-resolve-nested-selector": "^0.1.1",
"postcss-selector-parser": "^2.0.0",
"postcss-value-parser": "^3.3.0",
"stylelint": "^6.3.0"
"stylelint": "6.3.3"
},

@@ -28,4 +30,7 @@ "devDependencies": {

"postcss-scss": "^0.1.7",
"replace": "^0.3.0",
"request": "^2.72.0",
"rimraf": "^2.5.2",
"stylelint-rule-tester": "^0.6.2",
"semver": "^5.1.0",
"stylelint-test-rule-tape": "^0.2.0",
"tape": "^4.5.1"

@@ -54,3 +59,4 @@ },

"linter",
"stylelint"
"stylelint",
"stylelint-plugin"
],

@@ -64,2 +70,3 @@ "license": "MIT",

"scripts": {
"milestone": "node scripts/update-milestone.js",
"prebuild": "rimraf dist",

@@ -66,0 +73,0 @@ "build": "babel src --out-dir dist",

import { createPlugin } from "stylelint"
import { namespace } from "./utils"
import rules from "./rules"
const namespace = "scss"
const rulesPlugins = Object.keys(rules).map(ruleName => {
return createPlugin(`${namespace}/${ruleName}`, rules[ruleName])
return createPlugin(namespace(ruleName), rules[ruleName])
})
export default rulesPlugins
import { utils } from "stylelint"
import { namespace } from "../../utils"
export const ruleName = "at-extend-no-missing-placeholder"
export const ruleName = namespace("at-extend-no-missing-placeholder")

@@ -5,0 +6,0 @@ export const messages = utils.ruleMessages(ruleName, {

import { isRegExp, isString } from "lodash"
import { utils } from "stylelint"
import { namespace } from "../../utils"
export const ruleName = "at-function-pattern"
export const ruleName = namespace("at-function-pattern")

@@ -6,0 +7,0 @@ export const messages = utils.ruleMessages(ruleName, {

import { isRegExp, isString } from "lodash"
import { utils } from "stylelint"
import { namespace } from "../../utils"
export const ruleName = "at-mixin-pattern"
export const ruleName = namespace("at-mixin-pattern")

@@ -6,0 +7,0 @@ export const messages = utils.ruleMessages(ruleName, {

import { utils } from "stylelint"
import { namespace } from "../../utils"
import valueParser from "postcss-value-parser"
export const ruleName = "dollar-variable-no-missing-interpolation"
export const ruleName = namespace("dollar-variable-no-missing-interpolation")

@@ -6,0 +7,0 @@ export const messages = utils.ruleMessages(ruleName, {

import { isRegExp, isString } from "lodash"
import { utils } from "stylelint"
import { namespace } from "../../utils"
export const ruleName = "dollar-variable-pattern"
export const ruleName = namespace("dollar-variable-pattern")

@@ -6,0 +7,0 @@ export const messages = utils.ruleMessages(ruleName, {

import atExtendNoMissingPlaceholder from "./at-extend-no-missing-placeholder"
import atFunctionPattern from "./at-function-pattern"
import atImportNoPartialExtension from "./at-import-no-partial-extension"
import atImportNoPartialLeadingUnderscore from "./at-import-no-partial-leading-underscore"
import atMixinNoArgumentlessCallParentheses from "./at-mixin-no-argumentless-call-parentheses"
import atMixinPattern from "./at-mixin-pattern"
import dollarVariableNoMissingInterpolation from "./dollar-variable-no-missing-interpolation"
import dollarVariablePattern from "./dollar-variable-pattern"
import percentPlaceholderPattern from "./percent-placeholder-pattern"
import selectorNoRedundantNestingSelector from "./selector-no-redundant-nesting-selector"

@@ -11,6 +15,10 @@

"at-function-pattern": atFunctionPattern,
"at-import-no-partial-extension": atImportNoPartialExtension,
"at-import-no-partial-leading-underscore": atImportNoPartialLeadingUnderscore,
"at-mixin-no-argumentless-call-parentheses": atMixinNoArgumentlessCallParentheses,
"at-mixin-pattern": atMixinPattern,
"dollar-variable-no-missing-interpolation": dollarVariableNoMissingInterpolation,
"dollar-variable-pattern": dollarVariablePattern,
"percent-placeholder-pattern": percentPlaceholderPattern,
"selector-no-redundant-nesting-selector": selectorNoRedundantNestingSelector,
}
import { utils } from "stylelint"
import { namespace } from "../../utils"
export const ruleName = "selector-no-redundant-nesting-selector"
export const ruleName = namespace("selector-no-redundant-nesting-selector")

@@ -14,6 +15,8 @@ export const messages = utils.ruleMessages(ruleName, {

root.walkRules(rule => {
const unnecessaryAmpersandRegex = /^&(\s+)?>?(\s+)?(\w+|\s\.)/
root.walkRules(/&/, rule => {
const { selector } = rule
const combinatorRegex = /^&\s*(>|\+|~)\s*\.*[a-zA-Z]+/
const classOrElementRegex = /^&\s+\.*[a-zA-Z]+/
if (rule.selector.trim() === "&" || unnecessaryAmpersandRegex.test(rule.selector.trim())) {
if (selector === "&" || classOrElementRegex.test(selector) || combinatorRegex.test(selector)) {
utils.report({

@@ -20,0 +23,0 @@ ruleName,

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc