Skip to content

Commit

Permalink
feat(eslint): Sort imports; add yarn fix-all
Browse files Browse the repository at this point in the history
  • Loading branch information
jubnzv committed Sep 20, 2024
1 parent 1ad8247 commit 730f6b0
Show file tree
Hide file tree
Showing 33 changed files with 911 additions and 139 deletions.
26 changes: 26 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ module.exports = {
ignorePatterns: ["src/detectors/templates"],
plugins: [
"@typescript-eslint",
"import",
"unused-imports"
],
rules: {
"@typescript-eslint/switch-exhaustiveness-check": "error",
Expand All @@ -21,5 +23,29 @@ module.exports = {
caughtErrorsIgnorePattern: "^_",
},
],
// Autofix for imports: https://simondosda.github.io/posts/2021-05-10-eslint-imports.html
"unused-imports/no-unused-imports": "error",
"unused-imports/no-unused-vars": [
"error",
{
"argsIgnorePattern": "^_",
"varsIgnorePattern": "^_"
}
],
"import/order": [
"error",
{
"groups": [
["parent", "sibling", "index"],
["builtin", "external"],
],
"newlines-between": "never",
"pathGroupsExcludedImportTypes": ["builtin"],
"alphabetize": {
"order": "asc",
"caseInsensitive": true
}
}
]
},
};
5 changes: 4 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@
"spell": "cspell \"**\" --no-progress --exclude \"dist/**\" --exclude \"node_modules/**\" --exclude \"tags/**\"",
"docs": "yarn typedoc --out docs/api --entryPointStrategy expand src",
"detector-docs": "ts-node ./scripts/generateDetectorDocs.ts",
"test-all": "yarn fmt && yarn spell && yarn lint && yarn test",
"fix-all": "yarn fmt --write && yarn lint --fix",
"test-all": "yarn spell && yarn fmt && yarn lint && yarn test",
"misti": "ts-node src/main.ts",
"release": "yarn build && yarn release-it"
},
Expand Down Expand Up @@ -65,6 +66,8 @@
"@typescript-eslint/parser": "^7.0.4",
"cspell": "^8.12.1",
"eslint": "^8.57.0",
"eslint-plugin-import": "^2.30.0",
"eslint-plugin-unused-imports": "^4.1.4",
"fast-check": "^3.16.0",
"jest": "^29.7.0",
"prettier": "^3.2.5",
Expand Down
6 changes: 3 additions & 3 deletions src/cli/cli.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { Runner, MistiResult } from "./driver";
import { MistiResult, Runner } from "./driver";
import { cliOptions } from "./options";
import { createDetector } from "../createDetector";
import { ExecutionException } from "../internals/exceptions";
import { MISTI_VERSION, TACT_VERSION } from "../version";
import { createDetector } from "../createDetector";
import { cliOptions } from "./options";
import { Command } from "commander";

