Détail du package

stylelint-sass-render-errors

niksy4.7kMIT4.1.2

Display Sass render errors and deprecations as lint errors.

stylelint, sass, render, error

readme

stylelint-sass-render-errors

Build Status

Display Sass render errors and deprecations as lint errors.

Implementation details:

  • Sass deprecations are treated same as errors since Sass tries to move language forward and each deprecation should be corrected as soon as possible in your codebase
  • Plugin operates on each file in isolation so if you have global @import statements, they won’t be applied and you could get errors for e.g. undefined variables. Recommendation is to switch to Sass modules and @use/@forward statements
  • Sass (only Dart Sass is supported) should be installed as peer dependancy because each version has different set of errors and deprecations and you should get results for Sass version your application uses

Install

npm install stylelint-sass-render-errors --save-dev

Usage

Add this config to your .stylelintrc:

{
    "plugins": ["stylelint-sass-render-errors"],
    "rules": {
        "plugin/sass-render-errors": true
    }
}
@use 'sass:color';
@use 'sass:math';

.becky {
    color: color.invert(1);
/**        ↑
 * Passing a number (1) to color.invert() is deprecated. Recommendation: invert(1). */
}

#marley {
    width: math.percentage(100 / 2);
/**                        ↑
 * Using / for division is deprecated and will be removed in Dart Sass 2.0.0. Recommendation: math.div(100, 2). More info and automated migrator: https://sass-lang.com/d/slash-div. */
}

Options

Plugin accepts either boolean (true) or object configuration.

If boolean, it will use default configuration:

  • sass.render for rendering Sass files and resolving errors and deprecations
  • Undefined functions are not checked
  • No options for Sass renderer other than file if file is linted or data if CSS string is linted

If object configuration, following properties are valid:

sync

Type: boolean
Default: false

Rendering mode for Sass render. Can be either false for sass.compileAsync and sass.compileStringAsync or true for sass.compile and sass.compileString.

sassOptions

Type: string|sass.Options|sass.StringOptions

If object, it is either sass.Options or sass.StringOptions.

If string, it is config file location which returns one of the following default exports:

  • Sass options object
  • Async or regular function returning Sass options object

Config file location is resolved relatively from the closest package.json location inside current working directory.

checkUndefinedFunctions

Type: boolean
Default: false

Check undefined functions.

disallowedKnownCssFunctions

Type: string[]
Default: []

List of disallowed known CSS functions.

additionalKnownCssFunctions

Type: string[]
Default: []

List of additional known CSS functions.

License

MIT © Ivan Nikolić

changelog

Changelog

Unreleased

4.1.2 - 2025-03-21

Changed

  • Force latest sass-render-errors version

4.1.1 - 2025-03-21

Fixed

  • Pass entry point URL as starting point for relative imports

4.1.0 - 2024-08-23

  • Pass file information to Sass configuration
  • Update tests

4.0.2 - 2024-08-23

  • Update Sass import identifier

4.0.1 - 2024-04-21

  • Update types referencing

4.0.0 - 2024-04-18

Changed

  • Use new Sass API
  • Use new logger JS API for simpler deprecation parsing

Removed

  • CommonJS support, only ESM is supported
  • Node 10 support, lowest version is 18.12
  • Legacy Sass support, lowest version is 1.75

3.2.1 - 2024-02-26

Changed

  • Allow Stylelint 16 as peer dependancy

3.2.0 - 2023-09-25

Added

  • Add support for additional known CSS functions

3.1.0 - 2023-08-24

Changed

  • Allow Stylelint 15 as peer dependancy
  • Use pure ESM as default
  • Upgrade package

3.0.2 - 2023-07-23

Fixed

  • Calculate proper offset for non-CSS starting line (#3)

3.0.1 - 2023-05-01

Changed

  • Bump package version to fetch related Sass dependencies
  • Update types

3.0.0 - 2021-10-26

Changed

  • Breaking: Supports Node >= 12
  • Breaking: Supports Stylelint >= 14
  • Upgrade package

2.1.0 - 2021-09-30

Added

  • Support for disallowed known CSS functions

2.0.1 - 2021-09-09

Changed

  • Return unique collection of errors

2.0.0 - 2021-09-08

Changed

  • Rename renderMode to sync

1.1.0 - 2021-09-06

Added

  • Support for checking undefined functions

Fixed

  • Get closest node with error
  • Handle standard input

1.0.0 - 2021-09-01

Added

  • Initial implementation
https://github.com/niksy/stylelint-sass-render-errors/compare/v3.2.0...HEAD