mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-17 17:36:08 +08:00
core: check yarn npm_execpath
This commit is contained in:
1 file changed
+19
-10
@@ -35,18 +35,27 @@ const { bypass } = hook(/^(hydrooj|@hydrooj|cordis|lodash|js-yaml)($|\/)/, (id)
|
||||
});
|
||||
}, { ignoreModuleNotFoundError: false });
|
||||
|
||||
// Replace pnpm paths.
|
||||
Error.stackTraceLimit = 50;
|
||||
|
||||
// Replace pnp paths.
|
||||
// Vscode will try to open a local file for links, so this doesn't work for remote-ssh, etc.
|
||||
if (process.env.npm_execpath && process.env.npm_execpath.includes('pnpm') && !process.env.SSH_CONNECTION) {
|
||||
if (process.env.npm_execpath && !process.env.SSH_CONNECTION) {
|
||||
const original = Error.prepareStackTrace;
|
||||
Error.prepareStackTrace = function capture(...args) {
|
||||
const res = original.apply(this, args);
|
||||
if (!res.includes('.pnpm')) return res;
|
||||
return res.replace(
|
||||
/([( ])([^( ]+\/\.pnpm\/.+?\/node_modules\/)(.+)(:\d+:[^)\n]+)/g,
|
||||
'$1\u001B]8;;$2$3$4\u0007pnpm:$3$4\u001B]8;;\u0007',
|
||||
);
|
||||
};
|
||||
if (process.env.npm_execpath.includes('yarn')) {
|
||||
Error.prepareStackTrace = function capture(...args) {
|
||||
return original.apply(this, args).split('\n').filter((i) => !i.includes('.pnp')).join('\n');
|
||||
};
|
||||
}
|
||||
if (process.env.npm_execpath.includes('pnpm')) {
|
||||
Error.prepareStackTrace = function capture(...args) {
|
||||
const res = original.apply(this, args);
|
||||
if (!res.includes('.pnpm')) return res;
|
||||
return res.replace(
|
||||
/([( ])([^( ]+\/\.pnpm\/.+?\/node_modules\/)(.+)(:\d+:[^)\n]+)/g,
|
||||
'$1\u001B]8;;$2$3$4\u0007pnpm:$3$4\u001B]8;;\u0007',
|
||||
);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
require('./commands');
|
||||
Reference in new issue
Block a user