mirror of https://github.com/nocodb/nocodb
Browse Source
* chore: build to rspack and swc * wip: rspack * fix: rspack with hmr for local dev * fix: pino pretty in local dev * fix: moved all local dev config * fix: add missing dependencies * fix: unit tests ci * fix: add tsconfig type checking * fix: ignore watch node_modules * fix: rspack build * feat: add type checker * fix: swagger tests * fix: gtihub actions * fix: do not remove nocodb-sdk * fix: build workflow * fix: update rspack config * fix: rspack config sync * fix: rspack sync * fix: update configs * fix: build config * fix: sync rspack config * fix: bump rspack version * fix: rspack local not workingpull/9964/head
Anbarasu
1 week ago
committed by
GitHub
36 changed files with 2232 additions and 917 deletions
@ -0,0 +1,80 @@ |
|||||||
|
const path = require('path'); |
||||||
|
const { rspack } = require('@rspack/core'); |
||||||
|
const nodeExternals = require('webpack-node-externals'); |
||||||
|
module.exports = { |
||||||
|
entry: './src/run/dockerEntry.ts', |
||||||
|
module: { |
||||||
|
rules: [ |
||||||
|
{ |
||||||
|
test: /\.node$/, |
||||||
|
loader: 'node-loader', |
||||||
|
options: { |
||||||
|
name: '[path][name].[ext]', |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
test: /\.tsx?$/, |
||||||
|
exclude: /node_modules/, |
||||||
|
loader: 'builtin:swc-loader', |
||||||
|
options: { |
||||||
|
jsc: { |
||||||
|
parser: { |
||||||
|
syntax: 'typescript', |
||||||
|
tsx: true, |
||||||
|
decorators: true, |
||||||
|
dynamicImport: true, |
||||||
|
}, |
||||||
|
transform: { |
||||||
|
legacyDecorator: true, |
||||||
|
decoratorMetadata: true, |
||||||
|
}, |
||||||
|
target: 'es2017', |
||||||
|
}, |
||||||
|
module: { |
||||||
|
type: 'commonjs', |
||||||
|
}, |
||||||
|
}, |
||||||
|
}, |
||||||
|
], |
||||||
|
}, |
||||||
|
resolve: { |
||||||
|
extensions: ['.tsx', '.ts', '.js', '.json'], |
||||||
|
tsConfig: { |
||||||
|
configFile: path.resolve('tsconfig.json'), |
||||||
|
}, |
||||||
|
}, |
||||||
|
output: { |
||||||
|
path: path.resolve('./docker'), |
||||||
|
filename: 'main.js', |
||||||
|
library: 'libs', |
||||||
|
libraryTarget: 'umd', |
||||||
|
globalObject: "typeof self !== 'undefined' ? self : this", |
||||||
|
}, |
||||||
|
optimization: { |
||||||
|
minimize: true, //Update this to true or false
|
||||||
|
minimizer: [ |
||||||
|
new rspack.SwcJsMinimizerRspackPlugin({ |
||||||
|
minimizerOptions: { |
||||||
|
compress: { |
||||||
|
keep_classnames: true, |
||||||
|
}, |
||||||
|
}, |
||||||
|
}), |
||||||
|
], |
||||||
|
nodeEnv: false, |
||||||
|
}, |
||||||
|
externals: [ |
||||||
|
nodeExternals({ |
||||||
|
allowlist: ['nocodb-sdk'], |
||||||
|
}), |
||||||
|
], |
||||||
|
plugins: [ |
||||||
|
new rspack.EnvironmentPlugin({ |
||||||
|
EE: true, |
||||||
|
}), |
||||||
|
], |
||||||
|
target: 'node', |
||||||
|
node: { |
||||||
|
__dirname: false, |
||||||
|
}, |
||||||
|
}; |
@ -1,51 +0,0 @@ |
|||||||
const path = require('path'); |
|
||||||
const nodeExternals = require('webpack-node-externals'); |
|
||||||
const webpack = require('webpack'); |
|
||||||
const TerserPlugin = require('terser-webpack-plugin'); |
|
||||||
const { resolveTsAliases } = require('../build-utils/resolveTsAliases'); |
|
||||||
|
|
||||||
module.exports = { |
|
||||||
entry: './src/run/dockerEntry.ts', |
|
||||||
module: { |
|
||||||
rules: [ |
|
||||||
{ |
|
||||||
test: /\.tsx?$/, |
|
||||||
exclude: /node_modules/, |
|
||||||
use: { |
|
||||||
loader: 'ts-loader', |
|
||||||
options: { |
|
||||||
transpileOnly: true, |
|
||||||
}, |
|
||||||
}, |
|
||||||
}, |
|
||||||
], |
|
||||||
}, |
|
||||||
resolve: { |
|
||||||
extensions: ['.tsx', '.ts', '.js', '.json'], |
|
||||||
alias: resolveTsAliases(path.resolve('tsconfig.json')), |
|
||||||
}, |
|
||||||
output: { |
|
||||||
path: require('path').resolve('./docker'), |
|
||||||
filename: 'main.js', |
|
||||||
library: 'libs', |
|
||||||
libraryTarget: 'umd', |
|
||||||
globalObject: "typeof self !== 'undefined' ? self : this", |
|
||||||
}, |
|
||||||
optimization: { |
|
||||||
minimize: true, //Update this to true or false
|
|
||||||
minimizer: [ |
|
||||||
new TerserPlugin({ |
|
||||||
terserOptions: { |
|
||||||
keep_classnames: true, |
|
||||||
}, |
|
||||||
}), |
|
||||||
], |
|
||||||
nodeEnv: false, |
|
||||||
}, |
|
||||||
externals: [nodeExternals()], |
|
||||||
plugins: [new webpack.EnvironmentPlugin(['EE'])], |
|
||||||
target: 'node', |
|
||||||
node: { |
|
||||||
__dirname: false, |
|
||||||
}, |
|
||||||
}; |
|
@ -0,0 +1,94 @@ |
|||||||
|
const { resolve, } = require('path'); |
||||||
|
const { rspack } = require('@rspack/core'); |
||||||
|
const nodeExternals = require('webpack-node-externals'); |
||||||
|
|
||||||
|
module.exports = { |
||||||
|
entry: './src/cli.ts', |
||||||
|
module: { |
||||||
|
rules: [ |
||||||
|
{ |
||||||
|
test: /\.node$/, |
||||||
|
loader: 'node-loader', |
||||||
|
options: { |
||||||
|
name: '[path][name].[ext]', |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
test: /\.tsx?$/, |
||||||
|
exclude: /node_modules/, |
||||||
|
loader: 'builtin:swc-loader', |
||||||
|
options: { |
||||||
|
sourceMap: false, |
||||||
|
jsc: { |
||||||
|
parser: { |
||||||
|
syntax: 'typescript', |
||||||
|
tsx: true, |
||||||
|
decorators: true, |
||||||
|
dynamicImport: true, |
||||||
|
}, |
||||||
|
transform: { |
||||||
|
legacyDecorator: true, |
||||||
|
decoratorMetadata: true, |
||||||
|
}, |
||||||
|
target: 'es2017', |
||||||
|
loose: true, |
||||||
|
externalHelpers: false, |
||||||
|
keepClassNames: true, |
||||||
|
}, |
||||||
|
module: { |
||||||
|
type: 'commonjs', |
||||||
|
strict: false, |
||||||
|
strictMode: true, |
||||||
|
lazy: false, |
||||||
|
noInterop: false, |
||||||
|
}, |
||||||
|
}, |
||||||
|
}, |
||||||
|
], |
||||||
|
}, |
||||||
|
optimization: { |
||||||
|
minimize: true, |
||||||
|
minimizer: [ |
||||||
|
new rspack.SwcJsMinimizerRspackPlugin({ |
||||||
|
minimizerOptions: { |
||||||
|
format: { |
||||||
|
comments: false, |
||||||
|
}, |
||||||
|
}, |
||||||
|
}), |
||||||
|
], |
||||||
|
nodeEnv: false, |
||||||
|
}, |
||||||
|
externals: [ |
||||||
|
nodeExternals({ |
||||||
|
allowlist: ['nocodb-sdk'], |
||||||
|
}), |
||||||
|
], |
||||||
|
resolve: { |
||||||
|
extensions: ['.tsx', '.ts', '.js', '.json'], |
||||||
|
tsConfig: { |
||||||
|
configFile: resolve('tsconfig.json'), |
||||||
|
}, |
||||||
|
}, |
||||||
|
mode: 'production', |
||||||
|
output: { |
||||||
|
filename: 'cli.js', |
||||||
|
path: resolve(__dirname, '..', 'nc-secret-mgr', 'src/nocodb'), |
||||||
|
library: 'libs', |
||||||
|
libraryTarget: 'umd', |
||||||
|
globalObject: "typeof self !== 'undefined' ? self : this", |
||||||
|
}, |
||||||
|
node: { |
||||||
|
__dirname: false, |
||||||
|
}, |
||||||
|
plugins: [ |
||||||
|
new rspack.EnvironmentPlugin({ |
||||||
|
EE: true, |
||||||
|
}), |
||||||
|
new rspack.BannerPlugin({ |
||||||
|
banner: 'This is a generated file. Do not edit', |
||||||
|
entryOnly: true, |
||||||
|
}), |
||||||
|
], |
||||||
|
target: 'node', |
||||||
|
}; |
@ -0,0 +1,100 @@ |
|||||||
|
const { resolve } = require('path'); |
||||||
|
const { rspack } = require('@rspack/core'); |
||||||
|
const nodeExternals = require('webpack-node-externals'); |
||||||
|
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin'); |
||||||
|
|
||||||
|
module.exports = { |
||||||
|
entry: './src/index.ts', |
||||||
|
module: { |
||||||
|
rules: [ |
||||||
|
{ |
||||||
|
test: /\.node$/, |
||||||
|
loader: 'node-loader', |
||||||
|
options: { |
||||||
|
name: '[path][name].[ext]', |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
test: /\.tsx?$/, |
||||||
|
exclude: /node_modules/, |
||||||
|
loader: 'builtin:swc-loader', |
||||||
|
options: { |
||||||
|
sourceMap: false, |
||||||
|
jsc: { |
||||||
|
parser: { |
||||||
|
syntax: 'typescript', |
||||||
|
tsx: true, |
||||||
|
decorators: true, |
||||||
|
dynamicImport: true, |
||||||
|
}, |
||||||
|
transform: { |
||||||
|
legacyDecorator: true, |
||||||
|
decoratorMetadata: true, |
||||||
|
}, |
||||||
|
target: 'es2017', |
||||||
|
loose: true, |
||||||
|
externalHelpers: false, |
||||||
|
keepClassNames: true, |
||||||
|
}, |
||||||
|
module: { |
||||||
|
type: 'commonjs', |
||||||
|
strict: false, |
||||||
|
strictMode: true, |
||||||
|
lazy: false, |
||||||
|
noInterop: false, |
||||||
|
}, |
||||||
|
}, |
||||||
|
}, |
||||||
|
], |
||||||
|
}, |
||||||
|
|
||||||
|
optimization: { |
||||||
|
minimize: true, //Update this to true or false
|
||||||
|
minimizer: [ |
||||||
|
new rspack.SwcJsMinimizerRspackPlugin({ |
||||||
|
minimizerOptions: { |
||||||
|
compress: { |
||||||
|
keep_classnames: true, |
||||||
|
}, |
||||||
|
}, |
||||||
|
}), |
||||||
|
], |
||||||
|
nodeEnv: false, |
||||||
|
}, |
||||||
|
externals: [ |
||||||
|
nodeExternals({ |
||||||
|
allowlist: ['nocodb-sdk'], |
||||||
|
}), |
||||||
|
], |
||||||
|
resolve: { |
||||||
|
extensions: ['.tsx', '.ts', '.js', '.json', '.node'], |
||||||
|
tsConfig: { |
||||||
|
configFile: resolve('tsconfig.json'), |
||||||
|
}, |
||||||
|
}, |
||||||
|
mode: 'production', |
||||||
|
output: { |
||||||
|
filename: 'bundle.js', |
||||||
|
path: resolve(__dirname, 'dist'), |
||||||
|
library: 'libs', |
||||||
|
libraryTarget: 'umd', |
||||||
|
globalObject: "typeof self !== 'undefined' ? self : this", |
||||||
|
}, |
||||||
|
node: { |
||||||
|
__dirname: false, |
||||||
|
}, |
||||||
|
plugins: [ |
||||||
|
new rspack.EnvironmentPlugin({ |
||||||
|
EE: true, |
||||||
|
}), |
||||||
|
new rspack.CopyRspackPlugin({ |
||||||
|
patterns: [{ from: 'src/public', to: 'public' }], |
||||||
|
}), |
||||||
|
new ForkTsCheckerWebpackPlugin({ |
||||||
|
typescript: { |
||||||
|
configFile: resolve('tsconfig.json'), |
||||||
|
}, |
||||||
|
}) |
||||||
|
], |
||||||
|
target: 'node', |
||||||
|
}; |
@ -0,0 +1,105 @@ |
|||||||
|
const { join, resolve } = require('path'); |
||||||
|
const { rspack } = require('@rspack/core'); |
||||||
|
const nodeExternals = require('webpack-node-externals'); |
||||||
|
const { RunScriptWebpackPlugin } = require('run-script-webpack-plugin'); |
||||||
|
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin'); |
||||||
|
|
||||||
|
const baseDevConfig = { |
||||||
|
mode: 'development', |
||||||
|
target: 'node', |
||||||
|
devtool: 'eval-source-map', |
||||||
|
module: { |
||||||
|
rules: [ |
||||||
|
{ |
||||||
|
test: /\.node$/, |
||||||
|
loader: 'node-loader', |
||||||
|
options: { |
||||||
|
name: '[path][name].[ext]', |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
test: /\.tsx?$/, |
||||||
|
exclude: /node_modules/, |
||||||
|
loader: 'builtin:swc-loader', |
||||||
|
options: { |
||||||
|
sourceMap: true, |
||||||
|
jsc: { |
||||||
|
parser: { |
||||||
|
syntax: 'typescript', |
||||||
|
tsx: true, |
||||||
|
decorators: true, |
||||||
|
dynamicImport: true, |
||||||
|
}, |
||||||
|
transform: { |
||||||
|
legacyDecorator: true, |
||||||
|
decoratorMetadata: true, |
||||||
|
}, |
||||||
|
target: 'es2017', |
||||||
|
loose: true, |
||||||
|
externalHelpers: false, |
||||||
|
keepClassNames: true, |
||||||
|
}, |
||||||
|
module: { |
||||||
|
type: 'commonjs', |
||||||
|
strict: false, |
||||||
|
strictMode: true, |
||||||
|
lazy: false, |
||||||
|
noInterop: false, |
||||||
|
}, |
||||||
|
}, |
||||||
|
}, |
||||||
|
], |
||||||
|
}, |
||||||
|
externals: [ |
||||||
|
nodeExternals({ |
||||||
|
allowlist: ['webpack/hot/poll?1000'], |
||||||
|
}), |
||||||
|
], |
||||||
|
resolve: { |
||||||
|
tsConfig: { |
||||||
|
configFile: resolve('tsconfig.json'), |
||||||
|
}, |
||||||
|
extensions: ['.tsx', '.ts', '.js', '.json', '.node'], |
||||||
|
}, |
||||||
|
optimization: { |
||||||
|
minimize: false, |
||||||
|
nodeEnv: false, |
||||||
|
}, |
||||||
|
plugins: [ |
||||||
|
new rspack.EnvironmentPlugin({ |
||||||
|
EE: true, |
||||||
|
NODE_ENV: 'development', |
||||||
|
}), |
||||||
|
new RunScriptWebpackPlugin({ |
||||||
|
name: 'main.js', |
||||||
|
}), |
||||||
|
new rspack.CopyRspackPlugin({ |
||||||
|
patterns: [{ from: 'src/public', to: 'public' }], |
||||||
|
}), |
||||||
|
new ForkTsCheckerWebpackPlugin({ |
||||||
|
typescript: { |
||||||
|
configFile: join('tsconfig.json'), |
||||||
|
}, |
||||||
|
}), |
||||||
|
], |
||||||
|
output: { |
||||||
|
path: join(__dirname, 'dist'), |
||||||
|
filename: 'main.js', |
||||||
|
library: { |
||||||
|
type: 'commonjs2', |
||||||
|
}, |
||||||
|
clean: true, |
||||||
|
}, |
||||||
|
devServer: { |
||||||
|
devMiddleware: { |
||||||
|
writeToDisk: true, |
||||||
|
}, |
||||||
|
port: 9001, |
||||||
|
}, |
||||||
|
watchOptions: { |
||||||
|
ignored: /node_modules/, |
||||||
|
poll: true, |
||||||
|
}, |
||||||
|
}; |
||||||
|
|
||||||
|
module.exports = baseDevConfig; |
@ -0,0 +1,94 @@ |
|||||||
|
const path = require('path'); |
||||||
|
const { rspack } = require('@rspack/core'); |
||||||
|
const nodeExternals = require('webpack-node-externals'); |
||||||
|
|
||||||
|
module.exports = { |
||||||
|
entry: './src/run/timely.ts', |
||||||
|
module: { |
||||||
|
rules: [ |
||||||
|
{ |
||||||
|
test: /\.node$/, |
||||||
|
loader: 'node-loader', |
||||||
|
options: { |
||||||
|
name: '[path][name].[ext]', |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
test: /\.tsx?$/, |
||||||
|
exclude: /node_modules/, |
||||||
|
loader: 'builtin:swc-loader', |
||||||
|
options: { |
||||||
|
sourceMap: false, |
||||||
|
jsc: { |
||||||
|
parser: { |
||||||
|
syntax: 'typescript', |
||||||
|
tsx: true, |
||||||
|
decorators: true, |
||||||
|
dynamicImport: true, |
||||||
|
}, |
||||||
|
transform: { |
||||||
|
legacyDecorator: true, |
||||||
|
decoratorMetadata: true, |
||||||
|
}, |
||||||
|
target: 'es2017', |
||||||
|
loose: true, |
||||||
|
externalHelpers: false, |
||||||
|
keepClassNames: true, |
||||||
|
}, |
||||||
|
module: { |
||||||
|
type: 'commonjs', |
||||||
|
strict: false, |
||||||
|
strictMode: true, |
||||||
|
lazy: false, |
||||||
|
noInterop: false, |
||||||
|
}, |
||||||
|
}, |
||||||
|
}, |
||||||
|
], |
||||||
|
}, |
||||||
|
|
||||||
|
optimization: { |
||||||
|
minimize: true, //Update this to true or false
|
||||||
|
minimizer: [ |
||||||
|
new rspack.SwcJsMinimizerRspackPlugin({ |
||||||
|
minimizerOptions: { |
||||||
|
compress: { |
||||||
|
keep_classnames: true, |
||||||
|
}, |
||||||
|
}, |
||||||
|
}), |
||||||
|
], |
||||||
|
nodeEnv: false, |
||||||
|
}, |
||||||
|
externals: [ |
||||||
|
nodeExternals({ |
||||||
|
allowlist: ['nocodb-sdk'], |
||||||
|
}), |
||||||
|
], |
||||||
|
resolve: { |
||||||
|
extensions: ['.tsx', '.ts', '.js', '.json', '.node'], |
||||||
|
tsConfig: { |
||||||
|
configFile: path.resolve('tsconfig.json'), |
||||||
|
}, |
||||||
|
}, |
||||||
|
mode: 'production', |
||||||
|
output: { |
||||||
|
filename: 'main.js', |
||||||
|
path: path.resolve(__dirname, 'docker'), |
||||||
|
library: 'libs', |
||||||
|
libraryTarget: 'umd', |
||||||
|
globalObject: "typeof self !== 'undefined' ? self : this", |
||||||
|
}, |
||||||
|
node: { |
||||||
|
__dirname: false, |
||||||
|
}, |
||||||
|
plugins: [ |
||||||
|
new rspack.EnvironmentPlugin({ |
||||||
|
EE: true, |
||||||
|
}), |
||||||
|
new rspack.CopyRspackPlugin({ |
||||||
|
patterns: [{ from: 'src/public', to: 'public' }], |
||||||
|
}), |
||||||
|
], |
||||||
|
target: 'node', |
||||||
|
}; |
@ -1,61 +0,0 @@ |
|||||||
const path = require('path'); |
|
||||||
const nodeExternals = require('webpack-node-externals'); |
|
||||||
const webpack = require('webpack'); |
|
||||||
const TerserPlugin = require('terser-webpack-plugin'); |
|
||||||
const { resolveTsAliases } = require('./build-utils/resolveTsAliases'); |
|
||||||
|
|
||||||
module.exports = { |
|
||||||
entry: './src/cli.ts', |
|
||||||
module: { |
|
||||||
rules: [ |
|
||||||
{ |
|
||||||
test: /\.tsx?$/, |
|
||||||
exclude: /node_modules/, |
|
||||||
use: { |
|
||||||
loader: 'ts-loader', |
|
||||||
options: { |
|
||||||
transpileOnly: true, |
|
||||||
}, |
|
||||||
}, |
|
||||||
}, |
|
||||||
], |
|
||||||
}, |
|
||||||
|
|
||||||
optimization: { |
|
||||||
minimize: true, |
|
||||||
minimizer: [ |
|
||||||
new TerserPlugin({ |
|
||||||
extractComments: false, |
|
||||||
}), |
|
||||||
], |
|
||||||
nodeEnv: false, |
|
||||||
}, |
|
||||||
externals: [ |
|
||||||
nodeExternals({ |
|
||||||
allowlist: ['nocodb-sdk'], |
|
||||||
}), |
|
||||||
], |
|
||||||
resolve: { |
|
||||||
extensions: ['.tsx', '.ts', '.js', '.json'], |
|
||||||
alias: resolveTsAliases(path.resolve('tsconfig.json')), |
|
||||||
}, |
|
||||||
mode: 'production', |
|
||||||
output: { |
|
||||||
filename: 'cli.js', |
|
||||||
path: path.resolve(__dirname, '..', 'nc-secret-mgr', 'src/nocodb'), |
|
||||||
library: 'libs', |
|
||||||
libraryTarget: 'umd', |
|
||||||
globalObject: "typeof self !== 'undefined' ? self : this", |
|
||||||
}, |
|
||||||
node: { |
|
||||||
__dirname: false, |
|
||||||
}, |
|
||||||
plugins: [ |
|
||||||
new webpack.EnvironmentPlugin(['EE']), |
|
||||||
new webpack.BannerPlugin({ |
|
||||||
banner: 'This is a generated file. Do not edit', |
|
||||||
entryOnly:true |
|
||||||
}), |
|
||||||
], |
|
||||||
target: 'node', |
|
||||||
}; |
|
@ -1,60 +0,0 @@ |
|||||||
const path = require('path'); |
|
||||||
const nodeExternals = require('webpack-node-externals'); |
|
||||||
const webpack = require('webpack'); |
|
||||||
const CopyPlugin = require('copy-webpack-plugin'); |
|
||||||
const TerserPlugin = require('terser-webpack-plugin'); |
|
||||||
const { resolveTsAliases } = require('./build-utils/resolveTsAliases'); |
|
||||||
|
|
||||||
module.exports = { |
|
||||||
entry: './src/index.ts', |
|
||||||
module: { |
|
||||||
rules: [ |
|
||||||
{ |
|
||||||
test: /\.tsx?$/, |
|
||||||
exclude: /node_modules/, |
|
||||||
use: { |
|
||||||
loader: 'ts-loader', |
|
||||||
options: { |
|
||||||
transpileOnly: true, |
|
||||||
}, |
|
||||||
}, |
|
||||||
}, |
|
||||||
], |
|
||||||
}, |
|
||||||
|
|
||||||
optimization: { |
|
||||||
minimize: true, //Update this to true or false
|
|
||||||
minimizer: [ |
|
||||||
new TerserPlugin({ |
|
||||||
terserOptions: { |
|
||||||
keep_classnames: true, |
|
||||||
}, |
|
||||||
}), |
|
||||||
], |
|
||||||
nodeEnv: false, |
|
||||||
}, |
|
||||||
externals: [nodeExternals()], |
|
||||||
resolve: { |
|
||||||
extensions: ['.tsx', '.ts', '.js', '.json'], |
|
||||||
alias: resolveTsAliases(path.resolve('tsconfig.json')), |
|
||||||
}, |
|
||||||
mode: 'production', |
|
||||||
output: { |
|
||||||
filename: 'bundle.js', |
|
||||||
path: path.resolve(__dirname, 'dist'), |
|
||||||
library: 'libs', |
|
||||||
libraryTarget: 'umd', |
|
||||||
globalObject: "typeof self !== 'undefined' ? self : this", |
|
||||||
}, |
|
||||||
node: { |
|
||||||
__dirname: false, |
|
||||||
}, |
|
||||||
plugins: [ |
|
||||||
new webpack.EnvironmentPlugin(['EE']), |
|
||||||
new CopyPlugin({ |
|
||||||
patterns: [{ from: 'src/public', to: 'public' }], |
|
||||||
}), |
|
||||||
], |
|
||||||
|
|
||||||
target: 'node', |
|
||||||
}; |
|
@ -1,59 +0,0 @@ |
|||||||
const path = require('path'); |
|
||||||
const nodeExternals = require('webpack-node-externals'); |
|
||||||
const webpack = require('webpack'); |
|
||||||
const TerserPlugin = require('terser-webpack-plugin'); |
|
||||||
const { resolveTsAliases } = require('./build-utils/resolveTsAliases'); |
|
||||||
|
|
||||||
module.exports = { |
|
||||||
entry: './src/run/local.ts', |
|
||||||
// devtool: 'inline-source-map',
|
|
||||||
module: { |
|
||||||
rules: [ |
|
||||||
{ |
|
||||||
test: /\.tsx?$/, |
|
||||||
exclude: /node_modules/, |
|
||||||
use: { |
|
||||||
loader: 'ts-loader', |
|
||||||
options: { |
|
||||||
transpileOnly: true, |
|
||||||
}, |
|
||||||
}, |
|
||||||
}, |
|
||||||
], |
|
||||||
}, |
|
||||||
|
|
||||||
optimization: { |
|
||||||
minimize: true, //Update this to true or false
|
|
||||||
minimizer: [ |
|
||||||
new TerserPlugin({ |
|
||||||
terserOptions: { |
|
||||||
keep_classnames: true, |
|
||||||
}, |
|
||||||
}), |
|
||||||
], |
|
||||||
nodeEnv: false, |
|
||||||
}, |
|
||||||
externals: [ |
|
||||||
nodeExternals({ |
|
||||||
allowlist: ['nocodb-sdk'], |
|
||||||
}), |
|
||||||
], |
|
||||||
resolve: { |
|
||||||
extensions: ['.tsx', '.ts', '.js', '.json'], |
|
||||||
alias: resolveTsAliases(path.resolve('tsconfig.json')), |
|
||||||
}, |
|
||||||
mode: 'production', |
|
||||||
output: { |
|
||||||
filename: 'main.js', |
|
||||||
path: path.resolve(__dirname, 'docker'), |
|
||||||
library: 'libs', |
|
||||||
libraryTarget: 'umd', |
|
||||||
globalObject: "typeof self !== 'undefined' ? self : this", |
|
||||||
}, |
|
||||||
node: { |
|
||||||
__dirname: false, |
|
||||||
}, |
|
||||||
plugins: [new webpack.EnvironmentPlugin(['EE'])], |
|
||||||
|
|
||||||
target: 'node', |
|
||||||
}; |
|
@ -1,57 +0,0 @@ |
|||||||
const path = require('path'); |
|
||||||
const nodeExternals = require('webpack-node-externals'); |
|
||||||
const webpack = require('webpack'); |
|
||||||
const CopyPlugin = require('copy-webpack-plugin'); |
|
||||||
const TerserPlugin = require('terser-webpack-plugin'); |
|
||||||
const { resolveTsAliases } = require('./build-utils/resolveTsAliases'); |
|
||||||
|
|
||||||
module.exports = { |
|
||||||
entry: './src/run/timely.ts', |
|
||||||
module: { |
|
||||||
rules: [ |
|
||||||
{ |
|
||||||
test: /\.tsx?$/, |
|
||||||
exclude: /node_modules/, |
|
||||||
use: { |
|
||||||
loader: 'ts-loader', |
|
||||||
options: { |
|
||||||
transpileOnly: true, |
|
||||||
}, |
|
||||||
}, |
|
||||||
}, |
|
||||||
], |
|
||||||
}, |
|
||||||
|
|
||||||
optimization: { |
|
||||||
minimize: true, //Update this to true or false
|
|
||||||
minimizer: [new TerserPlugin()], |
|
||||||
nodeEnv: false, |
|
||||||
}, |
|
||||||
externals: [ |
|
||||||
nodeExternals({ |
|
||||||
allowlist: ['nocodb-sdk'], |
|
||||||
}), |
|
||||||
], |
|
||||||
resolve: { |
|
||||||
extensions: ['.tsx', '.ts', '.js', '.json'], |
|
||||||
alias: resolveTsAliases(path.resolve('./tsconfig.json')), |
|
||||||
}, |
|
||||||
mode: 'production', |
|
||||||
output: { |
|
||||||
filename: 'main.js', |
|
||||||
path: path.resolve(__dirname, 'docker'), |
|
||||||
library: 'libs', |
|
||||||
libraryTarget: 'umd', |
|
||||||
globalObject: "typeof self !== 'undefined' ? self : this", |
|
||||||
}, |
|
||||||
node: { |
|
||||||
__dirname: false, |
|
||||||
}, |
|
||||||
plugins: [ |
|
||||||
new webpack.EnvironmentPlugin(['EE']), |
|
||||||
new CopyPlugin({ |
|
||||||
patterns: [{ from: 'src/public', to: 'public' }], |
|
||||||
}), |
|
||||||
], |
|
||||||
target: 'node', |
|
||||||
}; |
|
Loading…
Reference in new issue