-
Notifications
You must be signed in to change notification settings - Fork 108
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update deps; New eslint config; Fix budgeted fs wrapper bug (#1185)
Update all the dependencies to latest major versions. Only eslint required any changes. Eslint 9 has a new config file format, so I switched to that. I also adopted the new recommended style for typescript-eslint which has some new rules. The new rules found a few style issues, but also a real issue. The real issue was that an await was being omitted in the budgeted fs module. We could also update to using, but let's do that in another PR for the whole project.
- Loading branch information
Showing
17 changed files
with
612 additions
and
603 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
/** | ||
* @license | ||
* Copyright 2024 Google LLC | ||
* SPDX-License-Identifier: Apache-2.0 | ||
*/ | ||
|
||
import eslint from '@eslint/js'; | ||
import noOnlyTests from 'eslint-plugin-no-only-tests'; | ||
import tseslint from 'typescript-eslint'; | ||
|
||
/** | ||
* We want to be able to lint non-TypeScript files. If we don't guard our | ||
* TypeScript rules with a "files" constraint, eslint will try to lint all files | ||
* using the TypeScript parser, which will fail for projects outside a | ||
* TypeScript project. Maybe there is a simpler way to do this? | ||
*/ | ||
const onlyTypeScriptFiles = (configs) => | ||
configs.map((config) => ({files: ['**/*.ts'], ...config})); | ||
|
||
export default [ | ||
{ | ||
// List all visible files: | ||
// npx eslint --debug 2>&1 | grep "eslint:eslint Lint" | cut -f 4- -d" " | sort | ||
ignores: [ | ||
'**/.wireit/', | ||
'**/node_modules/', | ||
'lib/', | ||
'vscode-extension/.vscode-test/', | ||
'vscode-extension/lib/', | ||
'vscode-extension/built/', | ||
], | ||
}, | ||
eslint.configs.recommended, | ||
...onlyTypeScriptFiles([ | ||
...tseslint.configs.strictTypeChecked, | ||
{ | ||
languageOptions: { | ||
parserOptions: { | ||
projectService: true, | ||
tsconfigRootDir: import.meta.dirname, | ||
}, | ||
}, | ||
plugins: { | ||
'no-only-tests': noOnlyTests, | ||
}, | ||
rules: { | ||
'no-only-tests/no-only-tests': 'error', | ||
'@typescript-eslint/no-unused-vars': [ | ||
'error', | ||
{argsIgnorePattern: '^_', varsIgnorePattern: '^_'}, | ||
], | ||
'@typescript-eslint/no-non-null-assertion': 'off', | ||
'@typescript-eslint/no-useless-constructor': 'off', | ||
'@typescript-eslint/only-throw-error': 'off', | ||
'@typescript-eslint/no-confusing-void-expression': 'off', | ||
'@typescript-eslint/restrict-template-expressions': 'off', | ||
'@typescript-eslint/no-unnecessary-condition': 'off', | ||
'@typescript-eslint/no-unnecessary-type-arguments': 'off', | ||
'@typescript-eslint/no-unnecessary-template-expression': 'off', | ||
'@typescript-eslint/use-unknown-in-catch-callback-variable': 'off', | ||
}, | ||
}, | ||
]), | ||
]; |
Oops, something went wrong.