Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 0 additions & 12 deletions .depcheckrc.json

This file was deleted.

15 changes: 15 additions & 0 deletions .depcheckrc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
ignores:
- '@arethetypeswrong/cli'
- '@lavamoat/allow-scripts'
- '@lavamoat/preinstall-always-fail'
- '@metamask/auto-changelog'
- '@ts-bridge/cli'
- '@ts-bridge/shims'
- '@types/jest'
- '@types/node'
- '@yarnpkg/*'
- 'jest-silent-reporter'
- 'prettier-plugin-*'
- 'ts-jest'
- 'typedoc'
118 changes: 92 additions & 26 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,50 +1,116 @@
module.exports = {
root: true,

extends: ['@metamask/eslint-config'],
extends: ['@metamask/eslint-config', '@metamask/eslint-config-nodejs'],

parserOptions: {
tsconfigRootDir: __dirname,
},

env: {
'shared-node-browser': true,
},

ignorePatterns: [
'!.eslintrc.js',
'!jest.config.js',
'node_modules',
'**/dist',
'**/docs',
'**/coverage',
],

rules: {
// This prevents importing Node.js builtins. We currently use them in
// our codebase, so this rule is disabled. This rule should be disabled
// in `@metamask/eslint-config-nodejs` in the future.
'import/no-nodejs-modules': 'off',

// This prevents using Node.js and/or browser specific globals. We
// currently use both in our codebase, so this rule is disabled.
'no-restricted-globals': 'off',
},

overrides: [
{
files: ['*.js'],
parserOptions: {
sourceType: 'script',
ecmaVersion: '2020',
},
},

{
files: ['*.ts'],
extends: ['@metamask/eslint-config-typescript'],
parserOptions: {
tsconfigRootDir: __dirname,
project: ['./tsconfig.packages.json'],
},
rules: {
// Enable rules that are disabled in `@metamask/eslint-config-typescript`
'@typescript-eslint/no-explicit-any': 'error',

// TODO: auto-fix breaks stuff
'@typescript-eslint/promise-function-async': 'off',

// Without the `allowAny` option, this rule causes a lot of false
// positives.
'@typescript-eslint/restrict-template-expressions': [
'error',
{
allowAny: true,
allowBoolean: true,
allowNumber: true,
},
],
},
},

{
files: ['*.js'],
parserOptions: {
sourceType: 'script',
files: ['*.d.ts'],
rules: {
'import/unambiguous': 'off',
},
extends: ['@metamask/eslint-config-nodejs'],
},

{
files: ['yarn.config.cjs'],
parserOptions: {
sourceType: 'script',
ecmaVersion: 2020,
files: ['scripts/*.ts'],
rules: {
// All scripts will have shebangs.
'n/shebang': 'off',
},
settings: {
jsdoc: {
mode: 'typescript',
},
},

{
files: ['**/jest.environment.js'],
rules: {
// These files run under Node, and thus `require(...)` is expected.
'n/global-require': 'off',
},
extends: ['@metamask/eslint-config-nodejs'],
},

{
files: ['*.test.ts', '*.test.js'],
extends: [
'@metamask/eslint-config-jest',
'@metamask/eslint-config-nodejs',
],
files: ['*.test.{ts,js}', '**/tests/**/*.{ts,js}'],
extends: ['@metamask/eslint-config-jest'],
rules: {
'@typescript-eslint/no-shadow': [
'error',
{ allow: ['describe', 'expect', 'it'] },
],
},
},
],

ignorePatterns: [
'!.eslintrc.js',
'!.prettierrc.js',
'dist/',
'docs/',
'.yarn/',
{
// These files are test helpers, not tests. We still use the Jest ESLint
// config here to ensure that ESLint expects a test-like environment, but
// various rules meant just to apply to tests have been disabled.
files: ['**/tests/**/*.{ts,js}', '!*.test.{ts,js}'],
rules: {
'jest/no-export': 'off',
'jest/require-top-level-describe': 'off',
'jest/no-if': 'off',
},
},
],
};
41 changes: 0 additions & 41 deletions .github/workflows/create-release-pr.yml

This file was deleted.

Loading