diff --git a/webapp/packages/_plugin-template/package.json b/webapp/packages/_plugin-template/package.json index 49df72c7b7..1b1844e982 100644 --- a/webapp/packages/_plugin-template/package.json +++ b/webapp/packages/_plugin-template/package.json @@ -4,6 +4,7 @@ "description": "", "license": "Apache-2.0", "main": "dist/index.js", + "module": "dist/index.js", "scripts": { "build-plugin": "npm run clean-dist && builder build-plugin", "serve-plugin": "builder serve-plugin", diff --git a/webapp/packages/builder/bin/index.js b/webapp/packages/builder/bin/index.js index 788d534461..8867ff9494 100644 --- a/webapp/packages/builder/bin/index.js +++ b/webapp/packages/builder/bin/index.js @@ -27,6 +27,10 @@ function createWebpackArgv(argv) { console.log('Plugins list is not found: ', fullPath); } + // add mandatory plugin + pluginsList = pluginsList.filter(plugin => plugin !== '@dbeaver/core'); + pluginsList.unshift('@dbeaver/core') + const webpackArgv = { mode: 'production', pluginsList: pluginsList, diff --git a/webapp/packages/builder/configs/webpack/common-exp.js b/webapp/packages/builder/configs/webpack/common-exp.js index c213b1a3c8..b8878bf5af 100644 --- a/webapp/packages/builder/configs/webpack/common-exp.js +++ b/webapp/packages/builder/configs/webpack/common-exp.js @@ -28,26 +28,36 @@ ${names.map(n => ` ${n},\n`).join('')}]`; return code; } +function dirExists(path) { + try { + const stats = fs.statSync(path) + return stats && stats.isDirectory() + } catch (e) { + return false; + } +} + function copyPublic(currentDir, pluginsList) { const pathsToCopy = []; - pluginsList.forEach(plugin => { try { - const pathToPlugin = resolve.sync(plugin, {basedir: currentDir}); + const pathToPlugin = resolve.sync(plugin); const dir = path.parse(pathToPlugin).dir; const pathToPublic = path.resolve(dir, '../public'); - const stats = fs.statSync(pathToPublic); - if (stats && stats.isDirectory()) { + if (dirExists(pathToPublic)) { pathsToCopy.push({ from: pathToPublic, to: '', }); } } catch (e) { + console.error(e); } }); - pathsToCopy.push({from: path.resolve(currentDir, './public'), to: ''}); - console.log(pathsToCopy); + const pathToAppPublic = path.resolve(currentDir, './public') + if (dirExists(pathToAppPublic)) { + pathsToCopy.push({from: path.resolve(currentDir, './public'), to: ''}); + } return pathsToCopy; } diff --git a/webapp/packages/builder/src/index.ts b/webapp/packages/builder/src/index.ts index 0bcf694aa8..f1a95c3a55 100644 --- a/webapp/packages/builder/src/index.ts +++ b/webapp/packages/builder/src/index.ts @@ -1,8 +1,8 @@ -/* eslint-disable import-helpers/order-imports, import/order */ +/* eslint-disable import-helpers/order-imports, import/order, import/no-duplicates */ /* this eslint-disable required for webpack inject */ import 'reflect-metadata'; -import coreManifest, { AppBootstrap } from '@dbeaver/core'; +import { AppBootstrap } from '@dbeaver/core'; import { App, PluginManifest } from '@dbeaver/core/di'; import { renderLayout } from './renderLayout'; @@ -10,8 +10,6 @@ import { showErrorPage } from './ErrorPage'; const PLUGINS = [] as PluginManifest[]; // will be injected by webpack -PLUGINS.unshift(coreManifest); // this is mandatory plugin - async function bootstrap() { const app = new App(PLUGINS); diff --git a/webapp/packages/core/package.json b/webapp/packages/core/package.json index 1d0b096cdc..c5167ae0f3 100644 --- a/webapp/packages/core/package.json +++ b/webapp/packages/core/package.json @@ -3,6 +3,7 @@ "version": "0.1.0", "description": "", "license": "Apache-2.0", + "main": "dist/index.js", "module": "dist/index.js", "types": "dist/types", "scripts": { diff --git a/webapp/packages/dbeaver/public/favicon.png b/webapp/packages/core/public/favicon.png similarity index 100% rename from webapp/packages/dbeaver/public/favicon.png rename to webapp/packages/core/public/favicon.png diff --git a/webapp/packages/dbeaver/public/favicon.svg b/webapp/packages/core/public/favicon.svg similarity index 100% rename from webapp/packages/dbeaver/public/favicon.svg rename to webapp/packages/core/public/favicon.svg diff --git a/webapp/packages/dbeaver/public/icons/arrow-sm.svg b/webapp/packages/core/public/icons/arrow-sm.svg similarity index 100% rename from webapp/packages/dbeaver/public/icons/arrow-sm.svg rename to webapp/packages/core/public/icons/arrow-sm.svg diff --git a/webapp/packages/dbeaver/public/icons/dots.svg b/webapp/packages/core/public/icons/dots.svg similarity index 100% rename from webapp/packages/dbeaver/public/icons/dots.svg rename to webapp/packages/core/public/icons/dots.svg diff --git a/webapp/packages/dbeaver/public/icons/grid.png b/webapp/packages/core/public/icons/grid.png similarity index 100% rename from webapp/packages/dbeaver/public/icons/grid.png rename to webapp/packages/core/public/icons/grid.png diff --git a/webapp/packages/dbeaver/public/icons/group.svg b/webapp/packages/core/public/icons/group.svg similarity index 100% rename from webapp/packages/dbeaver/public/icons/group.svg rename to webapp/packages/core/public/icons/group.svg diff --git a/webapp/packages/dbeaver/public/icons/icons.svg b/webapp/packages/core/public/icons/icons.svg similarity index 100% rename from webapp/packages/dbeaver/public/icons/icons.svg rename to webapp/packages/core/public/icons/icons.svg diff --git a/webapp/packages/dbeaver/public/icons/logo.svg b/webapp/packages/core/public/icons/logo.svg similarity index 100% rename from webapp/packages/dbeaver/public/icons/logo.svg rename to webapp/packages/core/public/icons/logo.svg diff --git a/webapp/packages/dbeaver/public/icons/properties.png b/webapp/packages/core/public/icons/properties.png similarity index 100% rename from webapp/packages/dbeaver/public/icons/properties.png rename to webapp/packages/core/public/icons/properties.png diff --git a/webapp/packages/dbeaver/public/icons/schema.png b/webapp/packages/core/public/icons/schema.png similarity index 100% rename from webapp/packages/dbeaver/public/icons/schema.png rename to webapp/packages/core/public/icons/schema.png diff --git a/webapp/packages/dbeaver/public/icons/search.svg b/webapp/packages/core/public/icons/search.svg similarity index 100% rename from webapp/packages/dbeaver/public/icons/search.svg rename to webapp/packages/core/public/icons/search.svg diff --git a/webapp/packages/dbeaver/public/icons/settings.svg b/webapp/packages/core/public/icons/settings.svg similarity index 100% rename from webapp/packages/dbeaver/public/icons/settings.svg rename to webapp/packages/core/public/icons/settings.svg diff --git a/webapp/packages/dbeaver/public/icons/spinner-primary.svg b/webapp/packages/core/public/icons/spinner-primary.svg similarity index 100% rename from webapp/packages/dbeaver/public/icons/spinner-primary.svg rename to webapp/packages/core/public/icons/spinner-primary.svg diff --git a/webapp/packages/dbeaver/public/icons/spinner.svg b/webapp/packages/core/public/icons/spinner.svg similarity index 100% rename from webapp/packages/dbeaver/public/icons/spinner.svg rename to webapp/packages/core/public/icons/spinner.svg diff --git a/webapp/packages/dbeaver/public/icons/sql_exec.png b/webapp/packages/core/public/icons/sql_exec.png similarity index 100% rename from webapp/packages/dbeaver/public/icons/sql_exec.png rename to webapp/packages/core/public/icons/sql_exec.png diff --git a/webapp/packages/dbeaver/public/icons/sql_exec_new.png b/webapp/packages/core/public/icons/sql_exec_new.png similarity index 100% rename from webapp/packages/dbeaver/public/icons/sql_exec_new.png rename to webapp/packages/core/public/icons/sql_exec_new.png diff --git a/webapp/packages/dbeaver/public/icons/sql_script.png b/webapp/packages/core/public/icons/sql_script.png similarity index 100% rename from webapp/packages/dbeaver/public/icons/sql_script.png rename to webapp/packages/core/public/icons/sql_script.png diff --git a/webapp/packages/dbeaver/public/icons/x.svg b/webapp/packages/core/public/icons/x.svg similarity index 100% rename from webapp/packages/dbeaver/public/icons/x.svg rename to webapp/packages/core/public/icons/x.svg diff --git a/webapp/packages/dbeaver/public/images/loader-sm.gif b/webapp/packages/core/public/images/loader-sm.gif similarity index 100% rename from webapp/packages/dbeaver/public/images/loader-sm.gif rename to webapp/packages/core/public/images/loader-sm.gif diff --git a/webapp/packages/dbeaver/public/images/loader.gif b/webapp/packages/core/public/images/loader.gif similarity index 100% rename from webapp/packages/dbeaver/public/images/loader.gif rename to webapp/packages/core/public/images/loader.gif diff --git a/webapp/packages/dbeaver/package.json b/webapp/packages/dbeaver/package.json index be1d7fe0d5..7b5a401790 100644 --- a/webapp/packages/dbeaver/package.json +++ b/webapp/packages/dbeaver/package.json @@ -24,6 +24,7 @@ "@dbeaver/ag-grid-plugin": "^0.1.0", "@dbeaver/basic-connection-plugin": "^0.1.0", "@dbeaver/builder": "^0.1.0", + "@dbeaver/core": "^0.1.0", "@dbeaver/custom-connection-plugin": "^0.1.0", "@dbeaver/data-viewer-plugin": "^0.1.0", "@dbeaver/ddl-viewer-plugin": "^0.1.0",