
grunt-jscrambler
Add obfuscation to your build process with grunt and grunt-jscrambler.
DISCLAIMER: If you are looking for Jscrambler 3.8 or below please go to this page.
How to Use
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins.
Install
Once you're familiar with that process, you may install this plugin:
npm install grunt-jscrambler --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-jscrambler');
Setup your Jscrambler Grunt task
In your project's Gruntfile, add a section named jscrambler
to the data object passed into grunt.initConfig()
.
Relative path
grunt.initConfig({
jscrambler: {
main: {
options: {
keys: {
accessKey: '',
secretKey: ''
},
applicationId: '',
params: [
{
name: 'whitespaceRemoval'
},
{
name: 'charToTernaryOperator'
}
]
},
files: [
{src: ['foo.js', 'bar.js'], dest: 'dist/'},
]
}
},
});
Absolute path
grunt.initConfig({
jscrambler: {
main: {
options: {
keys: {
accessKey: '',
secretKey: ''
},
applicationId: '',
params: [
{
name: 'whitespaceRemoval'
},
{
name: 'charToTernaryOperator'
}
]
},
files: [
{
expand: true,
cwd: '/example/src/'
src: ['foo.js', 'bar.js'],
dest: '/destination/'
},
{
expand: true,
cwd: '/otherexample/'
src: ['foo.js', 'bar.js'],
dest: '/otherdestination/'
}
]
}
},
});
You will need your credentials and Application ID in order to protect your application.
Navigate to your profile page and grab your accessKey
and secretKey
at the API Credentials section.
Your applicationId
can be found inside your application page just below your application name. Click the copy to clipboard icon to copy the applicationId
.

You can also grab your current configuration on your application page. This will download a .json
file containing a valid configuration with your currently selected options.

Keep in mind that the params
object is optional and if it is not provided we will use your previous configuration.
Usage Example
You can find some working examples here