Skip to content

Commit

Permalink
Update ignore to version 5.0.4 (#3773)
Browse files Browse the repository at this point in the history
  • Loading branch information
hudochenkov committed Nov 5, 2018
1 parent a9a68dd commit 0c801e7
Show file tree
Hide file tree
Showing 10 changed files with 69 additions and 8 deletions.
4 changes: 2 additions & 2 deletions lib/__tests__/stylelintignore-test/.stylelintignore
@@ -1,4 +1,4 @@
# Paths are resolved absolutely to this directory

../fixtures/*.css
!../fixtures/invalid-hex.css
fixtures/*.css
!fixtures/invalid-hex.css
@@ -0,0 +1,5 @@
{
"rules": {
"block-no-empty": true
}
}
@@ -0,0 +1,5 @@
{
"rules": {
"color-no-invalid-hex": true
}
}
9 changes: 9 additions & 0 deletions lib/__tests__/stylelintignore-test/fixtures/empty-block.css
@@ -0,0 +1,9 @@
.foo {
color: pink;
}

.bar {}

.baz {
background: orange;
}
3 changes: 3 additions & 0 deletions lib/__tests__/stylelintignore-test/fixtures/invalid-hex.css
@@ -0,0 +1,3 @@
a {
color: #zzzzzz;
}
4 changes: 2 additions & 2 deletions lib/__tests__/stylelintignore-test/stylelintignore.test.js
Expand Up @@ -6,11 +6,11 @@ const standalone = require("../../standalone");
describe("stylelintignore", () => {
let actualCwd;
let results;
const fixturesPath = path.join(__dirname, "../fixtures");
const fixturesPath = path.join(__dirname, "./fixtures");

beforeEach(() => {
actualCwd = process.cwd();
process.chdir(__dirname, "../fixtures");
process.chdir(__dirname);
});

afterEach(() => {
Expand Down
9 changes: 6 additions & 3 deletions lib/standalone.js
Expand Up @@ -6,6 +6,7 @@ const createStylelint = require("./createStylelint");
const createStylelintResult = require("./createStylelintResult");
const debug = require("debug")("stylelint:standalone");
const FileCache = require("./utils/FileCache");
const filterFilePaths = require("./utils/filterFilePaths");
const formatters = require("./formatters");
const fs = require("fs");
const getFormatterOptionsText = require("./utils/getFormatterOptionsText");
Expand Down Expand Up @@ -145,8 +146,9 @@ module.exports = function(
// if file is ignored, return nothing
if (
absoluteCodeFilename &&
!ignorer.filter(path.relative(process.cwd(), absoluteCodeFilename))
.length
!filterFilePaths(ignorer, [
path.relative(process.cwd(), absoluteCodeFilename)
]).length
) {
return prepareReturnValue([]);
}
Expand Down Expand Up @@ -190,7 +192,8 @@ module.exports = function(
return globby(fileList, globbyOptions)
.then(filePaths => {
// The ignorer filter needs to check paths relative to cwd
filePaths = ignorer.filter(
filePaths = filterFilePaths(
ignorer,
filePaths.map(p => path.relative(process.cwd(), p))
);

Expand Down
20 changes: 20 additions & 0 deletions lib/utils/__tests__/filterFilePaths.test.js
@@ -0,0 +1,20 @@
"use strict";

const filterFilePaths = require("../filterFilePaths");
const ignore = require("ignore");

describe("filterFilePaths", () => {
it("empty ignorefile", () => {
const ignorer = ignore().add("");
const files = ["a.css", "b/c/d.css", "e/f.css", "../w.css"];

expect(filterFilePaths(ignorer, files)).toEqual(files);
});

it("ignore some files", () => {
const ignorer = ignore().add("*.css\n!e/f.css");
const files = ["a.css", "b/c/d.css", "e/f.css", "../w.css"];

expect(filterFilePaths(ignorer, files)).toEqual(["e/f.css", "../w.css"]);
});
});
16 changes: 16 additions & 0 deletions lib/utils/filterFilePaths.js
@@ -0,0 +1,16 @@
"use strict";

const { isPathValid } = require("ignore").default;

module.exports = function filterFilePaths(ignorer, filePaths) {
const validForIgnore = filePaths.filter(isPathValid);
// Paths which starts with `..` are not valid for `ignore`, e. g. `../style.css`
const notValidForIgnore = filePaths.filter(p => !validForIgnore.includes(p));

const filteredByIgnore = ignorer.filter(validForIgnore);

// Preserving files order, while removing paths which were filtered by `ignore`
return filePaths.filter(
p => notValidForIgnore.includes(p) || filteredByIgnore.includes(p)
);
};
2 changes: 1 addition & 1 deletion package.json
Expand Up @@ -51,7 +51,7 @@
"globby": "^8.0.0",
"globjoin": "^0.1.4",
"html-tags": "^2.0.0",
"ignore": "^4.0.0",
"ignore": "^5.0.4",
"import-lazy": "^3.1.0",
"imurmurhash": "^0.1.4",
"known-css-properties": "^0.9.0",
Expand Down

0 comments on commit 0c801e7

Please sign in to comment.