
Substantially borrowed from upstream ref: 13a208ee88e55 (before they started editing generated artefacts instead of source). Integrated, including: - Remove previously removed features: emoji, hats, and name colors - Compensate for lack of unified root template - Add React build process to Dockerfile and `bootstrap/init.sh` - Preliminary integration of chat websocket workers For testing, modify `supervisord.conf.dev` to put chat on port 80 and the site service on some other port. Then visit: http://localhost/chat Still to do: - Access control for specific small-groups (and admins probably): Set the values somewhere (site_settings.json? Redis?) and use for authorization in `chat_is_allowed`. - Proxying only /chat to the websocket workers - Chat persistance across restarts: either Redis devops or to DB
20 lines
703 B
JavaScript
20 lines
703 B
JavaScript
require('dotenv').config()
|
|
const package = require("./package.json");
|
|
const path = require("path");
|
|
const { build } = require("esbuild");
|
|
|
|
const options = {
|
|
entryPoints: ["./src/index.tsx"],
|
|
outfile: path.resolve(__dirname, "../files/assets/js/chat_done.js"),
|
|
bundle: true,
|
|
minify: process.env.NODE_ENV === "production",
|
|
define: {
|
|
"process.env.VERSION": `"${package.version}"`,
|
|
"process.env.NODE_ENV": `"${process.env.NODE_ENV}"`,
|
|
"process.env.DEBUG": process.env.DEBUG,
|
|
"process.env.FEATURES_ACTIVITY": process.env.FEATURES_ACTIVITY,
|
|
"process.env.APPROXIMATE_CHARACTER_WIDTH": process.env.APPROXIMATE_CHARACTER_WIDTH,
|
|
},
|
|
};
|
|
|
|
build(options).catch(() => process.exit(1));
|