From 1e74744d96f45b83edbe7a7b4688fda985a36bf3 Mon Sep 17 00:00:00 2001 From: kyranjamie Date: Thu, 6 Apr 2023 10:24:12 -0600 Subject: [PATCH] ci: add lint for filenames --- .github/workflows/code-checks.yml | 9 +++++++++ .ls-lint.yml | 9 +++++++++ package.json | 4 +++- .../fees-row/components/fee-estimate-select.layout.tsx | 2 +- .../fees-row/components/fee-estimate-select.tsx | 2 +- src/app/components/fees-row/fees-row.tsx | 2 +- .../form/stacks/stacks-common-send-form.tsx | 2 +- .../form/stacks/use-stacks-common-send-form.tsx | 2 +- .../pages/transaction-request/components/fee-form.tsx | 2 +- .../pages/transaction-request/transaction-request.tsx | 2 +- src/app/query/stacks/fees/fees.hooks.ts | 2 +- src/app/store/utils/vault-reducer-migration.spec.ts | 2 +- src/shared/models/fees/{_fees.model.ts => fees.model.ts} | 0 tests-legacy/jest-unit.setup.js | 2 +- .../{localStorage-mock.ts => local-storage-mock.ts} | 0 yarn.lock | 5 +++++ 16 files changed, 36 insertions(+), 11 deletions(-) create mode 100644 .ls-lint.yml rename src/shared/models/fees/{_fees.model.ts => fees.model.ts} (100%) rename tests-legacy/mocks/{localStorage-mock.ts => local-storage-mock.ts} (100%) diff --git a/.github/workflows/code-checks.yml b/.github/workflows/code-checks.yml index 48bb0758..afb7b54e 100644 --- a/.github/workflows/code-checks.yml +++ b/.github/workflows/code-checks.yml @@ -24,6 +24,15 @@ jobs: - name: Lint run: yarn lint:eslint + lint-filename: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: ./.github/actions/provision + + - name: File name checker + run: yarn lint:filename + audit: runs-on: ubuntu-latest steps: diff --git a/.ls-lint.yml b/.ls-lint.yml new file mode 100644 index 00000000..aa8e7baf --- /dev/null +++ b/.ls-lint.yml @@ -0,0 +1,9 @@ +ls: + .ts: regex:[a-z0-9\-\.]+ + .tsx: regex:[a-z0-9\-\.]+ + .js: regex:[a-z0-9\-\.]+ + +ignore: + - .git + - dist + - node_modules diff --git a/package.json b/package.json index 3713ed47..03c12d84 100644 --- a/package.json +++ b/package.json @@ -18,8 +18,9 @@ "build:test:watch": "cross-env NODE_ENV=test EXT_ENV=watch webpack --config webpack/webpack.config.prod.js", "clean": "rm -rf ./dist", "clean:all": "rm -rf ./dist && rm -rf ./coverage && rm -rf ./node_modules", - "lint": "concurrently -g 'yarn lint:prettier' 'yarn lint:unused-exports' 'yarn lint:deps' 'yarn lint:remote-wallet-config' 'yarn lint:eslint'", + "lint": "concurrently -g 'yarn lint:prettier' 'yarn lint:unused-exports' 'yarn lint:deps' 'yarn lint:remote-wallet-config' 'yarn lint:eslint' 'yarn lint:filename'", "lint:eslint": "eslint \"src/**/*.{ts,tsx}\"", + "lint:filename": "ls-lint", "lint:fix": "eslint \"src/**/*.{ts,tsx}\" --fix", "lint:prettier": "prettier --check \"{src,tests,tests-legacy}/**/*.{ts,tsx}\" \"*.{js,json}\"", "lint:prettier:fix": "prettier --write \"{src,tests,tests-legacy}/**/*.{ts,tsx}\" *.js", @@ -222,6 +223,7 @@ "@emotion/babel-plugin": "11.10.5", "@emotion/babel-preset-css-prop": "11.10.0", "@emotion/cache": "11.10.5", + "@ls-lint/ls-lint": "1.11.2", "@playwright/test": "1.30.0", "@pmmmwh/react-refresh-webpack-plugin": "0.5.10", "@redux-devtools/cli": "2.0.0", diff --git a/src/app/components/fees-row/components/fee-estimate-select.layout.tsx b/src/app/components/fees-row/components/fee-estimate-select.layout.tsx index 50239dcc..0e298881 100644 --- a/src/app/components/fees-row/components/fee-estimate-select.layout.tsx +++ b/src/app/components/fees-row/components/fee-estimate-select.layout.tsx @@ -4,7 +4,7 @@ import { FiInfo } from 'react-icons/fi'; import { Box, Fade, Stack, Tooltip, color } from '@stacks/ui'; import { SharedComponentsSelectors } from '@tests/selectors/shared-component.selectors'; -import { FeeTypes } from '@shared/models/fees/_fees.model'; +import { FeeTypes } from '@shared/models/fees/fees.model'; import { useOnClickOutside } from '@app/common/hooks/use-onclickoutside'; import { openInNewTab } from '@app/common/utils/open-in-new-tab'; diff --git a/src/app/components/fees-row/components/fee-estimate-select.tsx b/src/app/components/fees-row/components/fee-estimate-select.tsx index 7e90abda..71d14eb0 100644 --- a/src/app/components/fees-row/components/fee-estimate-select.tsx +++ b/src/app/components/fees-row/components/fee-estimate-select.tsx @@ -1,5 +1,5 @@ -import { FeeTypes } from '@shared/models/fees/_fees.model'; import { BitcoinFeeEstimate } from '@shared/models/fees/bitcoin-fees.model'; +import { FeeTypes } from '@shared/models/fees/fees.model'; import { StacksFeeEstimate } from '@shared/models/fees/stacks-fees.model'; import { FeeEstimateItem } from './fee-estimate-item'; diff --git a/src/app/components/fees-row/fees-row.tsx b/src/app/components/fees-row/fees-row.tsx index 6a06facd..bd030465 100644 --- a/src/app/components/fees-row/fees-row.tsx +++ b/src/app/components/fees-row/fees-row.tsx @@ -5,7 +5,7 @@ import { SharedComponentsSelectors } from '@tests/selectors/shared-component.sel import BigNumber from 'bignumber.js'; import { useField } from 'formik'; -import { FeeTypes, Fees } from '@shared/models/fees/_fees.model'; +import { FeeTypes, Fees } from '@shared/models/fees/fees.model'; import { createMoney } from '@shared/models/money.model'; import { isNumber, isString } from '@shared/utils'; diff --git a/src/app/pages/send/send-crypto-asset-form/form/stacks/stacks-common-send-form.tsx b/src/app/pages/send/send-crypto-asset-form/form/stacks/stacks-common-send-form.tsx index 1d7452d9..be0ea69b 100644 --- a/src/app/pages/send/send-crypto-asset-form/form/stacks/stacks-common-send-form.tsx +++ b/src/app/pages/send/send-crypto-asset-form/form/stacks/stacks-common-send-form.tsx @@ -5,7 +5,7 @@ import { Form, Formik, FormikHelpers } from 'formik'; import { OptionalObjectSchema } from 'yup/lib/object'; import { HIGH_FEE_WARNING_LEARN_MORE_URL_STX } from '@shared/constants'; -import { Fees } from '@shared/models/fees/_fees.model'; +import { Fees } from '@shared/models/fees/fees.model'; import { StacksSendFormValues } from '@shared/models/form.model'; import { Money } from '@shared/models/money.model'; import { RouteUrls } from '@shared/route-urls'; diff --git a/src/app/pages/send/send-crypto-asset-form/form/stacks/use-stacks-common-send-form.tsx b/src/app/pages/send/send-crypto-asset-form/form/stacks/use-stacks-common-send-form.tsx index 7e168a90..3a6d4f51 100644 --- a/src/app/pages/send/send-crypto-asset-form/form/stacks/use-stacks-common-send-form.tsx +++ b/src/app/pages/send/send-crypto-asset-form/form/stacks/use-stacks-common-send-form.tsx @@ -1,7 +1,7 @@ import { FormikHelpers } from 'formik'; import { HIGH_FEE_AMOUNT_STX } from '@shared/constants'; -import { FeeTypes } from '@shared/models/fees/_fees.model'; +import { FeeTypes } from '@shared/models/fees/fees.model'; import { StacksSendFormValues } from '@shared/models/form.model'; import { Money } from '@shared/models/money.model'; import { isEmpty } from '@shared/utils'; diff --git a/src/app/pages/transaction-request/components/fee-form.tsx b/src/app/pages/transaction-request/components/fee-form.tsx index ef871963..901d4cc0 100644 --- a/src/app/pages/transaction-request/components/fee-form.tsx +++ b/src/app/pages/transaction-request/components/fee-form.tsx @@ -1,6 +1,6 @@ import { useFormikContext } from 'formik'; -import { Fees } from '@shared/models/fees/_fees.model'; +import { Fees } from '@shared/models/fees/fees.model'; import { StacksTransactionFormValues } from '@shared/models/form.model'; import { isTxSponsored } from '@app/common/transactions/stacks/transaction.utils'; diff --git a/src/app/pages/transaction-request/transaction-request.tsx b/src/app/pages/transaction-request/transaction-request.tsx index 422aa3b5..4d8a4fe4 100644 --- a/src/app/pages/transaction-request/transaction-request.tsx +++ b/src/app/pages/transaction-request/transaction-request.tsx @@ -7,7 +7,7 @@ import get from 'lodash.get'; import * as yup from 'yup'; import { HIGH_FEE_WARNING_LEARN_MORE_URL_STX } from '@shared/constants'; -import { FeeTypes } from '@shared/models/fees/_fees.model'; +import { FeeTypes } from '@shared/models/fees/fees.model'; import { StacksTransactionFormValues } from '@shared/models/form.model'; import { RouteUrls } from '@shared/route-urls'; diff --git a/src/app/query/stacks/fees/fees.hooks.ts b/src/app/query/stacks/fees/fees.hooks.ts index 0b67f294..f6b50556 100644 --- a/src/app/query/stacks/fees/fees.hooks.ts +++ b/src/app/query/stacks/fees/fees.hooks.ts @@ -3,7 +3,7 @@ import { useMemo } from 'react'; import { StacksTransaction } from '@stacks/transactions'; import { logger } from '@shared/logger'; -import { FeeCalculationTypes, Fees } from '@shared/models/fees/_fees.model'; +import { FeeCalculationTypes, Fees } from '@shared/models/fees/fees.model'; import { StacksFeeEstimate, StacksTxFeeEstimation } from '@shared/models/fees/stacks-fees.model'; import { Money, createMoney } from '@shared/models/money.model'; diff --git a/src/app/store/utils/vault-reducer-migration.spec.ts b/src/app/store/utils/vault-reducer-migration.spec.ts index 6db101ef..bf38671d 100644 --- a/src/app/store/utils/vault-reducer-migration.spec.ts +++ b/src/app/store/utils/vault-reducer-migration.spec.ts @@ -1,4 +1,4 @@ -import { LocalStorageMock } from '@tests-legacy/mocks/localStorage-mock'; +import { LocalStorageMock } from '@tests-legacy/mocks/local-storage-mock'; import { vi } from 'vitest'; import { defaultKeyId } from '../keys/key.slice'; diff --git a/src/shared/models/fees/_fees.model.ts b/src/shared/models/fees/fees.model.ts similarity index 100% rename from src/shared/models/fees/_fees.model.ts rename to src/shared/models/fees/fees.model.ts diff --git a/tests-legacy/jest-unit.setup.js b/tests-legacy/jest-unit.setup.js index a045da9e..f28ba6b8 100644 --- a/tests-legacy/jest-unit.setup.js +++ b/tests-legacy/jest-unit.setup.js @@ -2,7 +2,7 @@ Object.assign(global, require('jest-chrome')); // setup jsdom inside `node` test environment const JSDOM = require('jsdom').JSDOM; -const LocalStorageMock = require('@tests-legacy/mocks/localStorage-mock').LocalStorageMock; +const LocalStorageMock = require('@tests-legacy/mocks/local-storage-mock').LocalStorageMock; const dom = new JSDOM('', { url: 'http://localhost/' }); diff --git a/tests-legacy/mocks/localStorage-mock.ts b/tests-legacy/mocks/local-storage-mock.ts similarity index 100% rename from tests-legacy/mocks/localStorage-mock.ts rename to tests-legacy/mocks/local-storage-mock.ts diff --git a/yarn.lock b/yarn.lock index b02379e4..bcdde9e3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1618,6 +1618,11 @@ resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== +"@ls-lint/ls-lint@1.11.2": + version "1.11.2" + resolved "https://registry.yarnpkg.com/@ls-lint/ls-lint/-/ls-lint-1.11.2.tgz#fa7e8c404b7c2f9f7fe3e92b7d69fe37a15c0e1c" + integrity sha512-kX+CCjgNz+NHCaOcFyJLSBLRgAoyOxN18QFLpgucz5ILvbr60BGjwKaoPYTv/rBV/77L+Oz82lpP24mzJ2wGsQ== + "@lukeed/csprng@^1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/@lukeed/csprng/-/csprng-1.0.1.tgz#625e93a0edb2c830e3c52ce2d67b9d53377c6a66"