Merge pull request #48 from dbeaver/CB-92-builder-package

Cb 92 builder package
This commit is contained in:
Dmitry
2020-05-22 11:59:00 +03:00
committed by GitHub
59 changed files with 341 additions and 1287 deletions
+3 -1
View File
@@ -106,7 +106,9 @@ module.exports = {
'import/export': 'off',
'import/extensions': 'off',
'import/no-unresolved': 'off',
'import/no-extraneous-dependencies': 'warn',
// import/no-extraneous-dependencies off because peer dependencies are moved to builder
// todo probably there is a way to tune this (see packageDir option in documentation)
'import/no-extraneous-dependencies': 'off',
'import/prefer-default-export': 'off',
'import/no-cycle': 'off',
'import-helpers/order-imports': [
-10
View File
@@ -1,10 +0,0 @@
module.exports = {
presets: [
'@babel/preset-react',
],
plugins: [
'@babel/plugin-syntax-dynamic-import',
'react-require',
'reshadow/babel',
],
}
-17
View File
@@ -1,17 +0,0 @@
module.exports = {
presets: [
"@babel/preset-env",
"@babel/preset-react",
['@babel/preset-typescript', { isTSX: true, allExtensions: true }],
],
plugins: [
'@babel/plugin-transform-runtime',
'@babel/plugin-syntax-dynamic-import',
'babel-plugin-transform-typescript-metadata',
'@babel/plugin-proposal-optional-chaining',
['@babel/plugin-proposal-decorators', { legacy: true }],
['@babel/plugin-proposal-class-properties', { loose: true }],
'react-require',
'reshadow/babel',
],
}
-81
View File
@@ -1,81 +0,0 @@
import babelPlugin from 'rollup-plugin-babel';
const path = require('path');
import postcssPlugin from 'rollup-plugin-postcss';
import nodeResolve from 'rollup-plugin-node-resolve';
import commonjs from 'rollup-plugin-commonjs';
import peerDepsExternal from 'rollup-plugin-peer-deps-external';
import includePaths from 'rollup-plugin-includepaths';
import typescriptPlugin from 'rollup-plugin-typescript2';
const includePathOptions = {
include: {},
paths: ['src'],
external: [
],
extensions: ['.ts', '.tsx', '.js']
};
export const defaultBuilderOptions = {
babelConfig: path.join(__dirname, './babel-rollup.config.js'),
typescriptConfig: '', // tbd
}
export function configBuilder(options = defaultBuilderOptions) {
return {
input: 'src/index.ts',
output: [
{
dir: 'dist',
format: 'esm',
},
],
external: [
// externals beyond peer dependencies
],
plugins: [
includePaths(includePathOptions),
nodeResolve(),
commonjs({
sourceMap: false,
}),
typescriptPlugin({
tsconfig: 'tsconfig.build.json',
useTsconfigDeclarationDir: true,
}),
babelPlugin({
exclude: 'node_modules/**',
extensions: ['.js', '.ts', '.tsx'],
configFile: options.babelConfig,
}),
postcssPlugin({
extract: false,
// enable CSS modules for .module.css .module.scss files
autoModules: true,
// modules: {
// generateScopedName: "[local]___[hash:base64:5]"
// },
inject: true,
use: {
sass: {
includePaths: ['node_modules', '../../node_modules'],
}
},
// this option is added in dkrupenya/rollup-plugin-postcss#develop
// todo to be converted to custom loader
firstPlugin: require('reshadow/postcss'),
plugins: [
require('postcss-preset-env')({ stage: 0 }),
require('postcss-discard-comments'),
// todo move 'reshadow/postcss' to custom loader to run it before postcss-loader
// require('reshadow/postcss'),
]
}),
peerDepsExternal(),
],
};
}
export default configBuilder(defaultBuilderOptions);
-23
View File
@@ -1,23 +0,0 @@
const merge = require('webpack-merge');
const {resolve} = require('path');
var PeerDepsExternalsPlugin = require('peer-deps-externals-webpack-plugin');
const commonConfig = require('./common');
module.exports = (env, argv) => merge(commonConfig(env, argv), {
mode: argv.mode || 'development',
entry: resolve(__dirname, '../../src/index.ts'), // todo
output: {
filename: 'index.js',
path: resolve(__dirname, '../../dist'),
library: 'basicConnectionPlugin', // todo pass from package.js
libraryTarget: 'umd',
},
externals: [
/^@dbeaver\/.+$/
],
devtool: 'source-map',
plugins: [
new PeerDepsExternalsPlugin(), // allow to treat all peerDependencies as externals
],
});
-187
View File
@@ -1,187 +0,0 @@
// shared config (dev and prod)
const webpack = require('webpack');
const ModuleDependencyWarning = require("webpack/lib/ModuleDependencyWarning");
const path = require('path');
const CircularDependencyPlugin = require('circular-dependency-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
// Temporary solution to remove wrong warning messages (it's was fixed https://github.com/microsoft/TypeScript/pull/35200 in typescript 3.8)
class IgnoreNotFoundExportPlugin {
apply(compiler) {
const messageRegExp = /export '.*'( \(reexported as '.*'\))? was not found in/
function doneHook(stats) {
stats.compilation.warnings = stats.compilation.warnings.filter(function (warn) {
if (warn instanceof ModuleDependencyWarning && messageRegExp.test(warn.message)) {
return false
}
return true;
})
}
if (compiler.hooks) {
compiler.hooks.done.tap("IgnoreNotFoundExportPlugin", doneHook)
} else {
compiler.plugin("done", doneHook)
}
}
}
module.exports = (env, argv) => {
function generateStyleLoaders(options = { hasModule: false }) {
const moduleScope = options.hasModule ? 'local' : 'global';
const modules = {
mode: moduleScope,
localIdentName: '[local]___[hash:base64:5]',
};
const postCssPlugins = [
require('postcss-preset-env')({ stage: 0 }),
require('@csstools/postcss-sass')({
includePaths: ['node_modules', path.resolve('../../node_modules')],
}),
require('postcss-discard-comments'),
require('reshadow/postcss')({ scopeBehaviour: moduleScope })
];
// 'use' clause in webpack rules
return [
{
loader: MiniCssExtractPlugin.loader,
options: {
hot: argv.mode !== 'production',
},
},
{
loader: 'css-loader',
options: {
importLoaders: 1,
modules: modules,
}
},
{
loader: 'postcss-loader',
options: {
syntax: 'postcss-scss',
plugins: postCssPlugins,
},
},
];
}
return {
resolve: {
extensions: ['.ts', '.tsx', '.js', '.jsx'],
},
module: {
rules: [
{
test: /\.js$/,
use: [
{
loader: 'babel-loader',
options: {
configFile: path.join(__dirname, '../babel.config.js')
},
},
'source-map-loader'
],
exclude: /node_modules/,
},
{
test: /\.tsx?$/,
use: [
{
loader: 'babel-loader',
options: {
configFile: path.join(__dirname, '../babel.config.js')
},
},
{
loader: 'eslint-loader',
// uncomment to fix after rule changes
// options: {
// fix: true,
// },
}
],
},
{
test: /\.(css|scss|sass)$/,
oneOf: [
// css-module files ( should have *.module mask )
{
test: /\.module\.(css|scss|sass)$/,
use: generateStyleLoaders({ hasModule: true }),
},
{
include: /node_modules/,
use: [
{
loader: MiniCssExtractPlugin.loader,
options: {
hot: argv.mode !== 'production',
},
},
'css-loader',
]
},
{
use: generateStyleLoaders({ hasModule: false }),
}
]
},
{
test: /\.(png|jpe?g|gif|svg|eot|ttf|woff|woff2)$/i,
loader: 'url-loader',
options: {
limit: 8192,
},
},
],
},
optimization: {
minimize: false,
namedModules: true,
concatenateModules: false,
},
plugins: [
new IgnoreNotFoundExportPlugin(),
new webpack.ProgressPlugin({
entries: true,
modules: true,
modulesCount: 100,
profile: true,
handler: (percentage, message, ...args) => {
// custom logic
}
}),
new CircularDependencyPlugin({
// exclude detection of files based on a RegExp
exclude: /a\.js|node_modules/,
// include specific files based on a RegExp
// include: /dir/,
// add errors to webpack instead of warnings
failOnError: false,
// allow import cycles that include an asyncronous import,
// e.g. via import(/* webpackMode: "weak" */ './file.js')
allowAsyncCycles: false,
// set the current working directory for displaying module paths
cwd: process.cwd(),
}),
new MiniCssExtractPlugin({
// Options similar to the same options in webpackOptions.output
// all options are optional
filename: argv.mode !== 'production' ? '[name].css' : '[name].[hash].css',
chunkFilename: argv.mode !== 'production' ? '[name].css' : '[name].[hash].css',
ignoreOrder: false, // Enable to remove warnings about conflicting order
}),
// new webpack.optimize.LimitChunkCountPlugin({
// maxChunks: 1,
// }),
],
performance: {
hints: false,
},
};
};
+1 -4
View File
@@ -16,6 +16,7 @@
"build": "lerna run build --stream",
"serve": "lerna run serve --stream",
"serve-plugin": "lerna run serve-plugin --stream --parallel",
"builder-help": "builder help",
"clean-dist": "lerna run clean-dist --stream",
"test": "echo \"Error: no test specified\" && exit 1"
},
@@ -23,10 +24,6 @@
"@babel/runtime": "7.8.4"
},
"devDependencies": {
"@types/jest": "^24.0.23",
"@types/node": "^12.7.8",
"@types/react": "^16.9.34",
"@types/react-dom": "^16.9.6",
"@typescript-eslint/eslint-plugin": "^2.5.0",
"@typescript-eslint/parser": "^2.8.0",
"eslint": "^6.6.0",
@@ -12,16 +12,10 @@
"test": "echo \"Error: no test specified\" && exit 1"
},
"devDependencies": {
"@dbeaver/core": "^0.1.0"
"@dbeaver/core": "^0.1.0",
"@dbeaver/builder": "^0.1.0"
},
"peerDependencies": {
"@dbeaver/core": "^0.1.0",
"mobx": "^5.15.4",
"mobx-react": "^6.2.2",
"react": "^16.13.1",
"react-dom": "^16.13.1",
"reakit": "^1.0.0-beta.11",
"reshadow": "0.0.1-alpha.77",
"rxjs": "^6.5.5"
"@dbeaver/core": "^0.1.0"
}
}
@@ -1,14 +0,0 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"declarationDir": "dist/types",
"declaration": true,
"noEmit": false,
"outDir": "dist/js"
},
"exclude": [
"node_modules",
"@dbeaver/**"
],
"include": ["src/**/*"]
}
@@ -1,5 +1,9 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"declarationDir": "dist/types",
"outDir": "dist/js"
},
"include": [
"src"
],
+3 -9
View File
@@ -12,16 +12,10 @@
"test": "echo \"Error: no test specified\" && exit 1"
},
"devDependencies": {
"@dbeaver/core": "^0.1.0"
"@dbeaver/core": "^0.1.0",
"@dbeaver/builder": "^0.1.0"
},
"peerDependencies": {
"@dbeaver/core": "^0.1.0",
"mobx": "^5.15.4",
"mobx-react": "^6.2.2",
"react": "^16.13.1",
"react-dom": "^16.13.1",
"reakit": "^1.0.0-beta.11",
"reshadow": "0.0.1-alpha.77",
"rxjs": "^6.5.5"
"@dbeaver/core": "^0.1.0"
}
}
@@ -1,14 +0,0 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"declarationDir": "dist/types",
"declaration": true,
"noEmit": false,
"outDir": "dist/js"
},
"exclude": [
"node_modules",
"@dbeaver/**"
],
"include": ["src/**/*"]
}
@@ -1,5 +1,9 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"declarationDir": "dist/types",
"outDir": "dist/js"
},
"include": [
"src/**/*"
],
+8 -12
View File
@@ -12,22 +12,18 @@
"test": "echo \"Error: no test specified\" && exit 1"
},
"dependencies": {
"@ag-grid-community/all-modules": "^23.0.2",
"@ag-grid-community/core": "^23.0.2",
"ag-grid-community": "^23.0.2",
"ag-grid-react": "^23.0.3"
"@ag-grid-community/all-modules": "^23.1.1",
"@ag-grid-community/core": "^23.1.1",
"ag-grid-community": "^23.1.1",
"ag-grid-react": "^23.1.1"
},
"devDependencies": {
"@dbeaver/core": "^0.1.0"
"@dbeaver/core": "^0.1.0",
"@dbeaver/builder": "^0.1.0"
},
"peerDependencies": {
"@dbeaver/core": "^0.1.0",
"mobx": "^5.15.4",
"mobx-react": "^6.2.2",
"react": "^16.13.1",
"react-dom": "^16.13.1",
"reakit": "^1.0.0-beta.11",
"reshadow": "0.0.1-alpha.77",
"rxjs": "^6.5.5"
"react": "^16.3.0",
"react-dom": "^16.3.0"
}
}
@@ -1,14 +0,0 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"declarationDir": "dist/types",
"declaration": true,
"noEmit": false,
"outDir": "dist/js"
},
"exclude": [
"node_modules",
"@dbeaver/core/**"
],
"include": ["src/**/*"]
}
@@ -1,5 +1,9 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"declarationDir": "dist/types",
"outDir": "dist/js"
},
"include": [
"src"
],
+3 -9
View File
@@ -12,16 +12,10 @@
"test": "echo \"Error: no test specified\" && exit 1"
},
"devDependencies": {
"@dbeaver/core": "^0.1.0"
"@dbeaver/core": "^0.1.0",
"@dbeaver/builder": "^0.1.0"
},
"peerDependencies": {
"@dbeaver/core": "^0.1.0",
"mobx": "^5.15.4",
"mobx-react": "^6.2.2",
"react": "^16.13.1",
"react-dom": "^16.13.1",
"reakit": "^1.0.0-beta.11",
"reshadow": "0.0.1-alpha.76",
"rxjs": "^6.5.5"
"@dbeaver/core": "^0.1.0"
}
}
@@ -1,14 +0,0 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"declarationDir": "dist/types",
"declaration": true,
"noEmit": false,
"outDir": "dist/js"
},
"exclude": [
"node_modules",
"@dbeaver/**"
],
"include": ["src/**/*"]
}
@@ -1,5 +1,9 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"declarationDir": "dist/types",
"outDir": "dist/js"
},
"include": [
"src/**/*"
],
@@ -13,16 +13,10 @@
"test": "echo \"Error: no test specified\" && exit 1"
},
"devDependencies": {
"@dbeaver/core": "^0.1.0"
"@dbeaver/core": "^0.1.0",
"@dbeaver/builder": "^0.1.0"
},
"peerDependencies": {
"@dbeaver/core": "^0.1.0",
"mobx": "^5.15.4",
"mobx-react": "^6.2.2",
"react": "^16.13.1",
"react-dom": "^16.13.1",
"reakit": "^1.0.0-beta.11",
"reshadow": "0.0.1-alpha.77",
"rxjs": "^6.5.5"
"@dbeaver/core": "^0.1.0"
}
}
@@ -1,14 +0,0 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"declarationDir": "dist/types",
"declaration": true,
"noEmit": false,
"outDir": "dist/js"
},
"exclude": [
"node_modules",
"@dbeaver/**"
],
"include": ["src/**/*"]
}
@@ -1,5 +1,9 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"declarationDir": "dist/types",
"outDir": "dist/js"
},
"include": [
"src/**/*"
],
+9 -3
View File
@@ -98,7 +98,9 @@ require('yargs')
async function build() {
const config = createRollupConfig()
for (const moduleConfig of config) {
console.log(`Building ${packageName} ${moduleConfig.output.dir}`);
const module = moduleConfig.output.dir.replace('dist' , '')
const start = Date.now()
console.log(`Building ${packageName}${module}`);
try {
const bundle = await rollup.rollup(moduleConfig);
await bundle.write(moduleConfig.output);
@@ -106,7 +108,8 @@ require('yargs')
console.error(e)
process.exitCode = 1;
} finally {
console.log(`Build finished ${packageName} ${moduleConfig.output.dir}`);
const buildTime = Math.floor((Date.now() - start) / 1000);
console.log(`Build finished ${packageName}${module}, ${buildTime} s`);
}
}
}
@@ -143,6 +146,7 @@ require('yargs')
},
},
function (argv) {
const start = Date.now()
const webpackArgv = createWebpackArgv(argv);
// console.log(webpackArgv)
const configObject = buildConfig({}, webpackArgv)
@@ -150,6 +154,8 @@ require('yargs')
compiler.run((err, stats) => {
console.log(stats.compilation.errors)
const buildTime = Math.floor((Date.now() - start) / 1000);
console.log(`Build app finished in ${buildTime} s`);
});
}
)
@@ -172,7 +178,7 @@ require('yargs')
},
function (argv) {
const webpackArgv = createWebpackArgv(argv);
webpackArgv.mode = 'development'
console.log(webpackArgv.mode)
webpackArgv.server = argv.server
const configObject = devConfig({}, webpackArgv)
const WebpackDevServer = require('webpack-dev-server');
@@ -1,17 +0,0 @@
module.exports = {
presets: [
"@babel/preset-env",
"@babel/preset-react",
// ['@babel/preset-typescript', { isTSX: true, allExtensions: true }],
],
plugins: [
'@babel/plugin-transform-runtime',
'@babel/plugin-syntax-dynamic-import',
// 'babel-plugin-transform-typescript-metadata',
'@babel/plugin-proposal-optional-chaining',
// ['@babel/plugin-proposal-decorators', { legacy: true }],
['@babel/plugin-proposal-class-properties', { loose: true }],
// 'react-require',
// 'reshadow/babel',
],
}
@@ -1,8 +1,8 @@
const babelPlugin = require('rollup-plugin-babel');
const path = require('path');
const { nodeResolve } = require('@rollup/plugin-node-resolve');
const { babel } = require('@rollup/plugin-babel');
const commonjs = require('@rollup/plugin-commonjs');
const postcssPlugin = require('rollup-plugin-postcss');
const nodeResolve = require('rollup-plugin-node-resolve');
const commonjs = require('rollup-plugin-commonjs');
const peerDepsExternal = require('rollup-plugin-peer-deps-external');
const includePaths = require('rollup-plugin-includepaths');
const typescriptPlugin = require('rollup-plugin-typescript2');
@@ -11,28 +11,37 @@ const reshadowLoader = require('./reshadow-loader');
const includePathOptions = {
include: {},
paths: ['src'],
external: [
],
external: [],
extensions: ['.ts', '.tsx', '.js']
};
const defaultBuilderOptions = {
babelConfig: path.join(__dirname, 'babel-plugin.config.js'),
typescriptConfig: '', // tbd
}
function configBuilder() {
function configBuilder(options = defaultBuilderOptions) {
return {
return {
input: 'src/index.ts',
output: {
dir: 'dist',
format: 'esm',
sourcemap: true,
},
dir: 'dist',
format: 'esm',
sourcemap: true,
},
external: [
// externals beyond peer dependencies
// externals beyond peer dependencies - common dependencies of the whole application
'mobx',
// todo check that @dbeaver/core/blocks provide wrapper for go-split
// todo add go-split to @dbeaver/core dependencies and remove it from here
'go-split',
'mobx-react',
'react',
'react-dom',
// todo add reakit to @dbeaver/core dependencies and remove it from here
// todo be sure that @dbeaver/core provides all necessary wrappers around reakit
'reakit',
// todo magic. It nested dependency of reakit and should not be mentioned here
// todo but by unknown reasons without this build fails
// todo should be removed when reakit will be incorporated into @dbeaver/core
'body-scroll-lock',
'reshadow',
'rxjs',
],
onwarn(warning, warn) {
// hides some warning drom ag-grid-plugin todo to investigate later
@@ -42,19 +51,32 @@ function configBuilder(options = defaultBuilderOptions) {
plugins: [
includePaths(includePathOptions),
nodeResolve({
preferBuiltins: true, // fix crypto import in core/utils/uuid library. todo replace uuid library with simple uuid generation
preferBuiltins: false, // fix crypto import in core/utils/uuid library. todo replace uuid library with simple uuid generation
}),
typescriptPlugin({
tsconfig: 'tsconfig.json',
useTsconfigDeclarationDir: true,
}),
babel({
exclude: ['../../node_modules/**', 'node_modules/**'], // exclude package node_modules and lerna node_modules
extensions: ['.js', '.ts', '.tsx'],
babelHelpers: 'bundled',
configFile: path.join(__dirname, 'babel-plugin.config.js'),
}),
commonjs({
sourceMap: false,
}),
typescriptPlugin({
tsconfig: 'tsconfig.build.json',
useTsconfigDeclarationDir: true,
}),
babelPlugin({
exclude: 'node_modules/**',
extensions: ['.js', '.ts', '.tsx'],
configFile: options.babelConfig,
exclude: [
/**
* todo Now all plugins after build contain reshadow source code
* todo Expected next line should remove reshadow code from build artifact but it doesnt work.
* todo It was found that reshadow code disappear if to comment 'reshadow/babel' in babel-plugin.config.js
* todo So it is reshadow/babel plugin inject code into the artifact. Further investigations required.
*/
'node_modules/@reshadow/**',
'node_modules/react-dom',
'node_modules/react-dom/server',
'node_modules/react',
],
}),
postcssPlugin({
extract: false,
@@ -76,9 +98,9 @@ function configBuilder(options = defaultBuilderOptions) {
}
],
],
loaders: [ reshadowLoader ],
loaders: [reshadowLoader],
plugins: [
require('postcss-preset-env')({ stage: 0 }),
require('postcss-preset-env')({stage: 0}),
require('postcss-discard-comments'),
]
}),
@@ -88,4 +110,4 @@ function configBuilder(options = defaultBuilderOptions) {
}
module.exports = configBuilder(defaultBuilderOptions);
module.exports = configBuilder();
@@ -12,11 +12,11 @@ module.exports = (env, argv) => merge(commonConfig(env, argv), {
path: path.resolve(argv.currentDir, './dist'),
publicPath: '',
},
devtool: 'source-map',
devtool: argv.mode === 'production' ? false : 'source-map',
plugins: [],
optimization: {
minimize: false,
namedModules: true,
concatenateModules: false,
minimize: argv.mode === 'production',
namedModules: argv.mode !== 'production',
concatenateModules: argv.mode === 'production',
},
});
@@ -88,14 +88,9 @@ module.exports = (env, argv) => {
{
test: /\.js$/,
use: [
{
loader: 'babel-loader',
options: {
configFile: path.join(__dirname, 'babel-app.config.js')
},
},
{
loader: StringReplacePlugin.replace({
exclude: /node_modules/,
/**
* This replacement allows to put into the build the plugins that were mentioned in package.json
*/
@@ -111,7 +106,6 @@ module.exports = (env, argv) => {
},
'source-map-loader'
],
exclude: /node_modules/,
},
],
},
@@ -125,9 +119,9 @@ module.exports = (env, argv) => {
}),
new CircularDependencyPlugin({
// exclude detection of files based on a RegExp
// exclude: /\.js|node_modules/,
exclude: /node_modules/,
// include specific files based on a RegExp
// include: /dir/,
include: /@dbeaver/,
// add errors to webpack instead of warnings
failOnError: false,
// allow import cycles that include an asyncronous import,
@@ -15,7 +15,7 @@ module.exports = (env, argv) => merge(commonConfig(env, argv), {
hot: false, // enable HMR on the server
proxy: {
'/dbeaver': {
target: argv.server || 'localhost:3100'
target: argv.server || 'localhost:8978'
}
}
},
@@ -33,4 +33,9 @@ module.exports = (env, argv) => merge(commonConfig(env, argv), {
// new webpack.HotModuleReplacementPlugin(), // enable HMR globally
new webpack.NamedModulesPlugin(), // prints more readable module names in the browser console on HMR updates
],
optimization: {
minimize: argv.mode === 'production',
namedModules: argv.mode !== 'production',
concatenateModules: argv.mode === 'production',
},
});
+5 -27
View File
@@ -7,41 +7,32 @@
"scripts": {
"lint": "eslint ./src/ --ext .ts,.tsx"
},
"peerDependencies": {
"@dbeaver/core": "^0.1.0"
},
"dependencies": {
"@babel/cli": "^7.7.4",
"@babel/core": "^7.7.4",
"@babel/plugin-proposal-class-properties": "^7.8.3",
"@babel/plugin-proposal-decorators": "^7.7.4",
"@babel/plugin-proposal-optional-chaining": "^7.8.3",
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@babel/plugin-transform-runtime": "^7.8.3",
"@babel/preset-env": "^7.7.4",
"@babel/preset-react": "^7.7.4",
"@babel/preset-typescript": "^7.7.4",
"@csstools/postcss-sass": "^4.0.0",
"@dbeaver/core": "^0.1.0",
"@material/button": "^4.0.0",
"@material/elevation": "^4.0.0",
"@material/ripple": "^4.0.0",
"@material/theme": "^4.0.0",
"@material/typography": "^4.0.0",
"@rollup/plugin-babel": "^5.0.2",
"@rollup/plugin-commonjs": "^12.0.0",
"@rollup/plugin-node-resolve": "^8.0.0",
"@types/graphql": "^14.5.0",
"@types/jest": "^24.0.23",
"@types/node": "^12.7.8",
"@types/react": "^16.9.34",
"@types/react-dom": "^16.9.6",
"@typescript-eslint/eslint-plugin": "^2.5.0",
"@typescript-eslint/parser": "^2.8.0",
"babel-loader": "^8.0.6",
"babel-plugin-react-require": "^3.1.1",
"babel-plugin-transform-typescript-metadata": "^0.2.2",
"circular-dependency-plugin": "^5.2.0",
"copy-webpack-plugin": "^5.1.0",
"css-loader": "^3.2.1",
"extract-css-chunks-webpack-plugin": "^4.7.1",
"file-loader": "^5.0.2",
"go-split": "^1.3.2",
"graphql": "^14.5.8",
"html-webpack-plugin": "^3.2.0",
@@ -50,15 +41,9 @@
"mobx-react": "^6.2.2",
"node-sass": "^4.13.0",
"postcss-discard-comments": "^4.0.2",
"postcss-extend-rule": "^3.0.0",
"postcss-import": "^12.0.1",
"postcss-loader": "^3.0.0",
"postcss-scss": "^2.0.0",
"preact": "^10.4.1",
"preact-render-to-string": "^5.1.6",
"preact-ssr-prepass": "^1.0.1",
"prettier-eslint": "^9.0.0",
"raw-loader": "^3.1.0",
"react-dom": "^16.13.1",
"react-hot-loader": "^4.12.18",
"reakit": "1.0.0-beta.11",
@@ -67,23 +52,16 @@
"resolve": "^1.17.0",
"rimraf": "^3.0.0",
"rollup": "^2.0.6",
"rollup-plugin-babel": "^4.4.0",
"rollup-plugin-commonjs": "^10.1.0",
"rollup-plugin-includepaths": "^0.2.3",
"rollup-plugin-node-resolve": "^5.2.0",
"rollup-plugin-peer-deps-external": "^2.2.2",
"rollup-plugin-postcss": "^3.1.1",
"rollup-plugin-typescript2": "^0.26.0",
"rxjs": "^6.5.5",
"sass-loader": "^8.0.0",
"source-map-loader": "^0.2.4",
"string-replace-webpack-plugin": "^0.1.3",
"style-loader": "^1.0.1",
"typescript": "^3.8.3",
"url-loader": "^3.0.0",
"typescript": "^3.9.3",
"webpack": "^4.41.2",
"webpack-cli": "^3.3.10",
"webpack-dev-middleware": "^3.7.2",
"webpack-dev-server": "^3.9.0",
"webpack-merge": "^4.2.2",
"yargs": "^15.3.1"
-8
View File
@@ -1,8 +0,0 @@
{
"extends": "../../tsconfig.base.json",
"exclude": ["node_modules"],
"include": [
"src/**/*",
"../**/*.d.ts"
]
}
@@ -1,5 +1,5 @@
{
"name": "@dbeaver/dbeaver",
"name": "@dbeaver/cloudbeaver",
"version": "0.1.0",
"description": "",
"license": "Apache-2.0",
@@ -7,11 +7,7 @@
"build": "npm run clean-dist && builder build-app",
"serve": "builder serve-app",
"build:analyze": "echo \"no analyze specified\" && exit 0",
"clean-dist": "rimraf dist/*",
"gql:gen": "graphql-codegen",
"gql:gen:dev": "graphql-codegen --watch",
"lint": "eslint ./src/ --ext .ts,.tsx",
"lint-fix": "eslint ./src/ --ext .ts,.tsx --fix"
"clean-dist": "rimraf dist/*"
},
"dependencies": {
"@dbeaver/administration": "^0.1.0",
@@ -1,5 +1,5 @@
/**
* Don't mention "@dbeaver/core" here. It will be included by default
* You may omit "@dbeaver/core" here. It will be included by default
*/
module.exports = [
+1 -1
View File
@@ -7,8 +7,8 @@ module.exports = [
// The order of modules is important.
// The module must be built before it is used in another module
'extensions',
'di',
'utils',
'di',
'eventsLog',
'settings',
+7 -19
View File
@@ -17,33 +17,21 @@
"lint-fix": "eslint ./src/ --ext .ts,.tsx --fix"
},
"dependencies": {
"go-split": "^1.3.2",
"graphql-request": "^1.8.2",
"inversify": "^5.0.1",
"react-sanitized-html": "^2.0.0",
"reflect-metadata": "^0.1.13",
"sanitize-html": "^1.23.0",
"uuid": "^7.0.3"
},
"devDependencies": {
"@material/button": "^4.0.0",
"@material/elevation": "^4.0.0",
"@material/radio": "^4.0.0",
"@material/ripple": "^4.0.0",
"@material/theme": "^4.0.0",
"@material/typography": "^4.0.0",
"@types/uuid": "^7.0.2",
"graphql-request": "^1.8.2"
"react-sanitized-html": "^2.0.0",
"sanitize-html": "^1.23.0",
"uuid": "^7.0.3"
},
"peerDependencies": {
"go-split": "^1.3.2",
"mobx": "^5.15.4",
"mobx-react": "^6.2.2",
"react": "^16.13.1",
"react-dom": "^16.13.1",
"reakit": "^1.0.0-beta.11",
"reshadow": "0.0.1-alpha.77",
"rxjs": "^6.5.5"
"devDependencies": {
"@types/uuid": "^7.0.2"
},
"buildVersion": "0.13.0",
"dbeaverPlugins": []
"buildVersion": "0.13.0"
}
-13
View File
@@ -1,13 +0,0 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"declarationDir": "dist/types",
"declaration": true,
"noEmit": false,
"outDir": "dist/js"
},
"exclude": [
"node_modules"
],
"include": ["src/**/*"]
}
+8 -1
View File
@@ -1,5 +1,12 @@
{
"extends": "../../tsconfig.json",
"exclude": ["node_modules"],
"compilerOptions": {
"declarationDir": "dist/types",
"outDir": "dist/js"
},
"exclude": [
"node_modules",
"@dbeaver/**"
],
"include": ["src/**/*"]
}
@@ -13,16 +13,10 @@
"test": "echo \"Error: no test specified\" && exit 1"
},
"devDependencies": {
"@dbeaver/core": "^0.1.0"
"@dbeaver/core": "^0.1.0",
"@dbeaver/builder": "^0.1.0"
},
"peerDependencies": {
"@dbeaver/core": "^0.1.0",
"mobx": "^5.15.4",
"mobx-react": "^6.2.2",
"react": "^16.13.1",
"react-dom": "^16.13.1",
"reakit": "^1.0.0-beta.11",
"reshadow": "0.0.1-alpha.77",
"rxjs": "^6.5.5"
"@dbeaver/core": "^0.1.0"
}
}
@@ -1,14 +0,0 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"declarationDir": "dist/types",
"declaration": true,
"noEmit": false,
"outDir": "dist/js"
},
"exclude": [
"node_modules",
"@dbeaver/**"
],
"include": ["src/**/*"]
}
@@ -1,5 +1,9 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"declarationDir": "dist/types",
"outDir": "dist/js"
},
"include": [
"src/**/*"
],
@@ -12,18 +12,12 @@
"test": "echo \"Error: no test specified\" && exit 1"
},
"devDependencies": {
"@dbeaver/data-viewer-plugin": "^0.1.0",
"@dbeaver/core": "^0.1.0"
"@dbeaver/builder": "^0.1.0",
"@dbeaver/core": "^0.1.0",
"@dbeaver/data-viewer-plugin": "^0.1.0"
},
"peerDependencies": {
"@dbeaver/data-viewer-plugin": "^0.1.0",
"@dbeaver/core": "^0.1.0",
"mobx": "^5.15.4",
"mobx-react": "^6.2.2",
"react": "^16.13.1",
"react-dom": "^16.13.1",
"reakit": "^1.0.0-beta.11",
"reshadow": "0.0.1-alpha.77",
"rxjs": "^6.5.5"
"@dbeaver/data-viewer-plugin": "^0.1.0"
}
}
@@ -1,14 +0,0 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"declarationDir": "dist/types",
"declaration": true,
"noEmit": false,
"outDir": "dist/js"
},
"exclude": [
"node_modules",
"@dbeaver/**"
],
"include": ["src/**/*"]
}
@@ -1,5 +1,9 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"declarationDir": "dist/types",
"outDir": "dist/js"
},
"include": [
"src/**/*"
],
@@ -12,6 +12,7 @@
"test": "echo \"Error: no test specified\" && exit 1"
},
"devDependencies": {
"@dbeaver/builder": "^0.1.0",
"@dbeaver/ag-grid-plugin": "^0.1.0",
"@dbeaver/object-viewer-plugin": "^0.1.0",
"@dbeaver/core": "^0.1.0"
@@ -19,13 +20,6 @@
"peerDependencies": {
"@dbeaver/ag-grid-plugin": "^0.1.0",
"@dbeaver/object-viewer-plugin": "^0.1.0",
"@dbeaver/core": "^0.1.0",
"mobx": "^5.15.4",
"mobx-react": "^6.2.2",
"react": "^16.13.1",
"react-dom": "^16.13.1",
"reakit": "^1.0.0-beta.11",
"reshadow": "0.0.1-alpha.77",
"rxjs": "^6.5.5"
"@dbeaver/core": "^0.1.0"
}
}
@@ -1,14 +0,0 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"declarationDir": "dist/types",
"declaration": true,
"noEmit": false,
"outDir": "dist/js"
},
"exclude": [
"node_modules",
"@dbeaver/**"
],
"include": ["src/**/*"]
}
@@ -1,5 +1,9 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"declarationDir": "dist/types",
"outDir": "dist/js"
},
"include": [
"src/**/*"
],
@@ -12,6 +12,7 @@
"tsc": "tsc"
},
"devDependencies": {
"@dbeaver/builder": "^0.1.0",
"@dbeaver/core": "^0.1.0",
"@dbeaver/object-viewer-plugin": "^0.1.0",
"@dbeaver/sql-editor": "^0.1.0"
@@ -19,13 +20,6 @@
"peerDependencies": {
"@dbeaver/core": "^0.1.0",
"@dbeaver/object-viewer-plugin": "^0.1.0",
"@dbeaver/sql-editor": "^0.1.0",
"mobx": "^5.15.4",
"mobx-react": "^6.2.2",
"react": "^16.13.1",
"react-dom": "^16.13.1",
"reakit": "^1.0.0-beta.11",
"reshadow": "0.0.1-alpha.77",
"rxjs": "^6.5.5"
"@dbeaver/sql-editor": "^0.1.0"
}
}
@@ -1,14 +0,0 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"declarationDir": "dist/types",
"declaration": true,
"noEmit": false,
"outDir": "dist/js"
},
"exclude": [
"node_modules",
"@dbeaver/**"
],
"include": ["src/**/*"]
}
@@ -1,5 +1,9 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"declarationDir": "dist/types",
"outDir": "dist/js"
},
"include": [
"src"
],
@@ -12,16 +12,10 @@
"test": "echo \"Error: no test specified\" && exit 1"
},
"devDependencies": {
"@dbeaver/builder": "^0.1.0",
"@dbeaver/core": "^0.1.0"
},
"peerDependencies": {
"@dbeaver/core": "^0.1.0",
"mobx": "^5.15.4",
"mobx-react": "^6.2.2",
"react": "^16.13.1",
"react-dom": "^16.13.1",
"reakit": "^1.0.0-beta.11",
"reshadow": "0.0.1-alpha.77",
"rxjs": "^6.5.5"
"@dbeaver/core": "^0.1.0"
}
}
@@ -1,14 +0,0 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"declarationDir": "dist/types",
"declaration": true,
"noEmit": false,
"outDir": "dist/js"
},
"exclude": [
"node_modules",
"@dbeaver/**"
],
"include": ["src/**/*"]
}
@@ -1,5 +1,9 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"declarationDir": "dist/types",
"outDir": "dist/js"
},
"include": [
"src"
],
+2 -8
View File
@@ -16,19 +16,13 @@
"react-codemirror2": "^7.1.0"
},
"devDependencies": {
"@dbeaver/builder": "^0.1.0",
"@dbeaver/core": "^0.1.0",
"@dbeaver/data-viewer-plugin": "^0.1.0",
"@types/codemirror": "^0.0.91"
},
"peerDependencies": {
"@dbeaver/core": "^0.1.0",
"@dbeaver/data-viewer-plugin": "^0.1.0",
"mobx": "^5.15.4",
"mobx-react": "^6.2.2",
"react": "^16.13.1",
"react-dom": "^16.13.1",
"reakit": "^1.0.0-beta.11",
"reshadow": "0.0.1-alpha.77",
"rxjs": "^6.5.5"
"@dbeaver/data-viewer-plugin": "^0.1.0"
}
}
@@ -1,14 +0,0 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"declarationDir": "dist/types",
"declaration": true,
"noEmit": false,
"outDir": "dist/js"
},
"exclude": [
"node_modules",
"@dbeaver/**"
],
"include": ["src/**/*"]
}
+4
View File
@@ -1,5 +1,9 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"declarationDir": "dist/types",
"outDir": "dist/js"
},
"include": [
"src"
],
-24
View File
@@ -1,24 +0,0 @@
{
"files": ["typings.d.ts"],
"compilerOptions": {
"moduleResolution": "node",
"target": "es2017",
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": false,
"skipLibCheck": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"downlevelIteration": true,
"noEmit": true,
"esModuleInterop": true,
"module": "esnext",
"sourceMap": true,
"resolveJsonModule": true,
"jsx": "preserve",
"isolatedModules": true,
"types": ["reflect-metadata", "node"],
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"baseUrl": "."
}
}
+21 -22
View File
@@ -1,26 +1,25 @@
{
"extends": "./tsconfig.base.json",
"files": ["typings.d.ts"],
"compilerOptions": {
"paths": {
"@dbeaver/*": ["packages/*/src"],
"@dbeaver/core/assets": ["packages/core/assets"],
"@dbeaver/core/app": ["packages/core/src/app"],
"@dbeaver/core/blocks": ["packages/core/src/blocks"],
"@dbeaver/core/di": ["packages/core/src/di"],
"@dbeaver/core/dialogs": ["packages/core/src/dialogs"],
"@dbeaver/core/eventsLog": ["packages/core/src/eventsLog"],
"@dbeaver/core/localization": ["packages/core/src/localization"],
"@dbeaver/core/root": ["packages/core/src/root"],
"@dbeaver/core/sdk": ["packages/core/src/sdk"],
"@dbeaver/core/settings": ["packages/core/src/settings"],
"@dbeaver/core/theming": ["packages/core/src/theming"],
"@dbeaver/core/utils": ["packages/core/src/utils"],
"@dbeaver/core/extensions": ["packages/core/src/extensions"],
"@dbeaver/core/plugin": ["packages/core/src/plugin"],
"@dbeaver/core/product": ["packages/core/src/product"],
"@dbeaver/core/placeholder": ["packages/core/src/placeholder"]
}
"declaration": true,
"noEmit": false,
"moduleResolution": "node",
"target": "es2017",
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": false,
"skipLibCheck": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"downlevelIteration": true,
"esModuleInterop": true,
"module": "esnext",
"sourceMap": true,
"resolveJsonModule": true,
"jsx": "preserve",
"isolatedModules": true,
"types": ["reflect-metadata", "node"],
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"baseUrl": "."
}
}
+138 -524
View File
File diff suppressed because it is too large Load Diff