/**
Expand Down
16 changes: 8 additions & 8 deletions src/cli/driver.ts
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
import { CLIOptions, DUMP_STDOUT_PATH } from "./options";
import { Detector, findBuiltInDetector } from "../detectors/detector";
import { ASTDumper } from "../internals/astDump";
import { MistiContext } from "../internals/context";
import { Logger } from "../internals/logger";
import {
tryMsg,
InternalException,
ExecutionException,
InternalException,
tryMsg,
} from "../internals/exceptions";
import { CompilationUnit, ProjectName } from "../internals/ir";
import { createIR } from "../internals/ir/builders/tactIRBuilder";
import { GraphvizDumper, JSONDumper } from "../internals/irDump";
import { ASTDumper } from "../internals/astDump";
import { ProjectName, CompilationUnit } from "../internals/ir";
import { Logger } from "../internals/logger";
import { MistiTactWarning } from "../internals/warnings";
import { Detector, findBuiltInDetector } from "../detectors/detector";
import { DUMP_STDOUT_PATH, CLIOptions } from "./options";
import fs from "fs";
import JSONbig from "json-bigint";
import path from "path";
import fs from "fs";

export interface MistiResult {
/**
Expand Down
8 changes: 4 additions & 4 deletions src/detectors/builtin/branchDuplicate.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
import { ASTDetector } from "../detector";
import { CompilationUnit } from "../../internals/ir";
import { MistiTactWarning, Severity } from "../../internals/warnings";
import { foldExpressions, foldStatements } from "../../internals/tactASTUtil";
import { MistiTactWarning, Severity } from "../../internals/warnings";
import { ASTDetector } from "../detector";
import { AstComparator } from "@tact-lang/compiler/dist/";
import {
AstCondition,
AstExpression,
AstStatement,
AstCondition,
SrcInfo,
} from "@tact-lang/compiler/dist/grammar/ast";
import { AstComparator } from "@tact-lang/compiler/dist/";

/**
* Detector that reports duplicated code in conditional branches.
Expand Down
4 changes: 2 additions & 2 deletions src/detectors/builtin/constantAddress.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { ASTDetector } from "../detector";
import { CompilationUnit } from "../../internals/ir";
import { MistiTactWarning, Severity } from "../../internals/warnings";
import { foldExpressions } from "../../internals/tactASTUtil";
import { MistiTactWarning, Severity } from "../../internals/warnings";
import { ASTDetector } from "../detector";
import { AstExpression } from "@tact-lang/compiler/dist/grammar/ast";

/**
Expand Down
14 changes: 7 additions & 7 deletions src/detectors/builtin/divideBeforeMultiply.ts
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
import { SouffleDetector } from "../detector";
import { CompilationUnit, BasicBlock, CFG } from "../../internals/ir";
import { MistiTactWarning, Severity } from "../../internals/warnings";
import { InternalException } from "../../internals/exceptions";
import { BasicBlock, CFG, CompilationUnit } from "../../internals/ir";
import {
foldExpressions,
forEachExpression,
forEachStatement,
foldExpressions,
} from "../../internals/tactASTUtil";
import { SouffleContext, atom, rule, body, relation } from "@nowarp/souffle";
import { MistiTactWarning, Severity } from "../../internals/warnings";
import { SouffleDetector } from "../detector";
import { SouffleContext, atom, body, relation, rule } from "@nowarp/souffle";
import {
AstStatement,
AstNode,
AstExpression,
AstNode,
AstOpBinary,
AstStatement,
SrcInfo,
} from "@tact-lang/compiler/dist/grammar/ast";

Expand Down
4 changes: 2 additions & 2 deletions src/detectors/builtin/dumpIsUsed.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { ASTDetector } from "../detector";
import { CompilationUnit } from "../../internals/ir";
import { MistiTactWarning, Severity } from "../../internals/warnings";
import { foldExpressions } from "../../internals/tactASTUtil";
import { MistiTactWarning, Severity } from "../../internals/warnings";
import { ASTDetector } from "../detector";
import { AstExpression } from "@tact-lang/compiler/dist/grammar/ast";

/**
Expand Down
2 changes: 1 addition & 1 deletion src/detectors/builtin/fieldDoubleInit.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { ASTDetector } from "../detector";
import { CompilationUnit } from "../../internals/ir";
import { MistiTactWarning, Severity } from "../../internals/warnings";
import { ASTDetector } from "../detector";
import {
AstContract,
AstContractInit,
Expand Down
18 changes: 9 additions & 9 deletions src/detectors/builtin/neverAccessedVariables.ts
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
import { WorklistSolver } from "../../internals/solver/";
import { Transfer } from "../../internals/transfer";
import { DataflowDetector, WarningsBehavior } from "../detector";
import { MistiContext } from "../../internals/context";
import { InternalException } from "../../internals/exceptions";
import { BasicBlock, CFG, CompilationUnit } from "../../internals/ir";
import { JoinSemilattice } from "../../internals/lattice";
import { MistiContext } from "../../internals/context";
import { CompilationUnit, BasicBlock, CFG } from "../../internals/ir";
import { MistiTactWarning, Severity } from "../../internals/warnings";
import { WorklistSolver } from "../../internals/solver/";
import {
extractPath,
SrcInfoSet,
extractPath,
forEachExpression,
} from "../../internals/tactASTUtil";
import { Transfer } from "../../internals/transfer";
import { MistiTactWarning, Severity } from "../../internals/warnings";
import { DataflowDetector, WarningsBehavior } from "../detector";
import {
AstExpression,
AstId,
AstNode,
AstStatement,
AstId,
AstTrait,
AstExpression,
SrcInfo,
isSelfId,
} from "@tact-lang/compiler/dist/grammar/ast";
Expand Down
8 changes: 4 additions & 4 deletions src/detectors/builtin/preferAugmentedAssign.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { ASTDetector } from "../detector";
import { CompilationUnit } from "../../internals/ir";
import { MistiTactWarning, Severity } from "../../internals/warnings";
import { foldStatements } from "../../internals/tactASTUtil";
import { prettyPrint } from "@tact-lang/compiler/dist/prettyPrinter";
import { MistiTactWarning, Severity } from "../../internals/warnings";
import { ASTDetector } from "../detector";
import {
AstStatement,
AstExpression,
AstStatement,
tryExtractPath,
} from "@tact-lang/compiler/dist/grammar/ast";
import { prettyPrint } from "@tact-lang/compiler/dist/prettyPrinter";

const AstAugmentedAssignOperations = new Set<string>([
"+",
Expand Down
10 changes: 5 additions & 5 deletions src/detectors/builtin/readOnlyVariables.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { SouffleDetector, WarningsBehavior } from "../detector";
import { CompilationUnit, BasicBlock, CFG } from "../../internals/ir";
import { MistiTactWarning, Severity } from "../../internals/warnings";
import { InternalException } from "../../internals/exceptions";
import { BasicBlock, CFG, CompilationUnit } from "../../internals/ir";
import { extractPath, forEachExpression } from "../../internals/tactASTUtil";
import { SouffleContext, relation, rule, body, atom } from "@nowarp/souffle";
import { MistiTactWarning, Severity } from "../../internals/warnings";
import { SouffleDetector, WarningsBehavior } from "../detector";
import { SouffleContext, atom, body, relation, rule } from "@nowarp/souffle";
import {
AstExpression,
AstStatement,
SrcInfo,
AstExpression,
} from "@tact-lang/compiler/dist/grammar/ast";

/**
Expand Down
14 changes: 7 additions & 7 deletions src/detectors/builtin/stringReceiversOverlap.ts
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
import { DataflowDetector } from "../detector";
import { MistiTactWarning, Severity } from "../../internals/warnings";
import { CompilationUnit, BasicBlock, CFG } from "../../internals/ir";
import { BasicBlock, CFG, CompilationUnit } from "../../internals/ir";
import { JoinSemilattice } from "../../internals/lattice";
import { WorklistSolver } from "../../internals/solver/";
import {
forEachExpression,
forEachStatement,
} from "../../internals/tactASTUtil";
import { JoinSemilattice } from "../../internals/lattice";
import { WorklistSolver } from "../../internals/solver/";
import { Transfer } from "../../internals/transfer";
import { MistiTactWarning, Severity } from "../../internals/warnings";
import { DataflowDetector } from "../detector";
import {
AstExpression,
AstStatementLet,
AstStatement,
AstReceiver,
AstStatement,
AstStatementLet,
} from "@tact-lang/compiler/dist/grammar/ast";

interface TaintState {
Expand Down
10 changes: 5 additions & 5 deletions src/detectors/builtin/unboundLoops.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
import { SouffleDetector } from "../detector";
import { CompilationUnit, BasicBlock, CFG } from "../../internals/ir";
import { InternalException } from "../../internals/exceptions";
import { MistiTactWarning, Severity } from "../../internals/warnings";
import { BasicBlock, CFG, CompilationUnit } from "../../internals/ir";
import {
extractPath,
forEachExpression,
forEachStatement,
} from "../../internals/tactASTUtil";
import { SouffleContext, relation, rule, body, atom } from "@nowarp/souffle";
import { MistiTactWarning, Severity } from "../../internals/warnings";
import { SouffleDetector } from "../detector";
import { SouffleContext, atom, body, relation, rule } from "@nowarp/souffle";
import {
AstId,
AstStatement,
SrcInfo,
AstId,
isValue,
} from "@tact-lang/compiler/dist/grammar/ast";

Expand Down
4 changes: 2 additions & 2 deletions src/detectors/builtin/zeroAddress.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { ASTDetector } from "../detector";
import { CompilationUnit } from "../../internals/ir";
import { MistiTactWarning, Severity } from "../../internals/warnings";
import { foldExpressions } from "../../internals/tactASTUtil";
import { MistiTactWarning, Severity } from "../../internals/warnings";
import { ASTDetector } from "../detector";
import { AstExpression } from "@tact-lang/compiler/dist/grammar/ast";

/**
Expand Down
6 changes: 3 additions & 3 deletions src/detectors/detector.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import { MistiContext } from "../internals/context";
import { CompilationUnit } from "../internals/ir";
import { InternalException } from "../internals/exceptions";
import { makeDocURL, MistiTactWarning, Severity } from "../internals/warnings";
import { CompilationUnit } from "../internals/ir";
import { MistiTactWarning, Severity, makeDocURL } from "../internals/warnings";
import {
SouffleAsyncExecutor,
SouffleContext,
SouffleFact,
SouffleAsyncExecutor,
comment,
} from "@nowarp/souffle";
import { SrcInfo } from "@tact-lang/compiler/dist/grammar/ast";
Expand Down
4 changes: 2 additions & 2 deletions src/internals/config.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { ExecutionException } from "./exceptions";
import { getEnabledDetectors, getAllDetectors } from "../detectors/detector";
import { z } from "zod";
import { getAllDetectors, getEnabledDetectors } from "../detectors/detector";
import * as fs from "fs";
import { z } from "zod";

interface DetectorConfig {
modulePath?: string; // Used only for custom out-of-tree detectors
Expand Down
6 changes: 3 additions & 3 deletions src/internals/context.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { Logger, QuietLogger, DebugLogger, TraceLogger } from "./logger";
import { execSync } from "child_process";
import { CLIOptions } from "../cli";
import { MistiConfig } from "./config";
import { DebugLogger, Logger, QuietLogger, TraceLogger } from "./logger";
import { CLIOptions } from "../cli";
import { execSync } from "child_process";

/**
* Represents the context for a Misti run.
Expand Down
2 changes: 1 addition & 1 deletion src/internals/exceptions.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { AstNode, SrcInfo } from "@tact-lang/compiler/dist/grammar/ast";
import JSONbig from "json-bigint";
import * as fs from "fs";
import JSONbig from "json-bigint";
import * as path from "path";

const REPORTS_DIR = "/tmp/misti/reports";
Expand Down
16 changes: 8 additions & 8 deletions src/internals/ir/astStore.ts
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
import { InternalException } from "../exceptions";
import {
AstStatement,
AstReceiver,
AstFieldDecl,
AstAsmFunctionDef,
AstConstantDef,
AstContract,
AstContractInit,
AstNode,
AstFieldDecl,
AstFunctionDef,
AstMessageDecl,
AstNativeFunctionDecl,
AstConstantDef,
AstContract,
AstNode,
AstPrimitiveTypeDecl,
AstAsmFunctionDef,
AstReceiver,
AstStatement,
AstStructDecl,
AstMessageDecl,
AstTrait,
} from "@tact-lang/compiler/dist/grammar/ast";

Expand Down
Loading

0 comments on commit 730f6b0

Please sign in to comment.