@prisma/language-server
Version:
Prisma Language Server
65 lines • 2.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getVersion = getVersion;
exports.getEnginesVersion = getEnginesVersion;
exports.getCliVersion = getCliVersion;
exports.handleWasmError = handleWasmError;
exports.handleFormatPanic = handleFormatPanic;
const panic_1 = require("./error/panic");
const packageJson = require('../../../package.json'); // eslint-disable-line
/* eslint-disable @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-return */
/**
* Lookup version
*/
function getVersion() {
if (!packageJson || !packageJson.prisma || !packageJson.prisma.enginesVersion) {
return 'latest';
}
return packageJson.prisma.enginesVersion;
}
/**
* Gets Engines Version from package.json, dependencies, `@prisma/prisma-schema-wasm`
* @returns Something like `2.26.0-23.9b816b3aa13cc270074f172f30d6eda8a8ce867d`
*/
function getEnginesVersion() {
return packageJson.dependencies['@prisma/prisma-schema-wasm'];
}
/**
* Gets CLI Version from package.json, prisma, cliVersion
* @returns Something like `2.27.0-dev.50`
*/
function getCliVersion() {
return packageJson.prisma.cliVersion;
}
function handleWasmError(e, cmd, onError) {
const getErrorMessage = () => {
if ((0, panic_1.isWasmPanic)(e)) {
const { message, stack } = (0, panic_1.getWasmError)(e);
const msg = `prisma-schema-wasm errored when invoking ${cmd}. It resulted in a Wasm panic.\n${message}`;
return { message: msg, isPanic: true, stack };
}
const msg = `prisma-schema-wasm errored when invoking ${cmd}.\n${e.message}`;
return { message: msg, isPanic: false, stack: e.stack };
};
const { message, isPanic, stack } = getErrorMessage();
if (isPanic) {
console.warn(`prisma-schema-wasm errored (panic) with: ${message}\n\n${stack}`);
}
else {
console.warn(`prisma-schema-wasm errored with: ${message}\n\n${stack}`);
}
if (onError) {
onError(
// Note: VS Code strips newline characters from the message
`prisma-schema-wasm errored with: -- ${message} -- For the full output check the "Prisma Language Server" output. In the menu, click "View", then Output and select "Prisma Language Server" in the drop-down menu.`);
}
}
function handleFormatPanic(tryCb) {
try {
return tryCb();
}
catch (e) {
throw (0, panic_1.getWasmError)(e);
}
}
//# sourceMappingURL=internals.js.map