mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-29 13:23:58 +00:00
handle plugin load error
This commit is contained in:
@@ -64,19 +64,23 @@ module.exports = {
|
|||||||
const res = [];
|
const res = [];
|
||||||
for (const packageName of _.union(files1, files2)) {
|
for (const packageName of _.union(files1, files2)) {
|
||||||
if (!/^dbgate-plugin-.*$/.test(packageName)) continue;
|
if (!/^dbgate-plugin-.*$/.test(packageName)) continue;
|
||||||
const isPackaged = files1.includes(packageName);
|
try {
|
||||||
const manifest = await fs
|
const isPackaged = files1.includes(packageName);
|
||||||
.readFile(path.join(isPackaged ? packagedPluginsDir() : pluginsdir(), packageName, 'package.json'), {
|
const manifest = await fs
|
||||||
encoding: 'utf-8',
|
.readFile(path.join(isPackaged ? packagedPluginsDir() : pluginsdir(), packageName, 'package.json'), {
|
||||||
})
|
encoding: 'utf-8',
|
||||||
.then(x => JSON.parse(x));
|
})
|
||||||
const readmeFile = path.join(isPackaged ? packagedPluginsDir() : pluginsdir(), packageName, 'README.md');
|
.then(x => JSON.parse(x));
|
||||||
// @ts-ignore
|
const readmeFile = path.join(isPackaged ? packagedPluginsDir() : pluginsdir(), packageName, 'README.md');
|
||||||
if (await fs.exists(readmeFile)) {
|
// @ts-ignore
|
||||||
manifest.readme = await fs.readFile(readmeFile, { encoding: 'utf-8' });
|
if (await fs.exists(readmeFile)) {
|
||||||
|
manifest.readme = await fs.readFile(readmeFile, { encoding: 'utf-8' });
|
||||||
|
}
|
||||||
|
manifest.isPackaged = isPackaged;
|
||||||
|
res.push(manifest);
|
||||||
|
} catch (err) {
|
||||||
|
console.log(`Skipped plugin ${packageName}, error:`, err.message);
|
||||||
}
|
}
|
||||||
manifest.isPackaged = isPackaged;
|
|
||||||
res.push(manifest);
|
|
||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
{#each plugins as packageManifest (packageManifest.name)}
|
{#each plugins || [] as packageManifest (packageManifest.name)}
|
||||||
<div class="wrapper" on:click={() => openPlugin(packageManifest)}>
|
<div class="wrapper" on:click={() => openPlugin(packageManifest)}>
|
||||||
<img class="icon" src={extractPluginIcon(packageManifest)} />
|
<img class="icon" src={extractPluginIcon(packageManifest)} />
|
||||||
<div class="ml-2">
|
<div class="ml-2">
|
||||||
|
|||||||
@@ -13,6 +13,8 @@
|
|||||||
console.log('CRASH DETECTED!!!');
|
console.log('CRASH DETECTED!!!');
|
||||||
const lastDbGateCrashJson = localStorage.getItem('lastDbGateCrash');
|
const lastDbGateCrashJson = localStorage.getItem('lastDbGateCrash');
|
||||||
const lastDbGateCrash = lastDbGateCrashJson ? JSON.parse(lastDbGateCrashJson) : null;
|
const lastDbGateCrash = lastDbGateCrashJson ? JSON.parse(lastDbGateCrashJson) : null;
|
||||||
|
// let detail = e?.reason?.stack || '';
|
||||||
|
// if (detail) detail = '\n\n' + detail;
|
||||||
|
|
||||||
if (lastDbGateCrash && new Date().getTime() - lastDbGateCrash < 30 * 1000) {
|
if (lastDbGateCrash && new Date().getTime() - lastDbGateCrash < 30 * 1000) {
|
||||||
if (
|
if (
|
||||||
|
|||||||
Reference in New Issue
Block a user