mirror of
https://github.com/dbeaver/cloudbeaver.git
synced 2026-09-24 16:04:36 +08:00
chore: update dev config
This commit is contained in:
@@ -1,53 +1,15 @@
|
||||
const merge = require('webpack-merge');
|
||||
const webpack = require('webpack');
|
||||
const fs = require('fs');
|
||||
const { resolve, join } = require('path');
|
||||
const commonConfig = require('./webpack.config.js');
|
||||
const { resolve } = require('path');
|
||||
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
||||
const CopyWebpackPlugin = require('copy-webpack-plugin');
|
||||
const commonConfig = require('./webpack.config.js');
|
||||
const getAssets = require('./webpack.product.utils');
|
||||
|
||||
var main = resolve('src/index.ts');
|
||||
var outputDir = resolve('lib');
|
||||
var package = require(resolve("package.json"))
|
||||
|
||||
function getCloudbeaverDeps(package) {
|
||||
if (!package.dependencies) {
|
||||
return [];
|
||||
}
|
||||
|
||||
return Object.keys(package.dependencies)
|
||||
.filter(dependency => /@cloudbeaver\/(.*?)/.test(dependency))
|
||||
}
|
||||
|
||||
function scanCloudbeaverDeps() {
|
||||
const deps = new Set();
|
||||
const list = getCloudbeaverDeps(package);
|
||||
|
||||
while (list.length) {
|
||||
const dependency = list.shift();
|
||||
|
||||
if (!deps.has(dependency)) {
|
||||
list.push(...getCloudbeaverDeps(require(join(__dirname, '../node_modules', dependency, 'package.json'))))
|
||||
}
|
||||
|
||||
deps.add(dependency);
|
||||
}
|
||||
|
||||
return Array.from(deps.keys())
|
||||
}
|
||||
|
||||
function getAssets(to) {
|
||||
const patterns = scanCloudbeaverDeps()
|
||||
.map(dependency => ({ from: join(__dirname, '../node_modules', dependency, 'public'), to, force: true }))
|
||||
.reverse();
|
||||
|
||||
patterns.push({ from: './public', to, force: true });
|
||||
|
||||
return patterns.filter(pattern => fs.existsSync(pattern.from))
|
||||
}
|
||||
|
||||
scanCloudbeaverDeps()
|
||||
|
||||
module.exports = (env, argv) => merge(commonConfig(env, argv), {
|
||||
entry: main,
|
||||
output: {
|
||||
@@ -69,7 +31,7 @@ module.exports = (env, argv) => merge(commonConfig(env, argv), {
|
||||
},
|
||||
plugins: [
|
||||
new CopyWebpackPlugin({
|
||||
patterns: getAssets('')
|
||||
patterns: getAssets(package, '')
|
||||
}),
|
||||
new webpack.DefinePlugin({
|
||||
version: JSON.stringify(package.buildVersion),
|
||||
|
||||
@@ -4,9 +4,10 @@ const { resolve } = require('path');
|
||||
const commonConfig = require('./webpack.config.js');
|
||||
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
||||
const CopyWebpackPlugin = require('copy-webpack-plugin');
|
||||
const getAssets = require('./webpack.product.utils');
|
||||
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
|
||||
|
||||
var packageJson = require(resolve("package.json"))
|
||||
var package = require(resolve("package.json"))
|
||||
|
||||
module.exports = (env, argv) => merge(commonConfig(env, argv), {
|
||||
entry: [
|
||||
@@ -24,12 +25,10 @@ module.exports = (env, argv) => merge(commonConfig(env, argv), {
|
||||
devtool: 'cheap-module-eval-source-map',
|
||||
plugins: [
|
||||
new CopyWebpackPlugin({
|
||||
patterns: [
|
||||
{ from: './public', to: '', force: true },
|
||||
]
|
||||
patterns: getAssets(package, '')
|
||||
}),
|
||||
new webpack.DefinePlugin({
|
||||
version: JSON.stringify(packageJson.buildVersion),
|
||||
version: JSON.stringify(package.buildVersion),
|
||||
}),
|
||||
new HtmlWebpackPlugin({ template: resolve('src/index.html.ejs'), }),
|
||||
new webpack.HotModuleReplacementPlugin(), // enable HMR globally
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
const fs = require('fs');
|
||||
const { join } = require('path');
|
||||
|
||||
function getCloudbeaverDeps(package) {
|
||||
if (!package.dependencies) {
|
||||
return [];
|
||||
}
|
||||
|
||||
return Object.keys(package.dependencies)
|
||||
.filter(dependency => /@cloudbeaver\/(.*?)/.test(dependency))
|
||||
}
|
||||
|
||||
function scanCloudbeaverDeps(package) {
|
||||
const deps = new Set();
|
||||
const list = getCloudbeaverDeps(package);
|
||||
|
||||
while (list.length) {
|
||||
const dependency = list.shift();
|
||||
|
||||
if (!deps.has(dependency)) {
|
||||
list.push(...getCloudbeaverDeps(require(join(__dirname, '../node_modules', dependency, 'package.json'))))
|
||||
}
|
||||
|
||||
deps.add(dependency);
|
||||
}
|
||||
|
||||
return Array.from(deps.keys())
|
||||
}
|
||||
|
||||
module.exports = function getAssets(package, to) {
|
||||
const patterns = scanCloudbeaverDeps(package)
|
||||
.map(dependency => ({ from: join(__dirname, '../node_modules', dependency, 'public'), to, force: true }))
|
||||
.reverse();
|
||||
|
||||
patterns.push({ from: './public', to, force: true });
|
||||
|
||||
return patterns.filter(pattern => fs.existsSync(pattern.from))
|
||||
}
|
||||
Reference in New Issue
Block a user