diff --git a/.eslintrc.json b/.eslintrc.json index ccaf1a6..7a40259 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -12,5 +12,12 @@ "plugin:prettier/recommended", "prettier/@typescript-eslint" ], - "plugins": ["@typescript-eslint", "jest"] + "plugins": ["@typescript-eslint", "simple-import-sort", "jest"], + "rules": { + "import/first": "error", + "import/newline-after-import": "error", + "import/no-duplicates": "error", + "simple-import-sort/sort": "error", + "sort-imports": "off" + } } diff --git a/__tests__/restore.test.ts b/__tests__/restore.test.ts index 05fed55..212ec30 100644 --- a/__tests__/restore.test.ts +++ b/__tests__/restore.test.ts @@ -1,5 +1,6 @@ import * as core from "@actions/core"; import * as path from "path"; + import * as cacheHttpClient from "../src/cacheHttpClient"; import { Events, Inputs } from "../src/constants"; import { ArtifactCacheEntry } from "../src/contracts"; diff --git a/__tests__/save.test.ts b/__tests__/save.test.ts index 2c297bd..daab665 100644 --- a/__tests__/save.test.ts +++ b/__tests__/save.test.ts @@ -1,5 +1,6 @@ import * as core from "@actions/core"; import * as path from "path"; + import * as cacheHttpClient from "../src/cacheHttpClient"; import { Events, Inputs } from "../src/constants"; import { ArtifactCacheEntry } from "../src/contracts"; diff --git a/__tests__/tar.test.ts b/__tests__/tar.test.ts index 55ff4c7..c931471 100644 --- a/__tests__/tar.test.ts +++ b/__tests__/tar.test.ts @@ -1,5 +1,6 @@ import * as exec from "@actions/exec"; import * as io from "@actions/io"; + import * as tar from "../src/tar"; jest.mock("@actions/exec"); diff --git a/package-lock.json b/package-lock.json index 3320d39..8b8dd01 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2298,6 +2298,12 @@ "prettier-linter-helpers": "^1.0.0" } }, + "eslint-plugin-simple-import-sort": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-5.0.2.tgz", + "integrity": "sha512-YPEGo7DbMANQ01d2OXlREcaHRszsW8LoUQ9mIjI7gXSdwpnWKfogtzL6FiBfDf1teCBx+AdcjcfDXSKpmhTWeA==", + "dev": true + }, "eslint-scope": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", diff --git a/package.json b/package.json index 66952be..4788803 100644 --- a/package.json +++ b/package.json @@ -42,6 +42,7 @@ "eslint-plugin-import": "^2.18.2", "eslint-plugin-jest": "^23.0.3", "eslint-plugin-prettier": "^3.1.1", + "eslint-plugin-simple-import-sort": "^5.0.2", "jest": "^24.8.0", "jest-circus": "^24.7.1", "nock": "^11.7.0", diff --git a/src/cacheHttpClient.ts b/src/cacheHttpClient.ts index 62ae2c1..90284d4 100644 --- a/src/cacheHttpClient.ts +++ b/src/cacheHttpClient.ts @@ -1,12 +1,13 @@ import * as core from "@actions/core"; -import * as fs from "fs"; -import { BearerCredentialHandler } from "@actions/http-client/auth"; import { HttpClient, HttpCodes } from "@actions/http-client"; +import { BearerCredentialHandler } from "@actions/http-client/auth"; import { IHttpClientResponse, IRequestOptions, ITypedResponse } from "@actions/http-client/interfaces"; +import * as fs from "fs"; + import { ArtifactCacheEntry, CommitCacheRequest, diff --git a/src/restore.ts b/src/restore.ts index f180c2b..721a8e3 100644 --- a/src/restore.ts +++ b/src/restore.ts @@ -1,5 +1,6 @@ import * as core from "@actions/core"; import * as path from "path"; + import * as cacheHttpClient from "./cacheHttpClient"; import { Events, Inputs, State } from "./constants"; import { extractTar } from "./tar"; diff --git a/src/save.ts b/src/save.ts index de03856..8cb5115 100644 --- a/src/save.ts +++ b/src/save.ts @@ -1,5 +1,6 @@ import * as core from "@actions/core"; import * as path from "path"; + import * as cacheHttpClient from "./cacheHttpClient"; import { Events, Inputs, State } from "./constants"; import { createTar } from "./tar";