55 lines
2 KiB
JavaScript
55 lines
2 KiB
JavaScript
![]() |
"use strict";
|
||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||
|
exports.getPrettierPluginPath = exports.importPrettier = exports.importVueIntegration = exports.importSvelteIntegration = exports.getPackagePath = exports.setIsTrusted = void 0;
|
||
|
const path_1 = require("path");
|
||
|
let isTrusted = true;
|
||
|
function setIsTrusted(_isTrusted) {
|
||
|
isTrusted = _isTrusted;
|
||
|
}
|
||
|
exports.setIsTrusted = setIsTrusted;
|
||
|
function getPackagePath(packageName, fromPath) {
|
||
|
const paths = [];
|
||
|
if (isTrusted) {
|
||
|
paths.unshift(...fromPath);
|
||
|
}
|
||
|
try {
|
||
|
return (0, path_1.dirname)(require.resolve(packageName + '/package.json', { paths }));
|
||
|
}
|
||
|
catch (e) {
|
||
|
return undefined;
|
||
|
}
|
||
|
}
|
||
|
exports.getPackagePath = getPackagePath;
|
||
|
function importEditorIntegration(packageName, fromPath) {
|
||
|
const pkgPath = getPackagePath(packageName, [fromPath]);
|
||
|
if (pkgPath) {
|
||
|
try {
|
||
|
const main = (0, path_1.resolve)(pkgPath, 'dist', 'editor.cjs');
|
||
|
return require(main);
|
||
|
}
|
||
|
catch (e) {
|
||
|
console.error(`Couldn't load editor module from ${pkgPath}. Make sure you're using at least version v0.2.1 of the corresponding integration`);
|
||
|
return undefined;
|
||
|
}
|
||
|
}
|
||
|
return undefined;
|
||
|
}
|
||
|
function importSvelteIntegration(fromPath) {
|
||
|
return importEditorIntegration('@astrojs/svelte', fromPath);
|
||
|
}
|
||
|
exports.importSvelteIntegration = importSvelteIntegration;
|
||
|
function importVueIntegration(fromPath) {
|
||
|
return importEditorIntegration('@astrojs/vue', fromPath);
|
||
|
}
|
||
|
exports.importVueIntegration = importVueIntegration;
|
||
|
function importPrettier(fromPath) {
|
||
|
// This shouldn't ever fail, because we bundle Prettier in the extension itself
|
||
|
const prettierPkg = getPackagePath('prettier', [fromPath, __dirname]);
|
||
|
return require(prettierPkg);
|
||
|
}
|
||
|
exports.importPrettier = importPrettier;
|
||
|
function getPrettierPluginPath(fromPath) {
|
||
|
return getPackagePath('prettier-plugin-astro', [fromPath, __dirname]);
|
||
|
}
|
||
|
exports.getPrettierPluginPath = getPrettierPluginPath;
|