Skip to content

Commit b4c198b

Browse files
cmdcolinclaude
andcommitted
update to pnpm, TypeScript 6, eslint-plugin-unicorn v64
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 693bbef commit b4c198b

File tree

7 files changed

+5212
-3177
lines changed

7 files changed

+5212
-3177
lines changed

.github/workflows/push.yml

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,19 @@
1-
# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
2-
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
1+
name: Push
32

4-
name: Node.js CI
5-
6-
on:
7-
push:
8-
branches: [master]
9-
pull_request:
10-
branches: [master]
3+
on: push
114

125
jobs:
13-
build:
6+
test:
7+
name: Lint, build, and test
148
runs-on: ubuntu-latest
159
steps:
1610
- uses: actions/checkout@v4
17-
- name: Use Node.js ${{ matrix.node-version }}
18-
uses: actions/setup-node@v4
19-
with:
20-
node-version: 20.x
21-
- run: yarn install --frozen-lockfile
22-
- run: yarn test
23-
- name: Upload coverage reports to Codecov
24-
uses: codecov/codecov-action@v4.0.1
11+
- uses: pnpm/action-setup@v4
12+
- uses: actions/setup-node@v4
2513
with:
26-
token: ${{ secrets.CODECOV_TOKEN }}
14+
node-version: 22.x
15+
cache: pnpm
16+
- run: pnpm install --frozen-lockfile
17+
- run: pnpm lint
18+
- run: pnpm build
19+
- run: pnpm test

eslint.config.mjs

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import eslint from '@eslint/js'
2+
import importPlugin from 'eslint-plugin-import'
23
import eslintPluginUnicorn from 'eslint-plugin-unicorn'
34
import tseslint from 'typescript-eslint'
45

@@ -19,19 +20,37 @@ export default tseslint.config(
1920
...tseslint.configs.stylisticTypeChecked,
2021
...tseslint.configs.strictTypeChecked,
2122
eslintPluginUnicorn.configs.recommended,
23+
importPlugin.flatConfigs.recommended,
2224
{
2325
rules: {
2426
'no-underscore-dangle': 'off',
2527
curly: 'error',
28+
eqeqeq: 'error',
2629
'@typescript-eslint/consistent-type-imports': 'error',
2730
'unicorn/no-null': 'off',
2831
'unicorn/prevent-abbreviations': 'off',
2932
'unicorn/filename-case': 'off',
30-
'@typescript-eslint/no-explicit-any': 'warn',
33+
'@typescript-eslint/no-explicit-any': 'error',
3134
'@typescript-eslint/ban-ts-comment': ['error', { 'ts-expect-error': 'allow-with-description', 'ts-ignore': true }],
3235
'@typescript-eslint/require-await': 'off',
3336
'@typescript-eslint/no-empty-function': 'off',
3437
semi: ['error', 'never'],
38+
'import/extensions': ['error', 'ignorePackages'],
39+
'import/no-unresolved': 'off',
40+
'import/order': [
41+
'error',
42+
{
43+
named: true,
44+
'newlines-between': 'always',
45+
alphabetize: { order: 'asc' },
46+
groups: [
47+
'builtin',
48+
['external', 'internal'],
49+
['parent', 'sibling', 'index', 'object'],
50+
'type',
51+
],
52+
},
53+
],
3554
},
3655
},
3756
)

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,11 @@
4343
"@types/node": "^22.15.3",
4444
"documentation": "^14.0.1",
4545
"eslint": "^9.39.2",
46-
"eslint-plugin-unicorn": "^62.0.0",
46+
"eslint-plugin-import": "^2.32.0",
47+
"eslint-plugin-unicorn": "^64.0.0",
4748
"prettier": "^3.7.4",
4849
"rimraf": "^6.1.2",
49-
"typescript": "^5.9.3",
50+
"typescript": "^6.0.2",
5051
"typescript-eslint": "^8.50.0",
5152
"vitest": "^4.0.16"
5253
},

0 commit comments

Comments
 (0)