jscrambler
Advanced tools
Comparing version 6.4.28 to 7.0.0
# jscrambler | ||
## 7.0.0 | ||
### Major Changes | ||
- [26fdf6e]: Addition of a new flag `--delete-protection-on-success` that allows for the deletion of a protection after it has been run and was successful. | ||
By default `--delete-protection-on-success` is set to `false` and must be explicitly set to `true`. | ||
This flag was added in order to delete successful protections after the files were downloaded: protections might not be needed anymore after being used one single time and will take up space unnecessarily. | ||
### Patch Changes | ||
- [6758a7f]: Better package metadata. This may assist tooling like Renovate bot. | ||
## 6.4.28 | ||
@@ -4,0 +17,0 @@ |
@@ -111,3 +111,3 @@ #!/usr/bin/env node | ||
}; | ||
_commander.default.version(require('../../package.json').version).usage('[options] <file ...>').option('-a, --access-key <accessKey>', 'Access key').option('-c, --config <config>', 'Jscrambler configuration options').option('-H, --host <host>', 'Hostname').option('-i, --application-id <id>', 'Application ID').option('-o, --output-dir <dir>', 'Output directory').option('-p, --port <port>', 'Port').option('--base-path <path>', 'Base Path').option('--protocol <protocol>', 'Protocol (http or https)').option('--cafile <path>', 'Internal certificate authority').option('-C, --cwd <dir>', 'Current Working Directory').option('-s, --secret-key <secretKey>', 'Secret key').option('-m, --source-maps <id>', 'Download source maps').option('-R, --randomization-seed <seed>', 'Set randomization seed').option('--instrument', 'Instrument file(s) before start profiling. ATTENTION: previous profiling information will be deleted').option('--start-profiling', 'Starts profiling (assumes an already instrumented application)').option('--stop-profiling', 'Stops profiling').option('--code-hardening-threshold <threshold>', 'Set code hardening file size threshold. Format: {value}{unit="b,kb,mb"}. Example: 200kb', validateCodeHardeningThreshold).option('--recommended-order <bool>', 'Use recommended order', validateBool('recommended-order')).option('-W, --werror <bool>', 'Set werror flag value (default: true)', validateBool('werror')).option('--utc <bool>', 'Set UTC as the request time zone. Otherwise it uses the local time zone (default: true)', validateBool('utc')).option('--tolerate-minification <bool>', "Don't detect minification as malicious tampering (default: true)", validateBool('tolerate-minification')).option('--use-profiling-data <bool>', "(version 6.2 only) Protection should use the existing profiling data (default: true)", validateBool('use-profiling-data')).option('--profiling-data-mode <mode>', "(version 6.3 and above) Select profiling mode (default: automatic)", validateProfilingDataMode).option('--remove-profiling-data', "Removes the current application profiling information").option('--use-app-classification <bool>', '(version 6.3 and above) Protection should use Application Classification metadata when protecting (default: true)', validateBool('--use-app-classification')).option('--input-symbol-table <file>', '(version 6.3 and above) Protection should use symbol table when protecting. (default: no file)').option('--output-symbol-table <id>', '(version 6.3 and above) Download output symbol table (json)').option('--jscramblerVersion <version>', 'Use a specific Jscrambler version').option('--debugMode', 'Protect in debug mode').option('--skip-sources', 'Prevent source files from being updated').option('--force-app-environment <environment>', "(version 7.1 and above) Override application's environment detected automatically. Possible values: ".concat(availableEnvironments.toString()), validateForceAppEnvironment).option('--ensure-code-annotation <bool>', "(version 7.3 and above) Fail protection if no annotations are found on the source code (default: false)", validateBool('ensure-code-annotation')).option('-n <number>', "(version 7.2 and above) Create multiple protections at once.").parse(process.argv); | ||
_commander.default.version(require('../../package.json').version).usage('[options] <file ...>').option('-a, --access-key <accessKey>', 'Access key').option('-c, --config <config>', 'Jscrambler configuration options').option('-H, --host <host>', 'Hostname').option('-i, --application-id <id>', 'Application ID').option('-o, --output-dir <dir>', 'Output directory').option('-p, --port <port>', 'Port').option('--base-path <path>', 'Base Path').option('--protocol <protocol>', 'Protocol (http or https)').option('--cafile <path>', 'Internal certificate authority').option('-C, --cwd <dir>', 'Current Working Directory').option('-s, --secret-key <secretKey>', 'Secret key').option('-m, --source-maps <id>', 'Download source maps').option('-R, --randomization-seed <seed>', 'Set randomization seed').option('--instrument', 'Instrument file(s) before start profiling. ATTENTION: previous profiling information will be deleted').option('--start-profiling', 'Starts profiling (assumes an already instrumented application)').option('--stop-profiling', 'Stops profiling').option('--code-hardening-threshold <threshold>', 'Set code hardening file size threshold. Format: {value}{unit="b,kb,mb"}. Example: 200kb', validateCodeHardeningThreshold).option('--recommended-order <bool>', 'Use recommended order', validateBool('recommended-order')).option('-W, --werror <bool>', 'Set werror flag value (default: true)', validateBool('werror')).option('--utc <bool>', 'Set UTC as the request time zone. Otherwise it uses the local time zone (default: true)', validateBool('utc')).option('--tolerate-minification <bool>', "Don't detect minification as malicious tampering (default: true)", validateBool('tolerate-minification')).option('--use-profiling-data <bool>', "(version 6.2 only) Protection should use the existing profiling data (default: true)", validateBool('use-profiling-data')).option('--profiling-data-mode <mode>', "(version 6.3 and above) Select profiling mode (default: automatic)", validateProfilingDataMode).option('--remove-profiling-data', "Removes the current application profiling information").option('--use-app-classification <bool>', '(version 6.3 and above) Protection should use Application Classification metadata when protecting (default: true)', validateBool('--use-app-classification')).option('--input-symbol-table <file>', '(version 6.3 and above) Protection should use symbol table when protecting. (default: no file)').option('--output-symbol-table <id>', '(version 6.3 and above) Download output symbol table (json)').option('--jscramblerVersion <version>', 'Use a specific Jscrambler version').option('--debugMode', 'Protect in debug mode').option('--skip-sources', 'Prevent source files from being updated').option('--force-app-environment <environment>', "(version 7.1 and above) Override application's environment detected automatically. Possible values: ".concat(availableEnvironments.toString()), validateForceAppEnvironment).option('--ensure-code-annotation <bool>', "(version 7.3 and above) Fail protection if no annotations are found on the source code (default: false)", validateBool('ensure-code-annotation')).option('-n <number>', "(version 7.2 and above) Create multiple protections at once.").option('--delete-protection-on-success <bool>', 'Deletes the protection files after they have been protected and downloaded (default: false)', validateBool('--delete-protection-on-success')).parse(process.argv); | ||
let globSrc, filesSrc, config; | ||
@@ -187,2 +187,5 @@ | ||
} | ||
if (_commander.default.deleteProtectionOnSuccess) { | ||
config.deleteProtectionOnSuccess = _commander.default.deleteProtectionOnSuccess === 'true'; | ||
} | ||
globSrc = config.filesSrc; | ||
@@ -267,3 +270,4 @@ // If src paths have been provided | ||
forceAppEnvironment, | ||
beforeProtection | ||
beforeProtection, | ||
deleteProtectionOnSuccess | ||
} = config; | ||
@@ -379,3 +383,4 @@ const params = config.params; | ||
forceAppEnvironment, | ||
beforeProtection | ||
beforeProtection, | ||
deleteProtectionOnSuccess | ||
}); | ||
@@ -382,0 +387,0 @@ try { |
@@ -270,3 +270,4 @@ "use strict"; | ||
ensureCodeAnnotation, | ||
forceAppEnvironment | ||
forceAppEnvironment, | ||
deleteProtectionOnSuccess | ||
} = finalConfig; | ||
@@ -482,2 +483,11 @@ const { | ||
} | ||
// change this to have the variable that checks if the protection is to be removed | ||
if (deleteProtectionOnSuccess) { | ||
_this.removeProtection(client, protection._id, applicationId).then(() => { | ||
if (debug) { | ||
console.log('Protection has been successful and will now be deleted'); | ||
} | ||
}).catch(error => console.error(error)); | ||
} | ||
return protection._id; | ||
@@ -484,0 +494,0 @@ }; |
{ | ||
"name": "jscrambler", | ||
"description": "Jscrambler API client.", | ||
"version": "6.4.28", | ||
"version": "7.0.0", | ||
"homepage": "https://github.com/jscrambler/jscrambler", | ||
@@ -9,3 +9,4 @@ "author": "Jscrambler <support@jscrambler.com>", | ||
"type": "git", | ||
"url": "https://github.com/jscrambler/jscrambler.git" | ||
"url": "https://github.com/jscrambler/jscrambler.git", | ||
"directory": "packages/jscrambler-cli" | ||
}, | ||
@@ -12,0 +13,0 @@ "bugs": { |
130430
2658