Skip to content

Commit e9ef104

Browse files
committed
Fix: no-unpublished-* had been handling files of package.json with wrong way (fixes #23)
1 parent 0bb7ab6 commit e9ef104

File tree

4 files changed

+27
-2
lines changed

4 files changed

+27
-2
lines changed

lib/util/get-npmignore.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ var getPackageJson = require("./get-package-json");
2121
//------------------------------------------------------------------------------
2222

2323
var cache = new Cache();
24-
var TAIL_SLASH = /\/+$/;
24+
var SLASH_AT_BEGIN_END = /(?:^\/+|\/+$)/g;
2525
var PARENT_RELATIVE_PATH = /^\.\./;
2626
var NEVER_IGNORED = /^(?:readme\.[^\.]*|(?:licen[cs]e|changes|changelog|history)(?:\.[^\.]*)?)$/i;
2727

@@ -107,8 +107,9 @@ function parseWhiteList(files) {
107107
var file = files[i];
108108

109109
if (typeof file === "string") {
110+
file = "/" + file.replace(SLASH_AT_BEGIN_END, "");
110111
ignore.addPattern("!" + file);
111-
ignore.addPattern("!" + file.replace(TAIL_SLASH, "") + "/**");
112+
ignore.addPattern("!" + file + "/**");
112113
}
113114
}
114115

tests/fixtures/no-unpublished/3/src/pub/a.js

Whitespace-only changes.

tests/lib/rules/no-unpublished-import.js

+13
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,12 @@ ruleTester.run("no-unpublished-import", rule, {
124124
ecmaFeatures: {modules: true},
125125
parserOptions: {sourceType: "module"}
126126
},
127+
{
128+
filename: fixture("3/src/pub/test.js"),
129+
code: "import bbb from 'bbb';",
130+
ecmaFeatures: {modules: true},
131+
parserOptions: {sourceType: "module"}
132+
},
127133

128134
// `convertPath` option.
129135
{
@@ -246,6 +252,13 @@ ruleTester.run("no-unpublished-import", rule, {
246252
ecmaFeatures: {modules: true},
247253
parserOptions: {sourceType: "module"}
248254
},
255+
{
256+
filename: fixture("3/pub/test.js"),
257+
code: "import a from '../src/pub/a.js';",
258+
ecmaFeatures: {modules: true},
259+
parserOptions: {sourceType: "module"},
260+
errors: ["\"../src/pub/a.js\" is not published."]
261+
},
249262

250263
{
251264
filename: fixture("1/test.js"),

tests/lib/rules/no-unpublished-require.js

+11
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,11 @@ ruleTester.run("no-unpublished-require", rule, {
109109
code: "require('../package.json');",
110110
env: {node: true}
111111
},
112+
{
113+
filename: fixture("3/src/pub/test.js"),
114+
code: "require('bbb');",
115+
env: {node: true}
116+
},
112117

113118
// `convertPath` option.
114119
{
@@ -250,6 +255,12 @@ ruleTester.run("no-unpublished-require", rule, {
250255
env: {node: true},
251256
errors: ["\"../test\" is not published."]
252257
},
258+
{
259+
filename: fixture("3/pub/test.js"),
260+
code: "require('../src/pub/a.js');",
261+
env: {node: true},
262+
errors: ["\"../src/pub/a.js\" is not published."]
263+
},
253264

254265
{
255266
filename: fixture("1/test.js"),

0 commit comments

Comments
 (0)