Skip to content

Commit af4c205

Browse files
Allow dots in bin names (#7811)
* Fixed bin regex * Removed unsupported by Windows colon from bin regex * Updated normalize-manifest tests * Update fix.js * Update actual.json * Update normalize-manifest.js.snap Co-authored-by: Maël Nison <[email protected]>
1 parent 1b334e6 commit af4c205

File tree

4 files changed

+20
-11
lines changed

4 files changed

+20
-11
lines changed

__tests__/__snapshots__/normalize-manifest.js.snap

+3
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,12 @@ Array [
6262

6363
exports[`dangerous bin name: dangerous bin name 1`] = `
6464
Array [
65+
"foo: Invalid bin entry for \\".\\" (in \\"foo\\").",
66+
"foo: Invalid bin entry for \\"..\\" (in \\"foo\\").",
6567
"foo: Invalid bin entry for \\"/tmp/foo\\" (in \\"foo\\").",
6668
"foo: Invalid bin entry for \\"../tmp/foo\\" (in \\"foo\\").",
6769
"foo: Invalid bin entry for \\"tmp/../../foo\\" (in \\"foo\\").",
70+
"foo: Invalid bin entry for \\"build:cli\\" (in \\"foo\\").",
6871
"foo: No license field",
6972
]
7073
`;
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
{
2-
"name": "foo",
3-
"version": "",
4-
"bin": {
5-
"/tmp/foo": "main.js",
6-
"../tmp/foo": "main.js",
7-
"tmp/../../foo": "main.js"
8-
}
2+
"name": "foo",
3+
"version": "",
4+
"bin": {
5+
".": "main.js",
6+
"..": "main.js",
7+
"/tmp/foo": "main.js",
8+
"../tmp/foo": "main.js",
9+
"tmp/../../foo": "main.js",
10+
"build:cli": "main.js",
11+
"build.cli": "main.js"
12+
}
913
}
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
{
2-
"name": "foo",
3-
"version": "",
4-
"bin": {}
2+
"name": "foo",
3+
"version": "",
4+
"bin": {
5+
"build.cli": "main.js"
6+
}
57
}

src/util/normalize-manifest/fix.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ const semver = require('semver');
1212
const path = require('path');
1313
const url = require('url');
1414

15-
const VALID_BIN_KEYS = /^[a-z0-9_-]+$/i;
15+
const VALID_BIN_KEYS = /^(?!\.{0,2}$)[a-z0-9._-]+$/i;
1616

1717
const LICENSE_RENAMES: {[key: string]: ?string} = {
1818
'MIT/X11': 'MIT',

0 commit comments

Comments
 (0)