mirror of
https://github.com/microsoft/vscode-extension-samples.git
synced 2026-04-27 16:55:44 +08:00
Migrate all samples to eslint 9
Switches all samples to use eslint 9 with flat configs. I've tried to migrate existing settings as much as possible. However our eslint configs were also inconsistent so I've tried to align these too
This commit is contained in:
@ -1,20 +0,0 @@
|
||||
/**@type {import('eslint').Linter.Config} */
|
||||
// eslint-disable-next-line no-undef
|
||||
module.exports = {
|
||||
root: true,
|
||||
parser: '@typescript-eslint/parser',
|
||||
plugins: [
|
||||
'@typescript-eslint',
|
||||
],
|
||||
extends: [
|
||||
'eslint:recommended',
|
||||
'plugin:@typescript-eslint/recommended',
|
||||
],
|
||||
rules: {
|
||||
'semi': [2, "always"],
|
||||
'@typescript-eslint/no-unused-vars': 0,
|
||||
'@typescript-eslint/no-explicit-any': 0,
|
||||
'@typescript-eslint/explicit-module-boundary-types': 0,
|
||||
'@typescript-eslint/no-non-null-assertion': 0,
|
||||
}
|
||||
};
|
||||
43
basic-multi-root-sample/eslint.config.mjs
Normal file
43
basic-multi-root-sample/eslint.config.mjs
Normal file
@ -0,0 +1,43 @@
|
||||
/**
|
||||
* ESLint configuration for the project.
|
||||
*
|
||||
* See https://eslint.style and https://typescript-eslint.io for additional linting options.
|
||||
*/
|
||||
// @ts-check
|
||||
import js from '@eslint/js';
|
||||
import tseslint from 'typescript-eslint';
|
||||
import stylistic from '@stylistic/eslint-plugin';
|
||||
|
||||
export default tseslint.config(
|
||||
{
|
||||
ignores: [
|
||||
'out'
|
||||
]
|
||||
},
|
||||
js.configs.recommended,
|
||||
...tseslint.configs.recommended,
|
||||
...tseslint.configs.stylistic,
|
||||
{
|
||||
plugins: {
|
||||
'@stylistic': stylistic
|
||||
},
|
||||
rules: {
|
||||
'curly': 'warn',
|
||||
'@stylistic/semi': ['warn', 'always'],
|
||||
'@typescript-eslint/no-empty-function': 'off',
|
||||
'@typescript-eslint/naming-convention': [
|
||||
'warn',
|
||||
{
|
||||
'selector': 'import',
|
||||
'format': ['camelCase', 'PascalCase']
|
||||
}
|
||||
],
|
||||
'@typescript-eslint/no-unused-vars': [
|
||||
'error',
|
||||
{
|
||||
'argsIgnorePattern': '^_'
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
);
|
||||
1656
basic-multi-root-sample/package-lock.json
generated
1656
basic-multi-root-sample/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -23,7 +23,7 @@
|
||||
"scripts": {
|
||||
"vscode:prepublish": "npm run compile",
|
||||
"compile": "tsc -p ./",
|
||||
"lint": "eslint \"src/**/*.ts\"",
|
||||
"lint": "eslint",
|
||||
"watch": "tsc -watch -p ./"
|
||||
},
|
||||
"contributes": {
|
||||
@ -43,11 +43,12 @@
|
||||
}
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/js": "^9.13.0",
|
||||
"@stylistic/eslint-plugin": "^2.9.0",
|
||||
"@types/node": "^20",
|
||||
"@types/vscode": "^1.73.0",
|
||||
"@typescript-eslint/eslint-plugin": "^7.14.0",
|
||||
"@typescript-eslint/parser": "^7.14.0",
|
||||
"eslint": "^8.26.0",
|
||||
"typescript": "^5.6.2"
|
||||
"eslint": "^9.13.0",
|
||||
"typescript": "^5.6.2",
|
||||
"typescript-eslint": "^8.11.0"
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,8 +2,8 @@
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
*--------------------------------------------------------*/
|
||||
|
||||
import { ExtensionContext, StatusBarAlignment, window, StatusBarItem, Selection, workspace, TextEditor, commands } from 'vscode';
|
||||
import { basename } from 'path';
|
||||
import { ExtensionContext, StatusBarAlignment, StatusBarItem, window, workspace } from 'vscode';
|
||||
|
||||
export function activate(context: ExtensionContext) {
|
||||
|
||||
@ -12,16 +12,16 @@ export function activate(context: ExtensionContext) {
|
||||
context.subscriptions.push(status);
|
||||
|
||||
// Update status bar item based on events for multi root folder changes
|
||||
context.subscriptions.push(workspace.onDidChangeWorkspaceFolders(e => updateStatus(status)));
|
||||
context.subscriptions.push(workspace.onDidChangeWorkspaceFolders(() => updateStatus(status)));
|
||||
|
||||
// Update status bar item based on events for configuration
|
||||
context.subscriptions.push(workspace.onDidChangeConfiguration(e => updateStatus(status)));
|
||||
context.subscriptions.push(workspace.onDidChangeConfiguration(() => updateStatus(status)));
|
||||
|
||||
// Update status bar item based on events around the active editor
|
||||
context.subscriptions.push(window.onDidChangeActiveTextEditor(e => updateStatus(status)));
|
||||
context.subscriptions.push(window.onDidChangeTextEditorViewColumn(e => updateStatus(status)));
|
||||
context.subscriptions.push(workspace.onDidOpenTextDocument(e => updateStatus(status)));
|
||||
context.subscriptions.push(workspace.onDidCloseTextDocument(e => updateStatus(status)));
|
||||
context.subscriptions.push(window.onDidChangeActiveTextEditor(() => updateStatus(status)));
|
||||
context.subscriptions.push(window.onDidChangeTextEditorViewColumn(() => updateStatus(status)));
|
||||
context.subscriptions.push(workspace.onDidOpenTextDocument(() => updateStatus(status)));
|
||||
context.subscriptions.push(workspace.onDidCloseTextDocument(() => updateStatus(status)));
|
||||
|
||||
updateStatus(status);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user