slightly stronger tslint rules

This commit is contained in:
sanex3339
2017-01-08 13:36:26 +03:00
parent 4e5cf5ad0d
commit d614915575
18 changed files with 264 additions and 261 deletions
+215 -216
View File
File diff suppressed because it is too large Load Diff
+7 -7
View File
@@ -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
View File
@@ -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);
@@ -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;
@@ -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) &&
@@ -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) &&
+1 -1
View File
@@ -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
View File
@@ -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": [