notes/node_modules/stylelint-scss/src/rules/at-import-no-partial-extension
Patrick Marsceill b7b0d0d7bf
Initial commit
2017-03-09 13:16:08 -05:00
..
README.md Initial commit 2017-03-09 13:16:08 -05:00

README.md

at-import-no-partial-extension

Disallow file extensions in partial names in @import.

Deprecated. Use at-import-partial-extension-blacklist or at-import-partial-extension-whitelist instead

@import "path/to/file.scss"
/**                  ↑
 *       Disallow this */

The rule ignores cases when Sass considers an @import command just a plain CSS import:

  • If the files extension is .css.
  • If the filename begins with http:// (or any other protocol).
  • If the filename is a url().
  • If the @import has any media queries.

The following patterns are considered warnings:

@import "foo.scss";
@import "path/fff.less";
@import "path\\fff.supa";
@import "df/fff", '1.scss';

The following patterns are not considered warnings:

@import "path/fff";
@import url("path/_file.css"); /* has url(), so doesn't count as a partial @import */
@import "file.css"; /* Has ".css" extension, so doesn't count as a partial @import */
/* Both are URIs, so don't count as partial @imports */
@import "http://_file.scss";
@import "//_file.scss";
@import "file.scss" screen; /* Has a media query, so doesn't count as a partial @import */

Optional Options

ignoreExtensions: [ string or regexp ]

An array of extensions to ignore, elements don't need the dot at the start. If an element is a string, only extensions that match that string are ignored. If an element is a regular expression, then extensions are tested against it and ignored if the test is successful.

For example, with ignoreExtensions: [ "scss", /^my/ ] ], the following are no longer warnings:

@import "path/fff.scss";
@import "path/fff.my01";