node-qrcode-lite/build.js
Vincenzo Greco 77064f5e5e Refactor/core ()
* Split core lib into multiple files

* Refactor data encoding methods

* Refactor data masking process

* Improve qr code generation process

* Increase minimum required node version to 0.10

* Add linter

* Add tests and tests coverage

* Update travis config to fix compilation issues

* Add examples folder

* Add missing license tag in package.json

* Update build script and add sourcemap support

* Publish only strictly needed files on npm

* Update readme
2016-12-16 23:45:08 +01:00

67 lines
1.4 KiB
JavaScript

var spawn = require('child_process').spawn
var fs = require('fs')
var q = [
function () {
if (!fs.existsSync('./build')) {
fs.mkdirSync('./build')
}
done()
},
function () {
var browserify = spawn('node', [
'node_modules/.bin/browserify',
'lib/index.js',
'-s', 'qrcodelib',
'-d',
'-o', 'build/qrcode.js'
])
browserify.stdin.end()
browserify.stdout.pipe(process.stdout)
browserify.stderr.pipe(process.stderr)
browserify.on('exit', function (code) {
if (code) {
console.error('browserify failed!')
process.exit(code)
}
done()
})
},
function () {
var uglify = spawn('node', [
'node_modules/.bin/uglifyjs',
'--compress', '--mangle',
'--source-map', 'build/qrcode.min.js.map',
'--source-map-url', 'qrcode.min.js.map',
'--', 'build/qrcode.js'])
var minStream = fs.createWriteStream('build/qrcode.min.js')
uglify.stdout.pipe(minStream)
uglify.stdin.end()
uglify.on('exit', function (code) {
if (code) {
console.error('uglify failed!')
fs.unlink('build/qrcode.min.js', function () {
process.exit(code)
})
}
done()
})
}
]
var done = function () {
var j = q.shift()
if (j) j()
else complete()
}
var complete = function () {
console.log('build complete =)')
}
done()