From e2fc48242905e1a4c1c5a7715ce4c2a541f98cb7 Mon Sep 17 00:00:00 2001 From: Toru Nagashima Date: Fri, 4 Jan 2019 23:49:58 +0900 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix=20no-unpublished-bin=20false?= =?UTF-8?q?=20positive=20(fixes=20#115)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/util/get-npmignore.js | 5 ++--- tests/fixtures/no-unpublished-bin/issue115/package.json | 7 +++++++ tests/lib/rules/no-unpublished-bin.js | 4 ++++ 3 files changed, 13 insertions(+), 3 deletions(-) create mode 100644 tests/fixtures/no-unpublished-bin/issue115/package.json diff --git a/lib/util/get-npmignore.js b/lib/util/get-npmignore.js index 9940e3f8..d19a8f4e 100644 --- a/lib/util/get-npmignore.js +++ b/lib/util/get-npmignore.js @@ -84,18 +84,17 @@ function parseWhiteList(files) { } const ig = ignore() - ig.add("*") for (const file of files) { if (typeof file === "string" && file) { - const prefix = file.startsWith("!") ? "" : "!" + const prefix = file.startsWith("!") ? "!" : "" const body = file.replace(SLASH_AT_BEGIN_AND_END, "") ig.add(`${prefix}/${body}`) ig.add(`${prefix}/${body}/**`) } } - return not(ig.createFilter()) + return ig.createFilter() } /** diff --git a/tests/fixtures/no-unpublished-bin/issue115/package.json b/tests/fixtures/no-unpublished-bin/issue115/package.json new file mode 100644 index 00000000..bde8504a --- /dev/null +++ b/tests/fixtures/no-unpublished-bin/issue115/package.json @@ -0,0 +1,7 @@ +{ + "private": true, + "name": "test", + "version": "1.0.0", + "bin": {"a": "lib/a.js"}, + "files": ["lib/a.js"] +} diff --git a/tests/lib/rules/no-unpublished-bin.js b/tests/lib/rules/no-unpublished-bin.js index 9d7204bd..0f10bd35 100644 --- a/tests/lib/rules/no-unpublished-bin.js +++ b/tests/lib/rules/no-unpublished-bin.js @@ -63,6 +63,10 @@ new RuleTester().run("no-unpublished-bin", rule, { code: "'multi-npmignore/lib/a.js'", filename: fixture("multi-npmignore/lib/a.js"), }, + { + code: "'issue115/lib/a.js'", + filename: fixture("issue115/lib/a.js"), + }, // empty name "'stdin'",