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.
46 lines
1.4 KiB
46 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"); |
|
}); |
|
}
|
|
|