UNPKG

yyuap-ref

Version:

cloud os fe ref project which is based on tinper

95 lines (88 loc) 1.87 kB
// dependency var fs = require("fs"); var path = require("path"); var ora = require('ora') var rm = require('rimraf') var chalk = require('chalk') // gulp & gulp plugin var gulp = require("gulp"); var babel = require("gulp-babel"); var es3ify = require("gulp-es3ify"); var uglify = require('gulp-uglify'); var spinner = ora('building for production...') var makeAlias = function(obj) { var result = []; Object.keys(obj).forEach(function(key) { var cell = { src: key, expose: obj[key] }; result.push(cell); }) return result; }; var babelPresets = [ ["env",{ "modules" : false }], "react", "stage-2", ] var babelPlugins = [ "add-module-exports", "transform-object-rest-spread", [ "css-modules-transform", { generateScopedName: '[local]__[name]___[hash:base64:5]', ignore: "./node_modules/", extractCss: { dir: "./dist2/", relativeRoot: "./src/", filename: "[path]/[name].css" }, keepImport: true }, ], [ "module-alias", makeAlias({ "./src/bee": "bee", }) ] ]; gulp.task("clean", function (cb) { spinner.start() rm(path.join(__dirname, '../dist2'), err => { if (err) { cb(err) } cb() }) }); gulp.task("fonts", ["clean"], function () { return gulp .src([ './src/**/*.eot', './src/**/*.svg', './src/**/*.ttf', './src/**/*.woff' ]) .pipe(gulp.dest('dist2')) }); gulp.task("build", ["clean", "fonts"], function () { return gulp .src([ path.join(process.cwd(), "./src/**/*.js"), ]) .pipe( babel({ presets: babelPresets, plugins: babelPlugins, }) ) .pipe(es3ify()).pipe(uglify()) .pipe(gulp.dest("dist2")) .on("end", function () { spinner.stop() console.log(chalk.cyan(' Build complete.\n')) }) });