npm i @rzbz/gulp-javascript-obfuscator
Gulp plugin for javascript-obfuscator
Install the package with npm:
$ npm install --save gulp-javascript-obfuscator
const gulp = require('gulp');
const javascriptObfuscator = require('gulp-javascript-obfuscator');
gulp.src('file.js')
.pipe(javascriptObfuscator())
.pipe(gulp.dest('dist'));
Pass any options available in the obfuscator
gulp.src('file.js')
.pipe(javascriptObfuscator({
compact: true
}))
.pipe(gulp.dest('dist'));
The only exception is obfuscator's sourceMap
option which must not be set, as it will be handled automatically when using gulp-sourcemaps
.
With version 1.1.6
onwards, gulp-javascript-obfuscator can be used in tandem with gulp-sourcemaps in order to generate source maps for your javascript files.
You will need to initialize gulp-sourcemaps prior to running gulp-javascript-obfuscator and write the source maps after, as such:
const sourcemaps = require('gulp-sourcemaps');
gulp.src('file.js')
.pipe(sourcemaps.init())
.pipe(javascriptObfuscator({
compact: true
}))
.pipe(sourcemaps.write())
.pipe(gulp.dest('dist'));
This will output a file.js.map
file to the dist directory.
You can chain other gulp plugins as well:
const sourcemaps = require('gulp-sourcemaps');
gulp.src('file.js')
.pipe(sourcemaps.init())
// use babel to pre-process javascript files
.pipe(babel({
presets: ['@babel/preset-env']
}))
.pipe(javascriptObfuscator({
compact: true
}))
.pipe(sourcemaps.write())
.pipe(gulp.dest('dist'));
For backwards compatibility, if gulp-sourcemaps
is not used and obfuscator's sourceMap option is set to true, a .map file will be thrown to Gulp stream. (This method is deprecated and not recommended for future use.)