monkeytype/monkeytype.code-workspace
Jack a067a32b7a
chore: move main linting to oxlint (@miodec) (#7144)
- 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
2025-12-15 22:16:16 +01:00

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",
],
},
}