mirror of
https://github.com/javascript-obfuscator/javascript-obfuscator
synced 2026-08-09 12:42:29 +00:00
62 lines
2.7 KiB
TypeScript
62 lines
2.7 KiB
TypeScript
import { ServiceIdentifiers } from '../../src/container/ServiceIdentifiers';
|
|
|
|
import { IInversifyContainerFacade } from '../../src/interfaces/container/IInversifyContainerFacade';
|
|
import { IJavaScriptObfuscator } from '../../src/interfaces/IJavaScriptObfsucator';
|
|
import { IObfuscationResult } from '../../src/interfaces/IObfuscationResult';
|
|
|
|
import { NO_CUSTOM_NODES_PRESET } from '../../src/preset-options/NoCustomNodesPreset';
|
|
|
|
import { InversifyContainerFacade } from '../../src/container/InversifyContainerFacade';
|
|
|
|
const assert: Chai.AssertStatic = require('chai').assert;
|
|
|
|
describe('JavaScriptObfuscatorInternal', () => {
|
|
describe(`setSourceMapUrl (url: string)`, () => {
|
|
let inversifyContainerFacade: IInversifyContainerFacade,
|
|
javaScriptObfuscator: IJavaScriptObfuscator,
|
|
obfuscationResult: IObfuscationResult,
|
|
sourceMapUrl: string = 'test.js.map';
|
|
|
|
it('should link obfuscated code with source map', () => {
|
|
inversifyContainerFacade = new InversifyContainerFacade(
|
|
Object.assign({}, NO_CUSTOM_NODES_PRESET, {
|
|
sourceMap: true,
|
|
sourceMapFileName: sourceMapUrl
|
|
})
|
|
);
|
|
javaScriptObfuscator = inversifyContainerFacade
|
|
.get<IJavaScriptObfuscator>(ServiceIdentifiers.IJavaScriptObfuscator);
|
|
|
|
obfuscationResult = javaScriptObfuscator.obfuscate('var test = 1;');
|
|
|
|
assert.match(
|
|
obfuscationResult.getObfuscatedCode(),
|
|
new RegExp(`sourceMappingURL=${sourceMapUrl}`))
|
|
;
|
|
assert.isOk(JSON.parse(obfuscationResult.getSourceMap()).mappings);
|
|
});
|
|
|
|
it('should properly add base url to source map import inside obfuscated code if `sourceMapBaseUrl` is set', () => {
|
|
const sourceMapBaseUrl: string = 'http://localhost:9000';
|
|
|
|
inversifyContainerFacade = new InversifyContainerFacade(
|
|
Object.assign({}, NO_CUSTOM_NODES_PRESET, {
|
|
sourceMap: true,
|
|
sourceMapBaseUrl: sourceMapBaseUrl,
|
|
sourceMapFileName: sourceMapUrl
|
|
})
|
|
);
|
|
javaScriptObfuscator = inversifyContainerFacade
|
|
.get<IJavaScriptObfuscator>(ServiceIdentifiers.IJavaScriptObfuscator);
|
|
|
|
obfuscationResult = javaScriptObfuscator.obfuscate('var test = 1;');
|
|
|
|
assert.match(
|
|
obfuscationResult.getObfuscatedCode(),
|
|
new RegExp(`sourceMappingURL=${sourceMapBaseUrl}/${sourceMapUrl}$`))
|
|
;
|
|
assert.isOk(JSON.parse(obfuscationResult.getSourceMap()).mappings);
|
|
});
|
|
});
|
|
});
|