diff --git a/src/cli-util.js b/src/cli-util.js index 2fd62ba7..b5e5e580 100644 --- a/src/cli-util.js +++ b/src/cli-util.js @@ -251,12 +251,8 @@ function eachFilename(argv, patterns, callback) { try { const filePaths = globby .sync(patterns, { dot: true }) - .map( - filePath => - path.isAbsolute(filePath) - ? path.relative(process.cwd(), filePath) - : filePath - ); + .map(filePath => path.relative(process.cwd(), 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-relative-path.js.snap b/tests_integration/__tests__/__snapshots__/ignore-relative-path.js.snap new file mode 100644 index 00000000..5940187b --- /dev/null +++ b/tests_integration/__tests__/__snapshots__/ignore-relative-path.js.snap @@ -0,0 +1,12 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`support relative paths (stderr) 1`] = `""`; + +exports[`support relative paths (stdout) 1`] = ` +"shouldNotBeIgnored.js +level1-glob/level2-glob/level3-glob/shouldNotBeIgnored.scss +level1-glob/shouldNotBeIgnored.js +" +`; + +exports[`support relative paths (write) 1`] = `Array []`; diff --git a/tests_integration/__tests__/__snapshots__/multiple-patterns.js.snap b/tests_integration/__tests__/__snapshots__/multiple-patterns.js.snap index c1f0bfe0..b9b3acb6 100644 --- a/tests_integration/__tests__/__snapshots__/multiple-patterns.js.snap +++ b/tests_integration/__tests__/__snapshots__/multiple-patterns.js.snap @@ -40,10 +40,10 @@ exports[`multiple patterns by with ignore pattern, ignores node_modules by defau exports[`multiple patterns by with ignore pattern, ignores node_modules by with ./**/*.js (stderr) 1`] = `""`; exports[`multiple patterns by with ignore pattern, ignores node_modules by with ./**/*.js (stdout) 1`] = ` -"./other-directory/file.js -./other-directory/nested-directory/nested-directory-file.js -./other-regular-modules.js -./regular-module.js +"other-directory/file.js +other-directory/nested-directory/nested-directory-file.js +other-regular-modules.js +regular-module.js " `; diff --git a/tests_integration/__tests__/__snapshots__/with-node-modules.js.snap b/tests_integration/__tests__/__snapshots__/with-node-modules.js.snap index a76fb42c..b4c0db2c 100644 --- a/tests_integration/__tests__/__snapshots__/with-node-modules.js.snap +++ b/tests_integration/__tests__/__snapshots__/with-node-modules.js.snap @@ -45,8 +45,8 @@ exports[`ignores node_modules by default for file list (write) 1`] = `Array []`; exports[`ignores node_modules by with ./**/*.js (stderr) 1`] = `""`; exports[`ignores node_modules by with ./**/*.js (stdout) 1`] = ` -"./not_node_modules/file.js -./regular-module.js +"not_node_modules/file.js +regular-module.js " `; diff --git a/tests_integration/__tests__/ignore-relative-path.js b/tests_integration/__tests__/ignore-relative-path.js new file mode 100644 index 00000000..f17bd317 --- /dev/null +++ b/tests_integration/__tests__/ignore-relative-path.js @@ -0,0 +1,16 @@ +"use strict"; + +const runPrettier = require("../runPrettier"); + +describe("support relative paths", () => { + runPrettier("cli/ignore-relative-path", [ + "./shouldNotBeIgnored.js", + "./level1/level2/level3/shouldNotBeFormat.js", + "level1-glob/level2-glob/level3-glob/shouldNotBeFormat.js", + "./level1-glob/level2-glob/level3-glob/shouldNotBeIgnored.scss", + "level1-glob/shouldNotBeIgnored.js", + "-l" + ]).test({ + status: 1 + }); +}); diff --git a/tests_integration/cli/ignore-relative-path/.prettierignore b/tests_integration/cli/ignore-relative-path/.prettierignore new file mode 100644 index 00000000..9b0906ab --- /dev/null +++ b/tests_integration/cli/ignore-relative-path/.prettierignore @@ -0,0 +1,2 @@ +level1/level2/ +level1-glob/**/level3-glob/*.js diff --git a/tests_integration/cli/ignore-relative-path/level1-glob/level2-glob/level3-glob/shouldNotBeFormat.js b/tests_integration/cli/ignore-relative-path/level1-glob/level2-glob/level3-glob/shouldNotBeFormat.js new file mode 100644 index 00000000..bfb31636 --- /dev/null +++ b/tests_integration/cli/ignore-relative-path/level1-glob/level2-glob/level3-glob/shouldNotBeFormat.js @@ -0,0 +1 @@ +var x = 'this should not be formatterd'; diff --git a/tests_integration/cli/ignore-relative-path/level1-glob/level2-glob/level3-glob/shouldNotBeIgnored.scss b/tests_integration/cli/ignore-relative-path/level1-glob/level2-glob/level3-glob/shouldNotBeIgnored.scss new file mode 100644 index 00000000..f375b172 --- /dev/null +++ b/tests_integration/cli/ignore-relative-path/level1-glob/level2-glob/level3-glob/shouldNotBeIgnored.scss @@ -0,0 +1 @@ +body { color: green } diff --git a/tests_integration/cli/ignore-relative-path/level1-glob/shouldNotBeIgnored.js b/tests_integration/cli/ignore-relative-path/level1-glob/shouldNotBeIgnored.js new file mode 100644 index 00000000..1be88ca7 --- /dev/null +++ b/tests_integration/cli/ignore-relative-path/level1-glob/shouldNotBeIgnored.js @@ -0,0 +1,2 @@ +var x = 'this should be formatterd'; + diff --git a/tests_integration/cli/ignore-relative-path/level1/level2/level3/shouldNotBeFormat.js b/tests_integration/cli/ignore-relative-path/level1/level2/level3/shouldNotBeFormat.js new file mode 100644 index 00000000..bfb31636 --- /dev/null +++ b/tests_integration/cli/ignore-relative-path/level1/level2/level3/shouldNotBeFormat.js @@ -0,0 +1 @@ +var x = 'this should not be formatterd'; diff --git a/tests_integration/cli/ignore-relative-path/shouldNotBeIgnored.js b/tests_integration/cli/ignore-relative-path/shouldNotBeIgnored.js new file mode 100644 index 00000000..1be88ca7 --- /dev/null +++ b/tests_integration/cli/ignore-relative-path/shouldNotBeIgnored.js @@ -0,0 +1,2 @@ +var x = 'this should be formatterd'; +