diff --git a/.vscode/settings.json b/.vscode/settings.json index bb197af43f1..91cdc58703b 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,9 +1,54 @@ { + // Memory optimization - limit TypeScript service + "typescript.tsserver.maxTsServerMemory": 4096, + "typescript.tsserver.experimental.enableProjectDiagnostics": false, + "typescript.preferences.includePackageJsonAutoImports": "off", + "typescript.suggest.autoImports": false, + "typescript.disableAutomaticTypeAcquisition": true, + "typescript.suggest.includeCompletionsForModuleExports": false, + "typescript.suggest.includeAutomaticOptionalChainCompletions": false, + "typescript.suggest.completeFunctionCalls": false, + "typescript.suggest.jsdoc.generateReturns": false, + "typescript.suggest.names": false, + "typescript.suggest.paths": false, + "typescript.npm": "", + "typescript.surveys.enabled": false, + + // Editor performance optimizations + "editor.minimap.enabled": true, + "editor.hover.delay": 1000, + "editor.suggest.localityBonus": true, + "editor.suggest.shareSuggestSelections": false, + "editor.quickSuggestions": { + "other": false, + "comments": false, + "strings": false + }, + "editor.parameterHints.enabled": false, + "editor.lightbulb.enabled": "off", + + // Git optimizations for large repo + "git.autorefresh": false, + "git.autofetch": false, + "git.decorations.enabled": false, + + // UI optimizations + "breadcrumbs.enabled": false, + "explorer.compactFolders": true, + "problems.decorations.enabled": false, + + // Extensions + "extensions.autoCheckUpdates": false, + "extensions.autoUpdate": false, + + // ESLint - run only on save to reduce CPU usage "eslint.format.enable": true, "eslint.enable": true, + "eslint.run": "onSave", "eslint.probe": ["javascript", "typescript", "html", "markdown", "svelte"], "eslint.validate": ["javascript", "typescript", "markdown", "svelte"], - "eslint.lintTask.enable": true, + "eslint.lintTask.enable": false, + "[typescript]": { "editor.defaultFormatter": "dbaeumer.vscode-eslint" }, @@ -15,5 +60,57 @@ }, "[svelte]": { "editor.defaultFormatter": "dbaeumer.vscode-eslint" + }, + "files.exclude": { + "**/.DS_Store": true, + "**/common/temp": true, + // "**/node_modules": true, // TODO: Disable if not needed + "**/.rush": true, + "**/rush-logs": true, + "**/.build": true, + "**/.validate": true, + "**/dist": true, + "**/build": true, + "**/coverage": true, + "**/.nyc_output": true, + "**/*.log": true, + "**/Thumbs.db": true + }, + "files.watcherExclude": { + "**/node_modules": true, + "**/bower_components": true, + "**/*.code-search": true, + "**/lib": true, + "**/common/temp": true, + "**/.rush": true, + "**/.format": true, + "**/.validate": true, + "**/types": true, + "**/.build": true, + "**/dist": true, + "**/build": true, + "**/coverage": true, + "**/.nyc_output": true, + "**/*.log": true, + "**/rush-logs": true, + "**/.git": true + }, + "search.exclude": { + "**/node_modules": true, + "**/bower_components": true, + "**/*.code-search": true, + "**/lib": true, + "**/common/temp": true, + "**/.rush": true, + "**/.format": true, + "**/.validate": true, + "**/types": true, + "**/.build": true, + "**/dist": true, + "**/build": true, + "**/coverage": true, + "**/.nyc_output": true, + "**/*.log": true, + "**/rush-logs": true } } diff --git a/packages/platform-rig/profiles/default/eslint.config.json b/packages/platform-rig/profiles/default/eslint.config.json index f91dabca82e..15f6e0edfb6 100644 --- a/packages/platform-rig/profiles/default/eslint.config.json +++ b/packages/platform-rig/profiles/default/eslint.config.json @@ -1,11 +1,16 @@ { - "extends": [ - "standard-with-typescript" - ], - "ignorePatterns": ["*.json", "node_modules/*", ".eslintrc.js"], - "rules": { - "@typescript-eslint/array-type": "off", - "@typescript-eslint/promise-function-async": "off", - "@typescript-eslint/consistent-type-imports": "off" - } + "extends": ["standard-with-typescript"], + "ignorePatterns": ["*.json", "node_modules/*", ".eslintrc.js", "dist/*", "build/*", "coverage/*"], + "parserOptions": { + "project": "./tsconfig.json", + "createDefaultProgram": false + }, + "rules": { + "@typescript-eslint/array-type": "off", + "@typescript-eslint/promise-function-async": "off", + "@typescript-eslint/consistent-type-imports": "off" + }, + "env": { + "es2022": true + } } diff --git a/packages/platform-rig/profiles/node/eslint.config.json b/packages/platform-rig/profiles/node/eslint.config.json index eccad255cee..2e17bf50f23 100644 --- a/packages/platform-rig/profiles/node/eslint.config.json +++ b/packages/platform-rig/profiles/node/eslint.config.json @@ -1,10 +1,16 @@ { - "extends": [ - "standard-with-typescript" - ], - "ignorePatterns": ["*.json", "node_modules/*", ".eslintrc.js"], + "extends": ["standard-with-typescript"], + "ignorePatterns": ["*.json", "node_modules/*", ".eslintrc.js", "dist/*", "build/*", "coverage/*"], + "parserOptions": { + "project": "./tsconfig.json", + "createDefaultProgram": false + }, "rules": { - "@typescript-eslint/array-type": "off", - "@typescript-eslint/promise-function-async": "off" - } + "@typescript-eslint/array-type": "off", + "@typescript-eslint/promise-function-async": "off" + }, + "env": { + "node": true, + "es2022": true + } } diff --git a/packages/platform-rig/profiles/package/eslint.config.json b/packages/platform-rig/profiles/package/eslint.config.json index 5fc789658b5..8c7078576af 100644 --- a/packages/platform-rig/profiles/package/eslint.config.json +++ b/packages/platform-rig/profiles/package/eslint.config.json @@ -1,11 +1,17 @@ { - "extends": [ - "standard-with-typescript" - ], - "ignorePatterns": ["*.json", "node_modules/*", ".eslintrc.js"], - "rules": { - "@typescript-eslint/array-type": "off", - "@typescript-eslint/promise-function-async": "off", - "@typescript-eslint/consistent-type-imports": "off" - } + "extends": ["standard-with-typescript"], + "ignorePatterns": ["*.json", "node_modules/*", ".eslintrc.js", "dist/*", "build/*", "coverage/*"], + "parserOptions": { + "project": "./tsconfig.json", + "createDefaultProgram": false + }, + "rules": { + "@typescript-eslint/array-type": "off", + "@typescript-eslint/promise-function-async": "off", + "@typescript-eslint/consistent-type-imports": "off" + }, + "env": { + "node": true, + "es2022": true + } } diff --git a/packages/platform-rig/profiles/ui/eslint.config.json b/packages/platform-rig/profiles/ui/eslint.config.json index 538de3db4de..0c6b883c801 100644 --- a/packages/platform-rig/profiles/ui/eslint.config.json +++ b/packages/platform-rig/profiles/ui/eslint.config.json @@ -18,7 +18,7 @@ "extraFileExtensions": [".svelte"] }, "plugins": ["@typescript-eslint", "import"], - "ignorePatterns": ["*.json", "node_modules/*", ".eslintrc.js"], + "ignorePatterns": ["*.json", "node_modules/*", ".eslintrc.js", "dist/*", "build/*", "coverage/*"], "settings": { "import/resolver": { "node": { @@ -35,11 +35,14 @@ "parser": "@typescript-eslint/parser" }, "rules": { - "@typescript-eslint/no-unused-vars": ["warn", { - // Registered Svelte names for better component typings, - // see https://raqueebuddinaziz.com/blog/svelte-type-events-slots-and-props/#restprops-props - "varsIgnorePattern": "^\\$\\$(Props|Events|Slots)$" - }], + "@typescript-eslint/no-unused-vars": [ + "warn", + { + // Registered Svelte names for better component typings, + // see https://raqueebuddinaziz.com/blog/svelte-type-events-slots-and-props/#restprops-props + "varsIgnorePattern": "^\\$\\$(Props|Events|Slots)$" + } + ], "@typescript-eslint/array-type": "off", "@typescript-eslint/promise-function-async": "off", "@typescript-eslint/consistent-type-imports": "off", @@ -50,9 +53,9 @@ "no-multiple-empty-lines": "warn", "no-undef-init": "off", "no-use-before-define": "warn", - // This need to be enabled eventually + // This need to be enabled eventually "@typescript-eslint/explicit-function-return-type": "warn", - "@typescript-eslint/strict-boolean-expressions":"warn", + "@typescript-eslint/strict-boolean-expressions": "warn", "@typescript-eslint/prefer-nullish-coalescing": "warn", "@typescript-eslint/no-use-before-define": "warn", "@typescript-eslint/no-floating-promises": "warn" diff --git a/rush.json b/rush.json index 460acabfdf6..851821ab961 100644 --- a/rush.json +++ b/rush.json @@ -16,7 +16,7 @@ * path segment in the "$schema" field for all your Rush config files. This will ensure * correct error-underlining and tab-completion for editors such as VS Code. */ - "rushVersion": "5.151.0", + "rushVersion": "5.157.0", /** * The next field selects which package manager should be installed and determines its version. @@ -26,7 +26,7 @@ * Specify one of: "pnpmVersion", "npmVersion", or "yarnVersion". See the Rush documentation * for details about these alternatives. */ - "pnpmVersion": "9.15.3", + "pnpmVersion": "10.14.0", // "npmVersion": "4.5.0", // "yarnVersion": "1.9.4",