24 lines
813 B
JavaScript
24 lines
813 B
JavaScript
const platform = process.env.__TESTING_MKDIRP_PLATFORM__ || process.platform;
|
|
import { parse, resolve } from 'path';
|
|
export const pathArg = (path) => {
|
|
if (/\0/.test(path)) {
|
|
// simulate same failure that node raises
|
|
throw Object.assign(new TypeError('path must be a string without null bytes'), {
|
|
path,
|
|
code: 'ERR_INVALID_ARG_VALUE',
|
|
});
|
|
}
|
|
path = resolve(path);
|
|
if (platform === 'win32') {
|
|
const badWinChars = /[*|"<>?:]/;
|
|
const { root } = parse(path);
|
|
if (badWinChars.test(path.substring(root.length))) {
|
|
throw Object.assign(new Error('Illegal characters in path.'), {
|
|
path,
|
|
code: 'EINVAL',
|
|
});
|
|
}
|
|
}
|
|
return path;
|
|
};
|
|
//# sourceMappingURL=path-arg.js.map
|