Admin webapp for GoToSocial
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
1.4 KiB

"use strict";
const babelify = require('babelify');
const icssify = require("icssify");
const prettyBytes = require("pretty-bytes");
const postcssPlugins = ["postcss-import", "postcss-strip-inline-comments", "postcss-nested", "postcss-simple-vars", "postcss-color-function", "autoprefixer"].map((plugin) => require(plugin)());
const browserifyConfig = {
transform: babelify.configure({presets: ["@babel/preset-env", "@babel/preset-react"]}),
plugin: [
[icssify, {
parser: require('postcss-scss'),
before: postcssPlugins,
mode: 'global'
}],
[require("css-extract"), { out: "public/bundle.css" }],
]
};
if (process.env.NODE_ENV == "development") {
const budo = require('budo');
budo('./src/index.js', {
live: true,
port: 8080,
browserify: browserifyConfig,
dir: "public",
css: "/public/bundle.css",
wg: "src/*",
serve: "bundle.js"
}).on('connect', function (ev) {
console.log('Server running on %s', ev.uri);
console.log('LiveReload running on port %s', ev.port);
}).on('update', function (buffer) {
console.log('bundle - %s', prettyBytes(buffer.length));
});
} else {
const browserify = require("browserify");
const fs = require("fs");
let b = browserify(browserifyConfig);
b.add('./src/index.js');
let output = fs.createWriteStream("./public/bundle.js");
b.bundle().pipe(output).on("finish", () => {
console.log("Finished bundle");
});
}