From df5482008ef97ce9172557e1ea200997aaeb3f39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=95=BF=E5=A4=A9=E4=B9=8B=E4=BA=91?= Date: Mon, 11 Sep 2017 00:21:56 +0800 Subject: [PATCH] fix(prettierignore): support absolute filename (#2783) --- src/cli-util.js | 9 ++++++++- .../__snapshots__/ignore-absolute-path.js.snap | 6 ++++++ .../__tests__/ignore-absolute-path.js | 16 ++++++++++++++++ .../cli/ignore-absolute-path/.prettierignore | 2 ++ .../depth1/ignored/module.js | 1 + .../cli/ignore-absolute-path/ignored/module.js | 1 + .../cli/ignore-absolute-path/regular-module.js | 1 + 7 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 tests_integration/__tests__/__snapshots__/ignore-absolute-path.js.snap create mode 100644 tests_integration/__tests__/ignore-absolute-path.js create mode 100644 tests_integration/cli/ignore-absolute-path/.prettierignore create mode 100644 tests_integration/cli/ignore-absolute-path/depth1/ignored/module.js create mode 100644 tests_integration/cli/ignore-absolute-path/ignored/module.js create mode 100644 tests_integration/cli/ignore-absolute-path/regular-module.js diff --git a/src/cli-util.js b/src/cli-util.js index 201d1617..3fd50001 100644 --- a/src/cli-util.js +++ b/src/cli-util.js @@ -292,7 +292,14 @@ function eachFilename(argv, patterns, callback) { } try { - const filePaths = globby.sync(patterns, { dot: true }); + const filePaths = globby + .sync(patterns, { dot: true }) + .map( + filePath => + path.isAbsolute(filePath) + ? path.relative(process.cwd(), filePath) + : filePath + ); if (filePaths.length === 0) { console.error(`No matching files. Patterns tried: ${patterns.join(" ")}`); process.exitCode = 2; diff --git a/tests_integration/__tests__/__snapshots__/ignore-absolute-path.js.snap b/tests_integration/__tests__/__snapshots__/ignore-absolute-path.js.snap new file mode 100644 index 00000000..a396d0f8 --- /dev/null +++ b/tests_integration/__tests__/__snapshots__/ignore-absolute-path.js.snap @@ -0,0 +1,6 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`support absolute filename 1`] = ` +"regular-module.js +" +`; diff --git a/tests_integration/__tests__/ignore-absolute-path.js b/tests_integration/__tests__/ignore-absolute-path.js new file mode 100644 index 00000000..8e46de3f --- /dev/null +++ b/tests_integration/__tests__/ignore-absolute-path.js @@ -0,0 +1,16 @@ +"use strict"; + +const path = require("path"); +const runPrettier = require("../runPrettier"); + +test("support absolute filename", () => { + const result = runPrettier("cli/ignore-absolute-path", [ + path.resolve(__dirname, "../cli/ignore-absolute-path/ignored/module.js"), + path.resolve(__dirname, "../cli/ignore-absolute-path/depth1/ignored/*.js"), + path.resolve(__dirname, "../cli/ignore-absolute-path/regular-module.js"), + "-l" + ]); + + expect(result.stdout).toMatchSnapshot(); + expect(result.status).toEqual(1); +}); diff --git a/tests_integration/cli/ignore-absolute-path/.prettierignore b/tests_integration/cli/ignore-absolute-path/.prettierignore new file mode 100644 index 00000000..c51aa823 --- /dev/null +++ b/tests_integration/cli/ignore-absolute-path/.prettierignore @@ -0,0 +1,2 @@ +/ignored/ +depth1/ignored/ diff --git a/tests_integration/cli/ignore-absolute-path/depth1/ignored/module.js b/tests_integration/cli/ignore-absolute-path/depth1/ignored/module.js new file mode 100644 index 00000000..ad9a93a7 --- /dev/null +++ b/tests_integration/cli/ignore-absolute-path/depth1/ignored/module.js @@ -0,0 +1 @@ +'use strict'; diff --git a/tests_integration/cli/ignore-absolute-path/ignored/module.js b/tests_integration/cli/ignore-absolute-path/ignored/module.js new file mode 100644 index 00000000..ad9a93a7 --- /dev/null +++ b/tests_integration/cli/ignore-absolute-path/ignored/module.js @@ -0,0 +1 @@ +'use strict'; diff --git a/tests_integration/cli/ignore-absolute-path/regular-module.js b/tests_integration/cli/ignore-absolute-path/regular-module.js new file mode 100644 index 00000000..ad9a93a7 --- /dev/null +++ b/tests_integration/cli/ignore-absolute-path/regular-module.js @@ -0,0 +1 @@ +'use strict';