mirror of
https://github.com/javascript-obfuscator/javascript-obfuscator
synced 2026-08-09 12:42:29 +00:00
slightly stronger tslint rules
This commit is contained in:
Vendored
+215
-216
File diff suppressed because it is too large
Load Diff
+7
-7
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "javascript-obfuscator",
|
||||
"version": "0.9.0-dev.8",
|
||||
"version": "0.9.0-dev.9",
|
||||
"description": "JavaScript obfuscator",
|
||||
"keywords": [
|
||||
"obfuscator",
|
||||
@@ -23,7 +23,7 @@
|
||||
"babel-polyfill": "^6.20.0",
|
||||
"babel-runtime": "^6.20.0",
|
||||
"chance": "1.0.4",
|
||||
"class-validator": "0.6.6",
|
||||
"class-validator": "0.6.8",
|
||||
"commander": "2.9.0",
|
||||
"escodegen": "1.8.1",
|
||||
"esprima": "3.1.3",
|
||||
@@ -44,10 +44,10 @@
|
||||
"@types/esprima": "2.1.33",
|
||||
"@types/estraverse": "0.0.6",
|
||||
"@types/estree": "0.0.34",
|
||||
"@types/lodash": "^4.14.45",
|
||||
"@types/lodash": "^4.14.47",
|
||||
"@types/mkdirp": "0.3.29",
|
||||
"@types/mocha": "2.2.35",
|
||||
"@types/node": "6.0.57",
|
||||
"@types/mocha": "2.2.36",
|
||||
"@types/node": "6.0.58",
|
||||
"@types/sinon": "1.16.34",
|
||||
"@types/string-template": "1.0.2",
|
||||
"awesome-typescript-loader": "3.0.0-beta.17",
|
||||
@@ -61,10 +61,10 @@
|
||||
"mocha": "3.2.0",
|
||||
"sinon": "2.0.0-pre.4",
|
||||
"ts-node": "2.0.0",
|
||||
"tslint": "4.2.0",
|
||||
"tslint": "4.3.1",
|
||||
"tslint-loader": "^3.3.0",
|
||||
"typescript": "2.1.4",
|
||||
"webpack": "2.2.0-rc.2",
|
||||
"webpack": "2.2.0-rc.3",
|
||||
"webpack-node-externals": "1.5.4"
|
||||
},
|
||||
"repository": {
|
||||
|
||||
@@ -34,7 +34,7 @@ export class CatchClauseTransformer extends AbstractNodeTransformer {
|
||||
* @param replacersFactory
|
||||
* @param options
|
||||
*/
|
||||
constructor(
|
||||
constructor (
|
||||
@inject(ServiceIdentifiers.Factory__IObfuscatorReplacer) replacersFactory: (replacer: NodeObfuscatorsReplacers) => IObfuscationReplacer,
|
||||
@inject(ServiceIdentifiers.IOptions) options: IOptions
|
||||
) {
|
||||
|
||||
@@ -42,7 +42,7 @@ export class FunctionDeclarationTransformer extends AbstractNodeTransformer {
|
||||
* @param nodeObfuscatorsReplacersFactory
|
||||
* @param options
|
||||
*/
|
||||
constructor(
|
||||
constructor (
|
||||
@inject(ServiceIdentifiers.Factory__IObfuscatorReplacer) nodeObfuscatorsReplacersFactory: (replacer: NodeObfuscatorsReplacers) => IObfuscationReplacer,
|
||||
@inject(ServiceIdentifiers.IOptions) options: IOptions
|
||||
) {
|
||||
|
||||
@@ -34,7 +34,7 @@ export class FunctionTransformer extends AbstractNodeTransformer {
|
||||
* @param nodeObfuscatorsReplacersFactory
|
||||
* @param options
|
||||
*/
|
||||
constructor(
|
||||
constructor (
|
||||
@inject(ServiceIdentifiers.Factory__IObfuscatorReplacer) nodeObfuscatorsReplacersFactory: (replacer: NodeObfuscatorsReplacers) => IObfuscationReplacer,
|
||||
@inject(ServiceIdentifiers.IOptions) options: IOptions
|
||||
) {
|
||||
|
||||
@@ -42,7 +42,7 @@ export class LabeledStatementTransformer extends AbstractNodeTransformer {
|
||||
* @param nodeObfuscatorsReplacersFactory
|
||||
* @param options
|
||||
*/
|
||||
constructor(
|
||||
constructor (
|
||||
@inject(ServiceIdentifiers.Factory__IObfuscatorReplacer) nodeObfuscatorsReplacersFactory: (replacer: NodeObfuscatorsReplacers) => IObfuscationReplacer,
|
||||
@inject(ServiceIdentifiers.IOptions) options: IOptions
|
||||
) {
|
||||
|
||||
@@ -23,7 +23,7 @@ export class LiteralTransformer extends AbstractNodeTransformer {
|
||||
* @param replacersFactory
|
||||
* @param options
|
||||
*/
|
||||
constructor(
|
||||
constructor (
|
||||
@inject(ServiceIdentifiers.Factory__IObfuscatorReplacer) replacersFactory: (replacer: NodeObfuscatorsReplacers) => IObfuscationReplacer,
|
||||
@inject(ServiceIdentifiers.IOptions) options: IOptions
|
||||
) {
|
||||
|
||||
@@ -23,7 +23,7 @@ export class MemberExpressionTransformer extends AbstractNodeTransformer {
|
||||
* @param replacersFactory
|
||||
* @param options
|
||||
*/
|
||||
constructor(
|
||||
constructor (
|
||||
@inject(ServiceIdentifiers.Factory__IObfuscatorReplacer) replacersFactory: (replacer: NodeObfuscatorsReplacers) => IObfuscationReplacer,
|
||||
@inject(ServiceIdentifiers.IOptions) options: IOptions
|
||||
) {
|
||||
|
||||
@@ -37,7 +37,7 @@ export class MethodDefinitionTransformer extends AbstractNodeTransformer {
|
||||
* @param replacersFactory
|
||||
* @param options
|
||||
*/
|
||||
constructor(
|
||||
constructor (
|
||||
@inject(ServiceIdentifiers.Factory__IObfuscatorReplacer) replacersFactory: (replacer: NodeObfuscatorsReplacers) => IObfuscationReplacer,
|
||||
@inject(ServiceIdentifiers.IOptions) options: IOptions
|
||||
) {
|
||||
|
||||
@@ -27,7 +27,7 @@ export class ObjectExpressionTransformer extends AbstractNodeTransformer {
|
||||
/**
|
||||
* @param options
|
||||
*/
|
||||
constructor(
|
||||
constructor (
|
||||
@inject(ServiceIdentifiers.IOptions) options: IOptions
|
||||
) {
|
||||
super(options);
|
||||
|
||||
@@ -27,7 +27,7 @@ export class TemplateLiteralTransformer extends AbstractNodeTransformer {
|
||||
* @param replacersFactory
|
||||
* @param options
|
||||
*/
|
||||
constructor(
|
||||
constructor (
|
||||
@inject(ServiceIdentifiers.Factory__IObfuscatorReplacer) replacersFactory: (replacer: NodeObfuscatorsReplacers) => IObfuscationReplacer,
|
||||
@inject(ServiceIdentifiers.IOptions) options: IOptions
|
||||
) {
|
||||
|
||||
@@ -43,7 +43,7 @@ export class VariableDeclarationTransformer extends AbstractNodeTransformer {
|
||||
* @param replacersFactory
|
||||
* @param options
|
||||
*/
|
||||
constructor(
|
||||
constructor (
|
||||
@inject(ServiceIdentifiers.Factory__IObfuscatorReplacer) replacersFactory: (replacer: NodeObfuscatorsReplacers) => IObfuscationReplacer,
|
||||
@inject(ServiceIdentifiers.IOptions) options: IOptions
|
||||
) {
|
||||
|
||||
+17
-17
@@ -23,20 +23,20 @@ export class NodeUtils {
|
||||
];
|
||||
|
||||
/**
|
||||
* @param node
|
||||
* @param astTree
|
||||
* @return {T}
|
||||
*/
|
||||
public static addXVerbatimPropertyToLiterals <T extends ESTree.Node> (node: T): T {
|
||||
NodeUtils.typedReplace(node, NodeType.Literal, {
|
||||
leave: (node: ESTree.Literal) => {
|
||||
node['x-verbatim-property'] = {
|
||||
content : node.raw,
|
||||
public static addXVerbatimPropertyToLiterals <T extends ESTree.Node> (astTree: T): T {
|
||||
NodeUtils.typedReplace(astTree, NodeType.Literal, {
|
||||
leave: (literalNode: ESTree.Literal) => {
|
||||
literalNode['x-verbatim-property'] = {
|
||||
content : literalNode.raw,
|
||||
precedence: escodegen.Precedence.Primary
|
||||
};
|
||||
}
|
||||
});
|
||||
|
||||
return node;
|
||||
return astTree;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -152,13 +152,13 @@ export class NodeUtils {
|
||||
}
|
||||
|
||||
/**
|
||||
* @param node
|
||||
* @param astTree
|
||||
* @return {T}
|
||||
*/
|
||||
public static parentize <T extends ESTree.Node> (node: T): T {
|
||||
public static parentize <T extends ESTree.Node> (astTree: T): T {
|
||||
let isRootNode: boolean = true;
|
||||
|
||||
estraverse.traverse(node, {
|
||||
estraverse.traverse(astTree, {
|
||||
enter: (node: ESTree.Node, parentNode: ESTree.Node): any => {
|
||||
let value: ESTree.Node;
|
||||
|
||||
@@ -180,35 +180,35 @@ export class NodeUtils {
|
||||
}
|
||||
});
|
||||
|
||||
return node;
|
||||
return astTree;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param node
|
||||
* @param astTree
|
||||
* @param nodeType
|
||||
* @param visitor
|
||||
*/
|
||||
public static typedReplace (
|
||||
node: ESTree.Node,
|
||||
astTree: ESTree.Node,
|
||||
nodeType: string,
|
||||
visitor: {enter?: (node: ESTree.Node) => void, leave?: (node: ESTree.Node) => void},
|
||||
): void {
|
||||
NodeUtils.typedTraverse(node, nodeType, visitor, 'replace');
|
||||
NodeUtils.typedTraverse(astTree, nodeType, visitor, 'replace');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param node
|
||||
* @param astTree
|
||||
* @param nodeType
|
||||
* @param visitor
|
||||
* @param traverseType
|
||||
*/
|
||||
public static typedTraverse (
|
||||
node: ESTree.Node,
|
||||
astTree: ESTree.Node,
|
||||
nodeType: string,
|
||||
visitor: estraverse.Visitor,
|
||||
traverseType: string = 'traverse'
|
||||
): void {
|
||||
(<any>estraverse)[traverseType](node, {
|
||||
(<any>estraverse)[traverseType](astTree, {
|
||||
enter: (node: ESTree.Node, parentNode: ESTree.Node): any => {
|
||||
if (node.type === nodeType && visitor.enter) {
|
||||
return visitor.enter(node, parentNode);
|
||||
|
||||
+3
-3
@@ -37,14 +37,14 @@ export class FunctionDeclarationCalleeDataExtractor extends AbstractCalleeDataEx
|
||||
}
|
||||
|
||||
/**
|
||||
* @param node
|
||||
* @param targetNode
|
||||
* @param name
|
||||
* @returns {ESTree.BlockStatement|null}
|
||||
*/
|
||||
private getCalleeBlockStatement (node: ESTree.Node, name: string): ESTree.BlockStatement|null {
|
||||
private getCalleeBlockStatement (targetNode: ESTree.Node, name: string): ESTree.BlockStatement|null {
|
||||
let calleeBlockStatement: ESTree.BlockStatement|null = null;
|
||||
|
||||
estraverse.traverse(node, {
|
||||
estraverse.traverse(targetNode, {
|
||||
enter: (node: ESTree.Node): any => {
|
||||
if (Node.isFunctionDeclarationNode(node) && node.id.name === name) {
|
||||
calleeBlockStatement = node.body;
|
||||
|
||||
+3
-3
@@ -41,14 +41,14 @@ export class FunctionExpressionCalleeDataExtractor extends AbstractCalleeDataExt
|
||||
}
|
||||
|
||||
/**
|
||||
* @param node
|
||||
* @param targetNode
|
||||
* @param name
|
||||
* @returns {ESTree.BlockStatement|null}
|
||||
*/
|
||||
private getCalleeBlockStatement (node: ESTree.Node, name: string): ESTree.BlockStatement|null {
|
||||
private getCalleeBlockStatement (targetNode: ESTree.Node, name: string): ESTree.BlockStatement|null {
|
||||
let calleeBlockStatement: ESTree.BlockStatement|null = null;
|
||||
|
||||
estraverse.traverse(node, {
|
||||
estraverse.traverse(targetNode, {
|
||||
enter: (node: ESTree.Node, parentNode: ESTree.Node): any => {
|
||||
if (
|
||||
Node.isFunctionExpressionNode(node) &&
|
||||
|
||||
+3
-3
@@ -85,12 +85,12 @@ export class ObjectExpressionCalleeDataExtractor extends AbstractCalleeDataExtra
|
||||
}
|
||||
|
||||
/**
|
||||
* @param node
|
||||
* @param targetNode
|
||||
* @param objectMembersCallsChain
|
||||
* @returns {ESTree.BlockStatement|null}
|
||||
*/
|
||||
private getCalleeBlockStatement (
|
||||
node: ESTree.Node,
|
||||
targetNode: ESTree.Node,
|
||||
objectMembersCallsChain: TObjectMembersCallsChain
|
||||
): ESTree.BlockStatement|null {
|
||||
const objectName: string|number|undefined = objectMembersCallsChain.shift();
|
||||
@@ -101,7 +101,7 @@ export class ObjectExpressionCalleeDataExtractor extends AbstractCalleeDataExtra
|
||||
|
||||
let calleeBlockStatement: ESTree.BlockStatement|null = null;
|
||||
|
||||
estraverse.traverse(node, {
|
||||
estraverse.traverse(targetNode, {
|
||||
enter: (node: ESTree.Node, parentNode: ESTree.Node): any => {
|
||||
if (
|
||||
Node.isVariableDeclaratorNode(node) &&
|
||||
|
||||
@@ -38,7 +38,7 @@ export class CryptUtils {
|
||||
* @param length
|
||||
* @returns {string[]}
|
||||
*/
|
||||
public static hideString(str: string, length: number): [string, string] {
|
||||
public static hideString (str: string, length: number): [string, string] {
|
||||
const escapeRegExp: (s: string) => string = (s: string) =>
|
||||
s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
|
||||
|
||||
|
||||
+5
-1
@@ -29,6 +29,7 @@
|
||||
true,
|
||||
"always-prefix"
|
||||
],
|
||||
"import-spacing": true,
|
||||
"jsdoc-format": true,
|
||||
"label-position": true,
|
||||
"max-line-length": false,
|
||||
@@ -66,7 +67,7 @@
|
||||
"no-parameter-properties": true,
|
||||
"no-reference": true,
|
||||
"no-require-imports": false,
|
||||
"no-shadowed-variable": false,
|
||||
"no-shadowed-variable": true,
|
||||
"no-string-literal": true,
|
||||
"no-string-throw": true,
|
||||
"no-switch-case-fall-through": false,
|
||||
@@ -89,6 +90,7 @@
|
||||
"quotemark": false,
|
||||
"radix": true,
|
||||
"semicolon": [true, "always"],
|
||||
"space-before-function-paren": true,
|
||||
"switch-default": false,
|
||||
"trailing-comma": false,
|
||||
"triple-equals": [
|
||||
@@ -122,6 +124,8 @@
|
||||
"variable-declaration": "space"
|
||||
}
|
||||
],
|
||||
"typeof-compare": true,
|
||||
"unified-signatures": true,
|
||||
"use-isnan": true,
|
||||
"variable-name": false,
|
||||
"whitespace": [
|
||||
|
||||
Reference in New Issue
Block a user