mirror of
https://github.com/monkeytypegame/monkeytype.git
synced 2025-12-19 06:29:04 +08:00
- main linting is now done by oxlint. eslint remains for linting json files in the frontend (until oxlint adds support) - move type checking to the lint step (with --type-check) this improves performance by removing a duplicated typescript parse task (instead of parsing for linting then again for type checking, it parses once for both) - add a `lint-fast` npm script to get some fast fail behavior. it simply lints with no type information - oxc plugins are still in preview, so the custom plugin that checks for `__testing` usage outside of tests runs outside the main linting job until performance is improved - fixes some type issues (and config issues) that were not visible due to a missing type check on some files. now type checking will run on every file that is linted - split up oxc config for easier management waiting https://github.com/oxc-project/tsgolint/pull/494 seeing around 3x improvement in type aware linting
97 lines
2.2 KiB
Text
97 lines
2.2 KiB
Text
{
|
|
"folders": [
|
|
//root needs to be first
|
|
{
|
|
"name": "root",
|
|
"path": "./",
|
|
},
|
|
{
|
|
"name": "backend",
|
|
"path": "backend",
|
|
},
|
|
{
|
|
"name": "frontend",
|
|
"path": "frontend",
|
|
},
|
|
{
|
|
"name": "packages",
|
|
"path": "packages",
|
|
},
|
|
],
|
|
"settings": {
|
|
"files.exclude": {
|
|
"frontend": true,
|
|
"backend": true,
|
|
"packages": true,
|
|
},
|
|
"search.exclude": {
|
|
//defaults
|
|
"**/node_modules": true,
|
|
"**/bower_components": true,
|
|
"**/*.code-search": true,
|
|
//exclude generated directories
|
|
"**/build/**": true,
|
|
"**/dist/**": true,
|
|
"**/public/**": true,
|
|
"**/coverage/**": true,
|
|
"**/logs/**": true,
|
|
"**/.firebase/**": true,
|
|
"**/.turbo/**": true,
|
|
},
|
|
"oxc.fmt.experimental": true,
|
|
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
|
"editor.formatOnSaveMode": "file",
|
|
"editor.formatOnSave": true,
|
|
"testing.automaticallyOpenTestResults": "neverOpen",
|
|
"[json]": {
|
|
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
|
},
|
|
"[html]": {
|
|
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
|
},
|
|
"[scss]": {
|
|
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
|
},
|
|
"[javascript]": {
|
|
"editor.defaultFormatter": "oxc.oxc-vscode",
|
|
},
|
|
"[typescript]": {
|
|
"editor.defaultFormatter": "oxc.oxc-vscode",
|
|
},
|
|
"vitest.maximumConfigs": 10,
|
|
"oxc.typeAware": true,
|
|
"typescript.format.enable": false,
|
|
},
|
|
|
|
"launch": {
|
|
"version": "0.2.0",
|
|
"configurations": [
|
|
{
|
|
"type": "node",
|
|
"request": "attach",
|
|
"name": "Backend: Attach",
|
|
"port": 9229,
|
|
"skipFiles": ["<node_internals>/**", "**/node_modules/**"],
|
|
},
|
|
{
|
|
"type": "chrome",
|
|
"request": "launch",
|
|
"name": "Frontend: Open and Attach",
|
|
"port": 9222,
|
|
"skipFiles": ["**/node_modules/**"],
|
|
"webRoot": "${workspaceFolder:frontend}/src",
|
|
"url": "http://localhost:3000",
|
|
},
|
|
],
|
|
"compounds": [],
|
|
},
|
|
"extensions": {
|
|
"recommendations": [
|
|
"esbenp.prettier-vscode",
|
|
"vitest.explorer",
|
|
"huntertran.auto-markdown-toc",
|
|
"dbaeumer.vscode-eslint",
|
|
"oxc.oxc-vscode",
|
|
],
|
|
},
|
|
}
|