deploy: current vibn theia state
Made-with: Cursor
This commit is contained in:
67
examples/browser/webpack.config.js
Normal file
67
examples/browser/webpack.config.js
Normal file
@@ -0,0 +1,67 @@
|
||||
/**
|
||||
* This file can be edited to customize webpack configuration.
|
||||
* To reset delete this file and rerun theia build again.
|
||||
*/
|
||||
// @ts-check
|
||||
const path = require('path');
|
||||
const CopyWebpackPlugin = require('copy-webpack-plugin');
|
||||
const configs = require('./gen-webpack.config.js');
|
||||
const nodeConfig = require('./gen-webpack.node.config.js');
|
||||
const webpack = require('webpack');
|
||||
|
||||
/**
|
||||
* Expose bundled modules on window.theia.moduleName namespace, e.g.
|
||||
* window['theia']['@theia/core/lib/common/uri'].
|
||||
* Such syntax can be used by external code, for instance, for testing.
|
||||
*/
|
||||
configs[0].module.rules.push({
|
||||
test: /\.js$/,
|
||||
loader: require.resolve('@theia/application-manager/lib/expose-loader')
|
||||
});
|
||||
|
||||
/**
|
||||
* Inject environment variables into the browser bundle
|
||||
* These are needed by ai-ide preferences to read default values
|
||||
*/
|
||||
configs[0].plugins.push(
|
||||
new webpack.DefinePlugin({
|
||||
'process.env.GITEA_API_URL': JSON.stringify(process.env.GITEA_API_URL || ''),
|
||||
'process.env.GITEA_API_TOKEN': JSON.stringify(process.env.GITEA_API_TOKEN || ''),
|
||||
'process.env.GITEA_USERNAME': JSON.stringify(process.env.GITEA_USERNAME || ''),
|
||||
'process.env.COOLIFY_API_URL': JSON.stringify(process.env.COOLIFY_API_URL || ''),
|
||||
'process.env.COOLIFY_API_TOKEN': JSON.stringify(process.env.COOLIFY_API_TOKEN || ''),
|
||||
'process.env.GOOGLE_API_KEY': JSON.stringify(process.env.GOOGLE_API_KEY || ''),
|
||||
})
|
||||
);
|
||||
|
||||
// Copy vibn.css and the customised index.html into lib/frontend/ on every build
|
||||
configs[0].plugins.push(
|
||||
new CopyWebpackPlugin({
|
||||
patterns: [
|
||||
{
|
||||
from: path.resolve(__dirname, 'vibn.css'),
|
||||
to: path.resolve(__dirname, 'lib', 'frontend', 'vibn.css'),
|
||||
},
|
||||
{
|
||||
from: path.resolve(__dirname, 'src-gen/frontend/index.html'),
|
||||
to: path.resolve(__dirname, 'lib', 'frontend', 'index.html'),
|
||||
},
|
||||
]
|
||||
})
|
||||
);
|
||||
|
||||
// Disable source maps and compression to keep memory under 2GB for local builds
|
||||
// Source maps alone can double webpack's peak memory usage
|
||||
if (process.env.THEIA_LOCAL_BUILD) {
|
||||
configs[0].devtool = false;
|
||||
configs[0].cache = false;
|
||||
// Remove CompressionPlugin — it holds all output in memory to gzip it
|
||||
configs[0].plugins = configs[0].plugins.filter(
|
||||
p => p.constructor.name !== 'CompressionPlugin'
|
||||
);
|
||||
}
|
||||
|
||||
module.exports = [
|
||||
...configs,
|
||||
nodeConfig.config
|
||||
];
|
||||
Reference in New Issue
Block a user