Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
749e004
update eslint config
imdevan Oct 12, 2025
3d9866a
refactor: modernize eslint config
imdevan Oct 12, 2025
45529ee
update eslint config
imdevan Oct 12, 2025
706818f
add fix flag to eslint script
imdevan Oct 12, 2025
a039172
update metro.config to ignore parent node_modules
imdevan Oct 12, 2025
f24a137
ignore no-unresolved for eslint.config
imdevan Oct 12, 2025
d1896b3
replace eslint import sort plugin
imdevan Oct 12, 2025
ce31151
chore: run eslint --fix
imdevan Oct 12, 2025
fb2cf53
fix: eslint no-prototype-builtins
imdevan Oct 12, 2025
d6a8938
add globals & remove camelcase error
imdevan Oct 12, 2025
0652475
remove no-use-before-define rule
imdevan Oct 12, 2025
6276130
fix eslint errors
imdevan Oct 12, 2025
3a1fc3b
remover max-lines rule
imdevan Oct 12, 2025
5a18d23
fix eslint errors
imdevan Oct 12, 2025
6d62bae
remove no-empty-function rule
imdevan Oct 12, 2025
538134b
chore: sort index imports
imdevan Oct 12, 2025
92a2a39
remove unused vars from default empty functions
imdevan Oct 12, 2025
7e99afc
disable eslint from example flatlist (keeping rule for module but not…
imdevan Oct 12, 2025
ce0d804
disable no-unused-vars for caughtErrors
imdevan Oct 12, 2025
9d4d237
add setTimeout to eslint globals
imdevan Oct 12, 2025
20bb742
fix already declared variable errors
imdevan Oct 12, 2025
1a911c4
comment out onPressOpen which is not currently being used
imdevan Oct 12, 2025
ed0ea10
eslint temporarily ignore no-self-assign rule
imdevan Oct 12, 2025
4bf546c
temporary fix eslint import error
imdevan Oct 12, 2025
4db679e
chore: run prettier
imdevan Oct 12, 2025
fe23c2e
update prettier
imdevan Oct 12, 2025
43a17e8
add prettier and clean script to npm scripts
imdevan Oct 12, 2025
02656a4
update npm run clean to use & over &&
imdevan Oct 12, 2025
6657448
chore: update examples package-lock.json
imdevan Oct 12, 2025
12a378f
refactor: reorg eslint config
imdevan Oct 12, 2025
34ad7f7
remove unhelpful eslint import plugin
imdevan Oct 13, 2025
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
16 changes: 0 additions & 16 deletions .eslintignore

This file was deleted.

109 changes: 0 additions & 109 deletions .eslintrc.yaml

This file was deleted.

109 changes: 109 additions & 0 deletions eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
import eslint from '@eslint/js';
import prettier from 'eslint-config-prettier';
import eslintComments from 'eslint-plugin-eslint-comments';
import json from 'eslint-plugin-json';
import jsxA11y from 'eslint-plugin-jsx-a11y';
import react from 'eslint-plugin-react';
import reactHooks from 'eslint-plugin-react-hooks';
import reactNative from 'eslint-plugin-react-native';
import simpleImportSort from 'eslint-plugin-simple-import-sort';
import tseslint from 'typescript-eslint';

export default tseslint.config(
eslint.configs.recommended,
tseslint.configs.recommended,
tseslint.configs.stylistic,
{
ignores: [
'node_modules',
'package-lock.json',
'build',
'dist',
'*.expo',
'coverage',
'.github',
'.idea',
'.vscode',
'*.yaml',
'*.yml',
'*.md',
],
plugins: {
react,
'react-hooks': reactHooks,
'react-native': reactNative,
'jsx-a11y': jsxA11y,
'@typescript-eslint': tseslint.plugin,
'eslint-comments': eslintComments,
json,
simpleImportSort,
},
languageOptions: {
parser: tseslint.parser,
parserOptions: {
ecmaFeatures: {
jsx: true,
},
ecmaVersion: 'latest',
project: './tsconfig.json',
sourceType: 'module',
},
globals: {
JSX: true,
require: true,
module: true,
__dirname: true,
setTimeout: true,
},
},
rules: {
'@typescript-eslint/array-type': [
'error',
{
default: 'generic',
readonly: 'generic',
},
],
// '@typescript-eslint/explicit-function-return-type': 'error',
// '@typescript-eslint/explicit-module-boundary-types': 'error',
'@typescript-eslint/no-explicit-any': [
'error',
{
fixToUnknown: false,
ignoreRestArgs: false,
},
],
'@typescript-eslint/no-require-imports': 'off', // diabling until typescript rewrite
'@typescript-eslint/no-shadow': 'error',
'@typescript-eslint/no-empty-function': 'off', // disabling due to lots of functions defaulting to empt@typescript-eslint/no-empty-functiony
'@typescript-eslint/no-unused-vars': [
'error',
{
caughtErrors: 'none',
},
],
'no-underscore-dangle': 'off',
'comma-dangle': ['error', 'always-multiline'],
'comma-style': ['error', 'last'],
'jsx-quotes': ['error', 'prefer-single'],
'linebreak-style': ['error', 'unix'],
'no-console': 'error',
'no-duplicate-imports': 'error',
'no-multi-spaces': 'error',
'no-shadow': 'error',
'no-template-curly-in-string': 'error',
'no-trailing-spaces': 'error',
'no-undef': 'error',
'react-native/no-inline-styles': 'warn',
'react/jsx-filename-extension': [
'error',
{
extensions: ['.ts', '.tsx', '.js', '.jsx'],
},
],
'simpleImportSort/imports': ['error'],
'react/prop-types': 'off', // Disabling until typescript rewrite
},
},
prettier,
);
Loading
Loading