Skip to content

Commit 3938d2c

Browse files
committed
more eslint and prettier
1 parent 574d12d commit 3938d2c

File tree

10 files changed

+831
-75
lines changed

10 files changed

+831
-75
lines changed

.github/workflows/ci.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,17 @@ name: CI
22

33
on:
44
push:
5-
branches: [ main ]
5+
branches: [main]
66
pull_request:
7-
branches: [ main ]
8-
7+
branches: [main]
8+
99
jobs:
1010
test:
1111
runs-on: macos-latest
1212

1313
steps:
1414
- uses: actions/checkout@v4
15-
15+
1616
- name: Use Node.js
1717
uses: actions/setup-node@v4
1818
with:

.prettierignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
node_modules/
22
assets/
33
coverage/
4-
.github/
4+
.yarn/
5+
.expo/
56
yarn.lock
67
LICENSE
78
.gitignore
89
.npmignore
10+
.prettierignore
911
tsconfig.json
1012
.yarnrc.yml

.prettierrc.js

Lines changed: 0 additions & 5 deletions
This file was deleted.

README.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333

3434
## Usage
3535

36-
```javascript
36+
```tsx
3737
import React from 'react';
3838
import { Animated } from 'react-native';
3939
import ThumbnailSelector from 'react-native-thumbnail-selector';
@@ -49,9 +49,10 @@ const thumbnails = [
4949
},
5050
];
5151

52-
function Example() {
52+
export default function App(): React.JSX.Element {
5353
// use toggle to show and hide ThumbnailSelector
54-
let toggle = () => new Promise() < Animated.EndResult > (res => res);
54+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
55+
let toggle = () => new Promise<Animated.EndResult>(res => res);
5556

5657
return (
5758
<ThumbnailSelector
@@ -60,6 +61,4 @@ function Example() {
6061
/>
6162
);
6263
}
63-
64-
export default Example;
6564
```

eslint.config.mjs

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,43 @@
1-
import js from '@eslint/js';
2-
import globals from 'globals';
3-
import tseslint from 'typescript-eslint';
41
import { defineConfig, globalIgnores } from 'eslint/config';
2+
import markdown from '@eslint/markdown';
3+
import ts from 'typescript-eslint';
4+
import yml from 'eslint-plugin-yml';
5+
import json from '@eslint/json';
56

67
export default defineConfig([
78
{
8-
files: ['**/*.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
9-
plugins: { js },
10-
extends: ['js/recommended'],
11-
languageOptions: { globals: globals.browser },
9+
files: ['**/*.{ts,tsx}'],
10+
plugins: { ts },
11+
extends: [ts.configs.recommended],
12+
},
13+
{
14+
files: ['**/*.md'],
15+
plugins: { markdown },
16+
processor: 'markdown/markdown',
17+
},
18+
{
19+
files: ['**/*.yml'],
20+
plugins: { yml },
21+
extends: [yml.configs['flat/recommended']],
22+
},
23+
{
24+
files: ['**/*.json'],
25+
plugins: { json },
26+
language: 'json/jsonc',
1227
},
13-
tseslint.configs.recommended,
1428
globalIgnores([
1529
'node_modules/*',
1630
'assets/*',
1731
'coverage/*',
32+
'example/node_modules/*',
33+
'example/.expo/*',
34+
'example/.yarn/*',
35+
'.expo/*',
36+
'.yarn/*',
1837
'yarn.lock',
1938
'LICENSE',
2039
'.gitignore',
2140
'.npmignore',
22-
'.prettierrc.js',
23-
'yarnrc.yml',
24-
'jest.config.js',
25-
'babel.config.js',
41+
'.yarnrc.yml',
2642
]),
2743
]);

example/Example.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ const thumbnails = [
1313
},
1414
];
1515

16-
function Example(): React.JSX.Element {
16+
export default function App(): React.JSX.Element {
1717
// use toggle to show and hide ThumbnailSelector
1818
// eslint-disable-next-line @typescript-eslint/no-unused-vars
1919
let toggle = () => new Promise<Animated.EndResult>(res => res);
@@ -25,5 +25,3 @@ function Example(): React.JSX.Element {
2525
/>
2626
);
2727
}
28-
29-
export default Example;

package.json

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@
44
"description": "A thumbnail selector.",
55
"main": "ThumbnailSelector.tsx",
66
"scripts": {
7-
"test": "npx jest --coverage",
8-
"lint": "npx eslint .",
9-
"lint:fix": "npx eslint . --fix",
7+
"test": "yarn jest --coverage",
8+
"lint": "yarn eslint .",
109
"prettier": "npx prettier --check ."
1110
},
1211
"repository": {
@@ -30,7 +29,8 @@
3029
"author": "Brian Sinnicke",
3130
"license": "MIT",
3231
"devDependencies": {
33-
"@eslint/js": "9.35.0",
32+
"@eslint/json": "0.13.2",
33+
"@eslint/markdown": "7.2.0",
3434
"@react-native/babel-preset": "0.81.1",
3535
"@react-native/eslint-config": "0.81.1",
3636
"@react-native/metro-config": "0.81.1",
@@ -41,15 +41,18 @@
4141
"@types/react-test-renderer": "19.1.0",
4242
"babel-jest": "29.7.0",
4343
"eslint": "9.35.0",
44-
"globals": "16.3.0",
44+
"eslint-plugin-yml": "1.18.0",
4545
"jest": "29.7.0",
46-
"prettier": "3.3.3",
46+
"prettier": "3.6.2",
4747
"react": "19.1.0",
4848
"react-native": "0.81.1",
4949
"react-test-renderer": "19.1.0",
5050
"ts-jest": "29.3.4",
5151
"typescript": "5.8.3",
5252
"typescript-eslint": "8.42.0"
5353
},
54+
"engines": {
55+
"node": ">=20"
56+
},
5457
"packageManager": "[email protected]"
5558
}

prettier.config.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
/**
2+
* @see https://prettier.io/docs/configuration
3+
* @type {import("prettier").Config}
4+
*/
5+
6+
const config = {
7+
arrowParens: 'avoid',
8+
singleQuote: true,
9+
trailingComma: 'all',
10+
};
11+
12+
module.exports = config;

tsconfig.json

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
11
{
22
"extends": "@react-native/typescript-config",
33
"include": ["**/*.ts", "**/*.tsx"],
4-
"exclude": [
5-
"babel.config.js",
6-
".prettierrc.js",
7-
"**/node_modules",
8-
"**/Pods"
9-
]
4+
"exclude": ["**/node_modules", "**/Pods"]
105
}

0 commit comments

Comments
 (0)