Просмотр исходного кода

Add pre-commit hook to auto-run/fix prettier and eslint

Matt Rubens 11 месяцев назад
Родитель
Сommit
3bcb4ff8c5
2 измененных файлов с 314 добавлено и 278 удалено
  1. 36 5
      package-lock.json
  2. 278 273
      package.json

+ 36 - 5
package-lock.json

@@ -73,6 +73,7 @@
         "jest-simple-dot-reporter": "^1.0.5",
         "lint-staged": "^15.2.11",
         "npm-run-all": "^4.1.5",
+        "prettier": "^3.4.2",
         "ts-jest": "^29.2.5",
         "typescript": "^5.4.5"
       },
@@ -2733,6 +2734,21 @@
         "semver": "^7.5.3"
       }
     },
+    "node_modules/@changesets/apply-release-plan/node_modules/prettier": {
+      "version": "2.8.8",
+      "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
+      "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
+      "dev": true,
+      "bin": {
+        "prettier": "bin-prettier.js"
+      },
+      "engines": {
+        "node": ">=10.13.0"
+      },
+      "funding": {
+        "url": "https://github.com/prettier/prettier?sponsor=1"
+      }
+    },
     "node_modules/@changesets/apply-release-plan/node_modules/resolve-from": {
       "version": "5.0.0",
       "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
@@ -2999,6 +3015,21 @@
         "prettier": "^2.7.1"
       }
     },
