Barcode Generation
This commit is contained in:
132
node_modules/jsbarcode/automation/building.js
generated
vendored
Normal file
132
node_modules/jsbarcode/automation/building.js
generated
vendored
Normal file
@@ -0,0 +1,132 @@
|
||||
var gulp = require('gulp');
|
||||
var header = require('gulp-header');
|
||||
var clean = require('gulp-clean');
|
||||
var gulpWebpack = require('webpack-stream');
|
||||
var webpack = require('webpack');
|
||||
var babel = require("gulp-babel");
|
||||
var runSequence = require('gulp4-run-sequence');
|
||||
var fs = require('fs');
|
||||
|
||||
var settings = require('./settings.json');
|
||||
var shared = require('./shared.js');
|
||||
|
||||
gulp.task("clean", gulp.series(function () {
|
||||
return gulp.src(["bin/", "dist/"], { read: false })
|
||||
.pipe(clean());
|
||||
}));
|
||||
|
||||
|
||||
gulp.task("babel", gulp.series(function () {
|
||||
return babelFunc();
|
||||
}));
|
||||
|
||||
|
||||
function babelFunc() {
|
||||
return gulp.src("src/**/*")
|
||||
.pipe(babel({
|
||||
presets: ['es2015', 'stage-3']
|
||||
}))
|
||||
.pipe(gulp.dest("bin/"));
|
||||
}
|
||||
|
||||
|
||||
gulp.task("webpack", gulp.series(["babel"], function () {
|
||||
return webpackFunc();
|
||||
}));
|
||||
|
||||
|
||||
function webpackFunc() {
|
||||
return gulp.src('bin/JsBarcode.js')
|
||||
.pipe(gulpWebpack(
|
||||
{
|
||||
mode: "none",
|
||||
output: {
|
||||
filename: 'JsBarcode.all.js'
|
||||
}
|
||||
}
|
||||
, webpack))
|
||||
.pipe(gulp.dest("dist/"));
|
||||
}
|
||||
|
||||
|
||||
gulp.task("webpack-min", gulp.series(["babel"], function () {
|
||||
return webpackMin('all');
|
||||
}));
|
||||
|
||||
|
||||
function webpackMin(name, dest) {
|
||||
dest = dest || './';
|
||||
return gulp.src('bin/JsBarcode.js')
|
||||
.pipe(gulpWebpack(
|
||||
{
|
||||
mode: "production",
|
||||
output: {
|
||||
filename: shared.minifiedFilename(name)
|
||||
},
|
||||
}
|
||||
, webpack))
|
||||
.pipe(header(settings.banner, require(settings.baseDir + 'package.json')))
|
||||
.pipe(gulp.dest("dist/" + dest));
|
||||
}
|
||||
|
||||
|
||||
gulp.task("webpack-all", gulp.series(function (cb) {
|
||||
var barcodes = require('./barcode-building.json');
|
||||
|
||||
// Move the real barcodes/index.js out of the way while compiling the individual barcodes
|
||||
fs.renameSync("src/barcodes/index.js", "src/barcodes/index.tmp.js");
|
||||
|
||||
// Take a barcode from the barcodes array, call the functions to compile that
|
||||
// format and have a callback when it has finished.
|
||||
function loopBarcode(i) {
|
||||
if (i < barcodes.length) {
|
||||
createBarcodeInclude(barcodes[i], function () {
|
||||
loopBarcode(i + 1);
|
||||
});
|
||||
}
|
||||
else {
|
||||
fs.renameSync("src/barcodes/index.tmp.js", "src/barcodes/index.js");
|
||||
cb(); // Done
|
||||
}
|
||||
}
|
||||
|
||||
loopBarcode(0);
|
||||
}));
|
||||
|
||||
|
||||
// Takes information about a barcode formatSize
|
||||
// Modifies the barcodes/index.js file to only import the specified format
|
||||
// and then does a recompilation and minifies everything with webpack
|
||||
function createBarcodeInclude(barcode, callback) {
|
||||
var toFile = "";
|
||||
toFile += "import {" + barcode.names + "} from '" + barcode.barcodeFile + "'";
|
||||
toFile += "\n";
|
||||
toFile += "export default {" + barcode.names + "}";
|
||||
|
||||
// Write a new barcodes/index file that only includes the specified barcode
|
||||
fs.writeFile("src/barcodes/index.js", toFile, function () {
|
||||
// Remove the compiled barcodes/index file (if it exist)
|
||||
if (fs.existsSync("bin/barcodes/index.js")) {
|
||||
fs.unlinkSync("bin/barcodes/index.js");
|
||||
}
|
||||
// Re-compile with babel and webpack everything
|
||||
babelFunc().on('end', function () {
|
||||
webpackMin(barcode.name, 'barcodes/').on('end', callback);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
gulp.task('compress', gulp.series(function (cb) {
|
||||
runSequence(
|
||||
"clean",
|
||||
"webpack-all",
|
||||
"webpack",
|
||||
"webpack-min",
|
||||
cb
|
||||
);
|
||||
}));
|
||||
|
||||
gulp.task('compile', gulp.series(['babel']));
|
||||
|
||||
gulp.task('compile-web', gulp.series(['webpack']));
|
||||
Reference in New Issue
Block a user