From 14c76dea6586f0f3052d876ed50f8001138b1d22 Mon Sep 17 00:00:00 2001 From: Guy Bedford Date: Tue, 20 Apr 2021 19:16:56 +0200 Subject: [PATCH] Revert "Don't allow `:` in file names. (#3972)" This reverts commit 85304f2c3cdd476b73e91af21855eece5bc94ee0. --- src/utils/sanitizeFileName.ts | 7 +------ test/chunking-form/samples/sanitize-chunk-names/_config.js | 2 +- .../sanitize-chunk-names/_expected/amd/_virtual-entry-1.js | 7 +++++++ .../sanitize-chunk-names/_expected/amd/_virtual-entry-2.js | 7 +++++++ .../sanitize-chunk-names/_expected/amd/_virtual_entry-1.js | 7 ------- .../sanitize-chunk-names/_expected/amd/_virtual_entry-2.js | 7 ------- .../sanitize-chunk-names/_expected/cjs/_virtual-entry-1.js | 5 +++++ .../sanitize-chunk-names/_expected/cjs/_virtual-entry-2.js | 5 +++++ .../sanitize-chunk-names/_expected/cjs/_virtual_entry-1.js | 5 ----- .../sanitize-chunk-names/_expected/cjs/_virtual_entry-2.js | 5 ----- .../sanitize-chunk-names/_expected/es/_virtual-entry-1.js | 3 +++ .../sanitize-chunk-names/_expected/es/_virtual-entry-2.js | 3 +++ .../sanitize-chunk-names/_expected/es/_virtual_entry-1.js | 3 --- .../sanitize-chunk-names/_expected/es/_virtual_entry-2.js | 3 --- .../system/{_virtual_entry-1.js => _virtual-entry-1.js} | 2 +- .../system/{_virtual_entry-2.js => _virtual-entry-2.js} | 2 +- 16 files changed, 34 insertions(+), 39 deletions(-) create mode 100644 test/chunking-form/samples/sanitize-chunk-names/_expected/amd/_virtual-entry-1.js create mode 100644 test/chunking-form/samples/sanitize-chunk-names/_expected/amd/_virtual-entry-2.js delete mode 100644 test/chunking-form/samples/sanitize-chunk-names/_expected/amd/_virtual_entry-1.js delete mode 100644 test/chunking-form/samples/sanitize-chunk-names/_expected/amd/_virtual_entry-2.js create mode 100644 test/chunking-form/samples/sanitize-chunk-names/_expected/cjs/_virtual-entry-1.js create mode 100644 test/chunking-form/samples/sanitize-chunk-names/_expected/cjs/_virtual-entry-2.js delete mode 100644 test/chunking-form/samples/sanitize-chunk-names/_expected/cjs/_virtual_entry-1.js delete mode 100644 test/chunking-form/samples/sanitize-chunk-names/_expected/cjs/_virtual_entry-2.js create mode 100644 test/chunking-form/samples/sanitize-chunk-names/_expected/es/_virtual-entry-1.js create mode 100644 test/chunking-form/samples/sanitize-chunk-names/_expected/es/_virtual-entry-2.js delete mode 100644 test/chunking-form/samples/sanitize-chunk-names/_expected/es/_virtual_entry-1.js delete mode 100644 test/chunking-form/samples/sanitize-chunk-names/_expected/es/_virtual_entry-2.js rename test/chunking-form/samples/sanitize-chunk-names/_expected/system/{_virtual_entry-1.js => _virtual-entry-1.js} (60%) rename test/chunking-form/samples/sanitize-chunk-names/_expected/system/{_virtual_entry-2.js => _virtual-entry-2.js} (60%) diff --git a/src/utils/sanitizeFileName.ts b/src/utils/sanitizeFileName.ts index 14ceb33e2d1..b38e8681ea9 100644 --- a/src/utils/sanitizeFileName.ts +++ b/src/utils/sanitizeFileName.ts @@ -1,8 +1,3 @@ export function sanitizeFileName(name: string): string { - const match = /^[a-z]:/i.exec(name); - const driveLetter = match ? match[0] : ""; - - // A `:` is only allowed as part of a windows drive letter (ex: C:\foo) - // Otherwise, avoid them because they can refer to NTFS alternate data streams. - return driveLetter + name.substr(driveLetter.length).replace(/[\0?*:]/g, '_'); + return name.replace(/[\0?*]/g, '_'); } diff --git a/test/chunking-form/samples/sanitize-chunk-names/_config.js b/test/chunking-form/samples/sanitize-chunk-names/_config.js index ef6faaae57c..66b25abfdbb 100644 --- a/test/chunking-form/samples/sanitize-chunk-names/_config.js +++ b/test/chunking-form/samples/sanitize-chunk-names/_config.js @@ -5,7 +5,7 @@ module.exports = { plugins: [ { options(options) { - options.input = ['\0virtual:entry-1', '\0virtual:entry-2']; + options.input = ['\0virtual-entry-1', '\0virtual-entry-2']; return options; }, resolveId(id) { diff --git a/test/chunking-form/samples/sanitize-chunk-names/_expected/amd/_virtual-entry-1.js b/test/chunking-form/samples/sanitize-chunk-names/_expected/amd/_virtual-entry-1.js new file mode 100644 index 00000000000..23620df2e74 --- /dev/null +++ b/test/chunking-form/samples/sanitize-chunk-names/_expected/amd/_virtual-entry-1.js @@ -0,0 +1,7 @@ +define(function () { 'use strict'; + + var _virtualEntry1 = "\u0000virtual-entry-1"; + + return _virtualEntry1; + +}); diff --git a/test/chunking-form/samples/sanitize-chunk-names/_expected/amd/_virtual-entry-2.js b/test/chunking-form/samples/sanitize-chunk-names/_expected/amd/_virtual-entry-2.js new file mode 100644 index 00000000000..17e375503d8 --- /dev/null +++ b/test/chunking-form/samples/sanitize-chunk-names/_expected/amd/_virtual-entry-2.js @@ -0,0 +1,7 @@ +define(function () { 'use strict'; + + var _virtualEntry2 = "\u0000virtual-entry-2"; + + return _virtualEntry2; + +}); diff --git a/test/chunking-form/samples/sanitize-chunk-names/_expected/amd/_virtual_entry-1.js b/test/chunking-form/samples/sanitize-chunk-names/_expected/amd/_virtual_entry-1.js deleted file mode 100644 index f41ce27ab24..00000000000 --- a/test/chunking-form/samples/sanitize-chunk-names/_expected/amd/_virtual_entry-1.js +++ /dev/null @@ -1,7 +0,0 @@ -define(function () { 'use strict'; - - var _virtual_entry1 = "\u0000virtual:entry-1"; - - return _virtual_entry1; - -}); diff --git a/test/chunking-form/samples/sanitize-chunk-names/_expected/amd/_virtual_entry-2.js b/test/chunking-form/samples/sanitize-chunk-names/_expected/amd/_virtual_entry-2.js deleted file mode 100644 index 5746e5e45e9..00000000000 --- a/test/chunking-form/samples/sanitize-chunk-names/_expected/amd/_virtual_entry-2.js +++ /dev/null @@ -1,7 +0,0 @@ -define(function () { 'use strict'; - - var _virtual_entry2 = "\u0000virtual:entry-2"; - - return _virtual_entry2; - -}); diff --git a/test/chunking-form/samples/sanitize-chunk-names/_expected/cjs/_virtual-entry-1.js b/test/chunking-form/samples/sanitize-chunk-names/_expected/cjs/_virtual-entry-1.js new file mode 100644 index 00000000000..a234cb704b0 --- /dev/null +++ b/test/chunking-form/samples/sanitize-chunk-names/_expected/cjs/_virtual-entry-1.js @@ -0,0 +1,5 @@ +'use strict'; + +var _virtualEntry1 = "\u0000virtual-entry-1"; + +module.exports = _virtualEntry1; diff --git a/test/chunking-form/samples/sanitize-chunk-names/_expected/cjs/_virtual-entry-2.js b/test/chunking-form/samples/sanitize-chunk-names/_expected/cjs/_virtual-entry-2.js new file mode 100644 index 00000000000..5110d9276f1 --- /dev/null +++ b/test/chunking-form/samples/sanitize-chunk-names/_expected/cjs/_virtual-entry-2.js @@ -0,0 +1,5 @@ +'use strict'; + +var _virtualEntry2 = "\u0000virtual-entry-2"; + +module.exports = _virtualEntry2; diff --git a/test/chunking-form/samples/sanitize-chunk-names/_expected/cjs/_virtual_entry-1.js b/test/chunking-form/samples/sanitize-chunk-names/_expected/cjs/_virtual_entry-1.js deleted file mode 100644 index 437d8954ef4..00000000000 --- a/test/chunking-form/samples/sanitize-chunk-names/_expected/cjs/_virtual_entry-1.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -var _virtual_entry1 = "\u0000virtual:entry-1"; - -module.exports = _virtual_entry1; diff --git a/test/chunking-form/samples/sanitize-chunk-names/_expected/cjs/_virtual_entry-2.js b/test/chunking-form/samples/sanitize-chunk-names/_expected/cjs/_virtual_entry-2.js deleted file mode 100644 index d560356654a..00000000000 --- a/test/chunking-form/samples/sanitize-chunk-names/_expected/cjs/_virtual_entry-2.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -var _virtual_entry2 = "\u0000virtual:entry-2"; - -module.exports = _virtual_entry2; diff --git a/test/chunking-form/samples/sanitize-chunk-names/_expected/es/_virtual-entry-1.js b/test/chunking-form/samples/sanitize-chunk-names/_expected/es/_virtual-entry-1.js new file mode 100644 index 00000000000..822d3f7d317 --- /dev/null +++ b/test/chunking-form/samples/sanitize-chunk-names/_expected/es/_virtual-entry-1.js @@ -0,0 +1,3 @@ +var _virtualEntry1 = "\u0000virtual-entry-1"; + +export default _virtualEntry1; diff --git a/test/chunking-form/samples/sanitize-chunk-names/_expected/es/_virtual-entry-2.js b/test/chunking-form/samples/sanitize-chunk-names/_expected/es/_virtual-entry-2.js new file mode 100644 index 00000000000..0e7995ff4b2 --- /dev/null +++ b/test/chunking-form/samples/sanitize-chunk-names/_expected/es/_virtual-entry-2.js @@ -0,0 +1,3 @@ +var _virtualEntry2 = "\u0000virtual-entry-2"; + +export default _virtualEntry2; diff --git a/test/chunking-form/samples/sanitize-chunk-names/_expected/es/_virtual_entry-1.js b/test/chunking-form/samples/sanitize-chunk-names/_expected/es/_virtual_entry-1.js deleted file mode 100644 index 9fa2c9b2926..00000000000 --- a/test/chunking-form/samples/sanitize-chunk-names/_expected/es/_virtual_entry-1.js +++ /dev/null @@ -1,3 +0,0 @@ -var _virtual_entry1 = "\u0000virtual:entry-1"; - -export default _virtual_entry1; diff --git a/test/chunking-form/samples/sanitize-chunk-names/_expected/es/_virtual_entry-2.js b/test/chunking-form/samples/sanitize-chunk-names/_expected/es/_virtual_entry-2.js deleted file mode 100644 index c228f2ab38b..00000000000 --- a/test/chunking-form/samples/sanitize-chunk-names/_expected/es/_virtual_entry-2.js +++ /dev/null @@ -1,3 +0,0 @@ -var _virtual_entry2 = "\u0000virtual:entry-2"; - -export default _virtual_entry2; diff --git a/test/chunking-form/samples/sanitize-chunk-names/_expected/system/_virtual_entry-1.js b/test/chunking-form/samples/sanitize-chunk-names/_expected/system/_virtual-entry-1.js similarity index 60% rename from test/chunking-form/samples/sanitize-chunk-names/_expected/system/_virtual_entry-1.js rename to test/chunking-form/samples/sanitize-chunk-names/_expected/system/_virtual-entry-1.js index 26aafc0c353..c8ebce7cbc9 100644 --- a/test/chunking-form/samples/sanitize-chunk-names/_expected/system/_virtual_entry-1.js +++ b/test/chunking-form/samples/sanitize-chunk-names/_expected/system/_virtual-entry-1.js @@ -3,7 +3,7 @@ System.register([], function (exports) { return { execute: function () { - var _virtual_entry1 = exports('default', "\u0000virtual:entry-1"); + var _virtualEntry1 = exports('default', "\u0000virtual-entry-1"); } }; diff --git a/test/chunking-form/samples/sanitize-chunk-names/_expected/system/_virtual_entry-2.js b/test/chunking-form/samples/sanitize-chunk-names/_expected/system/_virtual-entry-2.js similarity index 60% rename from test/chunking-form/samples/sanitize-chunk-names/_expected/system/_virtual_entry-2.js rename to test/chunking-form/samples/sanitize-chunk-names/_expected/system/_virtual-entry-2.js index af4edfd003e..7d34ce4b2fb 100644 --- a/test/chunking-form/samples/sanitize-chunk-names/_expected/system/_virtual_entry-2.js +++ b/test/chunking-form/samples/sanitize-chunk-names/_expected/system/_virtual-entry-2.js @@ -3,7 +3,7 @@ System.register([], function (exports) { return { execute: function () { - var _virtual_entry2 = exports('default', "\u0000virtual:entry-2"); + var _virtualEntry2 = exports('default', "\u0000virtual-entry-2"); } };