Skip to content

Commit 2ad4448

Browse files
authored
fix: Properly handle backslashes in paths on Node.js 12 (#2)
1 parent cd0a9a6 commit 2ad4448

2 files changed

Lines changed: 4 additions & 4 deletions

File tree

node-preload-modern-require.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
'use strict';
22

33
function generateRequire(filename) {
4-
return `--require "${filename.replace(/"/g, '\\"')}"`;
4+
return `--require "${filename.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`;
55
}
66

77
module.exports = {

test/modern-require.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ test('exports', async t => {
1717
});
1818

1919
test('generateRequire', async t => {
20-
t.is(generateRequire(noSpaceFile), `--require "${noSpaceFile}"`);
21-
t.is(generateRequire(spaceFile), `--require "${spaceFile}"`);
20+
t.is(generateRequire(noSpaceFile), `--require "${noSpaceFile.replace(/\\/g, '\\\\')}"`);
21+
t.is(generateRequire(spaceFile), `--require "${spaceFile.replace(/\\/g, '\\\\')}"`);
2222

2323
if (process.platform !== 'win32') {
2424
const quoteFile = path.resolve('/dir/file"quote"nospace.js');
25-
t.is(generateRequire(quoteFile), `--require "${quoteFile.replace(/"/g, '\\"')}"`);
25+
t.is(generateRequire(quoteFile), `--require "${quoteFile.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`);
2626
}
2727
});

0 commit comments

Comments
 (0)