core: check yarn npm_execpath

This commit is contained in:
undefined committed 2024-06-07 07:12:38 +08:00
1 parent 59c1b83b50
commit a06b9bfce7
1 file changed
+11 -2
+11 -2
View File
@@ -35,10 +35,18 @@ const { bypass } = hook(/^(hydrooj|@hydrooj|cordis|lodash|js-yaml)($|\/)/, (id)
}); });
}, { ignoreModuleNotFoundError: false }); }, { 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. // 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; const original = Error.prepareStackTrace;
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) { Error.prepareStackTrace = function capture(...args) {
const res = original.apply(this, args); const res = original.apply(this, args);
if (!res.includes('.pnpm')) return res; if (!res.includes('.pnpm')) return res;
@@ -47,6 +55,7 @@ if (process.env.npm_execpath && process.env.npm_execpath.includes('pnpm') && !pr
'$1\u001B]8;;$2$3$4\u0007pnpm:$3$4\u001B]8;;\u0007', '$1\u001B]8;;$2$3$4\u0007pnpm:$3$4\u001B]8;;\u0007',
); );
}; };
}
} }
require('./commands'); require('./commands');