+    "node_modules/@changesets/write/node_modules/prettier": {
+      "version": "2.8.8",
+      "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
+      "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
+      "dev": true,
+      "bin": {
+        "prettier": "bin-prettier.js"
+      },
+      "engines": {
+        "node": ">=10.13.0"
+      },
+      "funding": {
+        "url": "https://github.com/prettier/prettier?sponsor=1"
+      }
+    },
     "node_modules/@esbuild/aix-ppc64": {
       "version": "0.24.0",
       "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.0.tgz",
@@ -13217,15 +13248,15 @@
       }
     },
     "node_modules/prettier": {
-      "version": "2.8.8",
-      "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
-      "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
+      "version": "3.4.2",
+      "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz",
+      "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==",
       "dev": true,
       "bin": {
-        "prettier": "bin-prettier.js"
+        "prettier": "bin/prettier.cjs"
       },
       "engines": {
-        "node": ">=10.13.0"
+        "node": ">=14"
       },
       "funding": {
         "url": "https://github.com/prettier/prettier?sponsor=1"

+ 278 - 273
package.json

@@ -1,275 +1,280 @@
 {
-  "name": "roo-cline",
-  "displayName": "Roo Cline",
-  "description": "A fork of Cline, an autonomous coding agent, with some added experimental configuration and automation features.",
-  "publisher": "RooVeterinaryInc",
-  "version": "3.1.6",
-  "icon": "assets/icons/rocket.png",
-  "galleryBanner": {
-    "color": "#617A91",
-    "theme": "dark"
-  },
-  "engines": {
-    "vscode": "^1.84.0"
-  },
-  "author": {
-    "name": "Roo Vet"
-  },
-  "repository": {
-    "type": "git",
-    "url": "https://github.com/RooVetGit/Roo-Cline"
-  },
-  "homepage": "https://github.com/RooVetGit/Roo-Cline",
-  "categories": [
-    "AI",
-    "Chat",
-    "Programming Languages",
-    "Education",
-    "Snippets",
-    "Testing"
-  ],
-  "keywords": [
-    "cline",
-    "claude",
-    "dev",
-    "mcp",
-    "openrouter",
-    "coding",
-    "agent",
-    "autonomous",
-    "chatgpt",
-    "sonnet",
-    "ai",
-    "llama"
-  ],
-  "activationEvents": [
-    "onLanguage",
-    "onStartupFinished"
-  ],
-  "main": "./dist/extension.js",
-  "contributes": {
-    "viewsContainers": {
-      "activitybar": [
-        {
-          "id": "roo-cline-ActivityBar",
-          "title": "Roo Cline",
-          "icon": "$(rocket)"
-        }
-      ]
-    },
-    "views": {
-      "roo-cline-ActivityBar": [
-        {
-          "type": "webview",
-          "id": "roo-cline.SidebarProvider",
-          "name": ""
-        }
-      ]
-    },
-    "commands": [
-      {
-        "command": "roo-cline.plusButtonClicked",
-        "title": "New Task",
-        "icon": "$(add)"
-      },
-      {
-        "command": "roo-cline.mcpButtonClicked",
-        "title": "MCP Servers",
-        "icon": "$(server)"
-      },
-      {
-        "command": "roo-cline.promptsButtonClicked",
-        "title": "Prompts",
-        "icon": "$(notebook)"
-      },
-      {
-        "command": "roo-cline.historyButtonClicked",
-        "title": "History",
-        "icon": "$(history)"
-      },
-      {
-        "command": "roo-cline.popoutButtonClicked",
-        "title": "Open in Editor",
-        "icon": "$(link-external)"
-      },
-      {
-        "command": "roo-cline.settingsButtonClicked",
-        "title": "Settings",
-        "icon": "$(settings-gear)"
-      },
-      {
-        "command": "roo-cline.openInNewTab",
-        "title": "Open In New Tab",
-        "category": "Roo Cline"
-      }
-    ],
-    "menus": {
-      "view/title": [
-        {
-          "command": "roo-cline.plusButtonClicked",
-          "group": "navigation@1",
-          "when": "view == roo-cline.SidebarProvider"
-        },
-        {
-          "command": "roo-cline.promptsButtonClicked",
-          "group": "navigation@2",
-          "when": "view == roo-cline.SidebarProvider"
-        },
-        {
-          "command": "roo-cline.mcpButtonClicked",
-          "group": "navigation@3",
-          "when": "view == roo-cline.SidebarProvider"
-        },
-        {
-          "command": "roo-cline.historyButtonClicked",
-          "group": "navigation@4",
-          "when": "view == roo-cline.SidebarProvider"
-        },
-        {
-          "command": "roo-cline.popoutButtonClicked",
-          "group": "navigation@5",
-          "when": "view == roo-cline.SidebarProvider"
-        },
-        {
-          "command": "roo-cline.settingsButtonClicked",
-          "group": "navigation@6",
-          "when": "view == roo-cline.SidebarProvider"
-        }
-      ]
-    },
-    "configuration": {
-      "title": "RooCline",
-      "properties": {
-        "roo-cline.allowedCommands": {
-          "type": "array",
-          "items": {
-            "type": "string"
-          },
-          "default": [
-            "npm test",
-            "npm install",
-            "tsc",
-            "git log",
-            "git diff",
-            "git show"
-          ],
-          "description": "Commands that can be auto-executed when 'Always approve execute operations' is enabled"
-        },
-        "roo-cline.vsCodeLmModelSelector": {
-          "type": "object",
-          "properties": {
-            "vendor": {
-              "type": "string",
-              "description": "The vendor of the language model (e.g. copilot)"
-            },
-            "family": {
-              "type": "string",
-              "description": "The family of the language model (e.g. gpt-4)"
-            }
-          },
-          "description": "Settings for VSCode Language Model API"
-        }
-      }
-    }
-  },
-  "scripts": {
-    "build": "npm run build:webview && npm run vsix",
-    "build:webview": "cd webview-ui && npm run build",
-    "changeset": "changeset",
-    "check-types": "tsc --noEmit",
-    "compile": "npm run check-types && npm run lint && node esbuild.js",
-    "compile-tests": "tsc -p . --outDir out",
-    "install:all": "npm install && cd webview-ui && npm install",
-    "lint": "eslint src --ext ts && npm run lint --prefix webview-ui",
-    "package": "npm run build:webview && npm run check-types && npm run lint && node esbuild.js --production",
-    "pretest": "npm run compile-tests && npm run compile && npm run lint",
-    "start:webview": "cd webview-ui && npm run start",
-    "test": "jest && npm run test:webview",
-    "test:webview": "cd webview-ui && npm run test",
-    "test:extension": "vscode-test",
-    "prepare": "husky",
-    "publish:marketplace": "vsce publish && ovsx publish",
-    "publish": "npm run build && changeset publish && npm install --package-lock-only",
-    "version-packages": "changeset version && npm install --package-lock-only",
-    "vscode:prepublish": "npm run package",
-    "vsix": "mkdir -p bin && npx vsce package --out bin",
-    "watch": "npm-run-all -p watch:*",
-    "watch:esbuild": "node esbuild.js --watch",
-    "watch:tsc": "tsc --noEmit --watch --project tsconfig.json",
-    "watch-tests": "tsc -p . -w --outDir out"
-  },
-  "devDependencies": {
-    "@changesets/cli": "^2.27.10",
-    "@changesets/types": "^6.0.0",
-    "@types/diff": "^5.2.1",
-    "@types/diff-match-patch": "^1.0.36",
-    "@types/jest": "^29.5.14",
-    "@types/mocha": "^10.0.7",
-    "@types/node": "20.x",
-    "@types/string-similarity": "^4.0.2",
-    "@typescript-eslint/eslint-plugin": "^7.14.1",
-    "@typescript-eslint/parser": "^7.11.0",
-    "@vscode/test-cli": "^0.0.9",
-    "@vscode/test-electron": "^2.4.0",
-    "dotenv": "^16.4.7",
-    "esbuild": "^0.24.0",
-    "eslint": "^8.57.0",
-    "husky": "^9.1.7",
-    "jest": "^29.7.0",
-    "jest-simple-dot-reporter": "^1.0.5",
-    "lint-staged": "^15.2.11",
-    "npm-run-all": "^4.1.5",
-    "ts-jest": "^29.2.5",
-    "typescript": "^5.4.5"
-  },
-  "dependencies": {
-    "@anthropic-ai/bedrock-sdk": "^0.10.2",
-    "@anthropic-ai/sdk": "^0.26.0",
-    "@anthropic-ai/vertex-sdk": "^0.4.1",
-    "@aws-sdk/client-bedrock-runtime": "^3.706.0",
-    "@google/generative-ai": "^0.18.0",
-    "@mistralai/mistralai": "^1.3.6",
-    "@modelcontextprotocol/sdk": "^1.0.1",
-    "@types/clone-deep": "^4.0.4",
-    "@types/pdf-parse": "^1.1.4",
-    "@types/tmp": "^0.2.6",
-    "@types/turndown": "^5.0.5",
-    "@types/vscode": "^1.95.0",
-    "@vscode/codicons": "^0.0.36",
-    "axios": "^1.7.4",
-    "cheerio": "^1.0.0",
-    "chokidar": "^4.0.1",
-    "clone-deep": "^4.0.1",
-    "default-shell": "^2.2.0",
-    "delay": "^6.0.0",
-    "diff": "^5.2.0",
-    "diff-match-patch": "^1.0.5",
-    "fast-deep-equal": "^3.1.3",
-    "fastest-levenshtein": "^1.0.16",
-    "globby": "^14.0.2",
-    "isbinaryfile": "^5.0.2",
-    "mammoth": "^1.8.0",
-    "monaco-vscode-textmate-theme-converter": "^0.1.7",
-    "openai": "^4.78.1",
-    "os-name": "^6.0.0",
-    "p-wait-for": "^5.0.2",
-    "pdf-parse": "^1.1.1",
-    "puppeteer-chromium-resolver": "^23.0.0",
-    "puppeteer-core": "^23.4.0",
-    "serialize-error": "^11.0.3",
-    "simple-git": "^3.27.0",
-    "sound-play": "^1.1.0",
-    "string-similarity": "^4.0.4",
-    "strip-ansi": "^7.1.0",
-    "tmp": "^0.2.3",
-    "tree-sitter-wasms": "^0.1.11",
-    "turndown": "^7.2.0",
-    "web-tree-sitter": "^0.22.6",
-    "zod": "^3.23.8"
-  },
-  "lint-staged": {
-    "src/**/*.{ts,tsx}": [
-      "npx eslint -c .eslintrc.json"
-    ]
-  }
+	"name": "roo-cline",
+	"displayName": "Roo Cline",
+	"description": "A fork of Cline, an autonomous coding agent, with some added experimental configuration and automation features.",
+	"publisher": "RooVeterinaryInc",
+	"version": "3.1.6",
+	"icon": "assets/icons/rocket.png",
+	"galleryBanner": {
+		"color": "#617A91",
+		"theme": "dark"
+	},
+	"engines": {
+		"vscode": "^1.84.0"
+	},
+	"author": {
+		"name": "Roo Vet"
+	},
+	"repository": {
+		"type": "git",
+		"url": "https://github.com/RooVetGit/Roo-Cline"
+	},
+	"homepage": "https://github.com/RooVetGit/Roo-Cline",
+	"categories": [
+		"AI",
+		"Chat",
+		"Programming Languages",
+		"Education",
+		"Snippets",
+		"Testing"
+	],
+	"keywords": [
+		"cline",
+		"claude",
+		"dev",
+		"mcp",
+		"openrouter",
+		"coding",
+		"agent",
+		"autonomous",
+		"chatgpt",
+		"sonnet",
+		"ai",
+		"llama"
+	],
+	"activationEvents": [
+		"onLanguage",
+		"onStartupFinished"
+	],
+	"main": "./dist/extension.js",
+	"contributes": {
+		"viewsContainers": {
+			"activitybar": [
+				{
+					"id": "roo-cline-ActivityBar",
+					"title": "Roo Cline",
+					"icon": "$(rocket)"
+				}
+			]
+		},
+		"views": {
+			"roo-cline-ActivityBar": [
+				{
+					"type": "webview",
+					"id": "roo-cline.SidebarProvider",
+					"name": ""
+				}
+			]
+		},
+		"commands": [
+			{
+				"command": "roo-cline.plusButtonClicked",
+				"title": "New Task",
+				"icon": "$(add)"
+			},
+			{
+				"command": "roo-cline.mcpButtonClicked",
+				"title": "MCP Servers",
+				"icon": "$(server)"
+			},
+			{
+				"command": "roo-cline.promptsButtonClicked",
+				"title": "Prompts",
+				"icon": "$(notebook)"
+			},
+			{
+				"command": "roo-cline.historyButtonClicked",
+				"title": "History",
+				"icon": "$(history)"
+			},
+			{
+				"command": "roo-cline.popoutButtonClicked",
+				"title": "Open in Editor",
+				"icon": "$(link-external)"
+			},
+			{
+				"command": "roo-cline.settingsButtonClicked",
+				"title": "Settings",
+				"icon": "$(settings-gear)"
+			},
+			{
+				"command": "roo-cline.openInNewTab",
+				"title": "Open In New Tab",
+				"category": "Roo Cline"
+			}
+		],
+		"menus": {
+			"view/title": [
+				{
+					"command": "roo-cline.plusButtonClicked",
+					"group": "navigation@1",
+					"when": "view == roo-cline.SidebarProvider"
+				},
+				{
+					"command": "roo-cline.promptsButtonClicked",
+					"group": "navigation@2",
+					"when": "view == roo-cline.SidebarProvider"
+				},
+				{
+					"command": "roo-cline.mcpButtonClicked",
+					"group": "navigation@3",
+					"when": "view == roo-cline.SidebarProvider"
+				},
+				{
+					"command": "roo-cline.historyButtonClicked",
+					"group": "navigation@4",
+					"when": "view == roo-cline.SidebarProvider"
+				},
+				{
+					"command": "roo-cline.popoutButtonClicked",
+					"group": "navigation@5",
+					"when": "view == roo-cline.SidebarProvider"
+				},
+				{
+					"command": "roo-cline.settingsButtonClicked",
+					"group": "navigation@6",
+					"when": "view == roo-cline.SidebarProvider"
+				}
+			]
+		},
+		"configuration": {
+			"title": "RooCline",
+			"properties": {
+				"roo-cline.allowedCommands": {
+					"type": "array",
+					"items": {
+						"type": "string"
+					},
+					"default": [
+						"npm test",
+						"npm install",
+						"tsc",
+						"git log",
+						"git diff",
+						"git show"
+					],
+					"description": "Commands that can be auto-executed when 'Always approve execute operations' is enabled"
+				},
+				"roo-cline.vsCodeLmModelSelector": {
+					"type": "object",
+					"properties": {
+						"vendor": {
+							"type": "string",
+							"description": "The vendor of the language model (e.g. copilot)"
+						},
+						"family": {
+							"type": "string",
+							"description": "The family of the language model (e.g. gpt-4)"
+						}
+					},
+					"description": "Settings for VSCode Language Model API"
+				}
+			}
+		}
+	},
+	"scripts": {
+		"build": "npm run build:webview && npm run vsix",
+		"build:webview": "cd webview-ui && npm run build",
+		"changeset": "changeset",
+		"check-types": "tsc --noEmit",
+		"compile": "npm run check-types && npm run lint && node esbuild.js",
+		"compile-tests": "tsc -p . --outDir out",
+		"install:all": "npm install && cd webview-ui && npm install",
+		"lint": "eslint src --ext ts && npm run lint --prefix webview-ui",
+		"package": "npm run build:webview && npm run check-types && npm run lint && node esbuild.js --production",
+		"pretest": "npm run compile-tests && npm run compile && npm run lint",
+		"start:webview": "cd webview-ui && npm run start",
+		"test": "jest && npm run test:webview",
+		"test:webview": "cd webview-ui && npm run test",
+		"test:extension": "vscode-test",
+		"prepare": "husky",
+		"publish:marketplace": "vsce publish && ovsx publish",
+		"publish": "npm run build && changeset publish && npm install --package-lock-only",
+		"version-packages": "changeset version && npm install --package-lock-only",
+		"vscode:prepublish": "npm run package",
+		"vsix": "mkdir -p bin && npx vsce package --out bin",
+		"watch": "npm-run-all -p watch:*",
+		"watch:esbuild": "node esbuild.js --watch",
+		"watch:tsc": "tsc --noEmit --watch --project tsconfig.json",
+		"watch-tests": "tsc -p . -w --outDir out"
+	},
+	"devDependencies": {
+		"@changesets/cli": "^2.27.10",
+		"@changesets/types": "^6.0.0",
+		"@types/diff": "^5.2.1",
+		"@types/diff-match-patch": "^1.0.36",
+		"@types/jest": "^29.5.14",
+		"@types/mocha": "^10.0.7",
+		"@types/node": "20.x",
+		"@types/string-similarity": "^4.0.2",
+		"@typescript-eslint/eslint-plugin": "^7.14.1",
+		"@typescript-eslint/parser": "^7.11.0",
+		"@vscode/test-cli": "^0.0.9",
+		"@vscode/test-electron": "^2.4.0",
+		"dotenv": "^16.4.7",
+		"esbuild": "^0.24.0",
+		"eslint": "^8.57.0",
+		"husky": "^9.1.7",
+		"jest": "^29.7.0",
+		"jest-simple-dot-reporter": "^1.0.5",
+		"lint-staged": "^15.2.11",
+		"npm-run-all": "^4.1.5",
+		"prettier": "^3.4.2",
+		"ts-jest": "^29.2.5",
+		"typescript": "^5.4.5"
+	},
+	"dependencies": {
+		"@anthropic-ai/bedrock-sdk": "^0.10.2",
+		"@anthropic-ai/sdk": "^0.26.0",
+		"@anthropic-ai/vertex-sdk": "^0.4.1",
+		"@aws-sdk/client-bedrock-runtime": "^3.706.0",
+		"@google/generative-ai": "^0.18.0",
+		"@mistralai/mistralai": "^1.3.6",
+		"@modelcontextprotocol/sdk": "^1.0.1",
+		"@types/clone-deep": "^4.0.4",
+		"@types/pdf-parse": "^1.1.4",
+		"@types/tmp": "^0.2.6",
+		"@types/turndown": "^5.0.5",
+		"@types/vscode": "^1.95.0",
+		"@vscode/codicons": "^0.0.36",
+		"axios": "^1.7.4",
+		"cheerio": "^1.0.0",
+		"chokidar": "^4.0.1",
+		"clone-deep": "^4.0.1",
+		"default-shell": "^2.2.0",
+		"delay": "^6.0.0",
+		"diff": "^5.2.0",
+		"diff-match-patch": "^1.0.5",
+		"fast-deep-equal": "^3.1.3",
+		"fastest-levenshtein": "^1.0.16",
+		"globby": "^14.0.2",
+		"isbinaryfile": "^5.0.2",
+		"mammoth": "^1.8.0",
+		"monaco-vscode-textmate-theme-converter": "^0.1.7",
+		"openai": "^4.78.1",
+		"os-name": "^6.0.0",
+		"p-wait-for": "^5.0.2",
+		"pdf-parse": "^1.1.1",
+		"puppeteer-chromium-resolver": "^23.0.0",
+		"puppeteer-core": "^23.4.0",
+		"serialize-error": "^11.0.3",
+		"simple-git": "^3.27.0",
+		"sound-play": "^1.1.0",
+		"string-similarity": "^4.0.4",
+		"strip-ansi": "^7.1.0",
+		"tmp": "^0.2.3",
+		"tree-sitter-wasms": "^0.1.11",
+		"turndown": "^7.2.0",
+		"web-tree-sitter": "^0.22.6",
+		"zod": "^3.23.8"
+	},
+	"lint-staged": {
+		"*.{js,jsx,ts,tsx,json,css,md}": [
+			"prettier --write"
+		],
+		"src/**/*.{ts,tsx}": [
+			"prettier --write",
+			"npx eslint -c .eslintrc.json --fix"
+		]
+	}
 }