-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpackage.json
More file actions
181 lines (181 loc) · 6.82 KB
/
Copy pathpackage.json
File metadata and controls
181 lines (181 loc) · 6.82 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
{
"name": "speedy-git-ext",
"displayName": "Speedy Git",
"description": "A performance-first, lightweight Git graph visualization extension for VS Code",
"version": "5.1.1",
"publisher": "onlineeric",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/onlineeric/speedy-git-ext"
},
"engines": {
"vscode": "^1.85.0"
},
"icon": "resources/speedy-git-ext-icon-128.png",
"categories": [
"SCM Providers",
"Visualization"
],
"keywords": [
"git",
"git graph",
"git history",
"git log",
"git ui"
],
"activationEvents": ["onStartupFinished"],
"main": "./dist/extension.js",
"contributes": {
"commands": [
{
"command": "speedyGit.showGraph",
"title": "Show Speedy Git",
"category": "Speedy Git"
},
{
"command": "speedyGit.openForRepo",
"title": "Open in Speedy Git",
"category": "Speedy Git",
"icon": "$(zap)"
}
],
"keybindings": [
{
"command": "speedyGit.showGraph",
"key": "ctrl+shift+g",
"mac": "cmd+shift+g",
"when": "workspaceFolderCount > 0"
}
],
"menus": {
"commandPalette": [
{
"command": "speedyGit.showGraph",
"when": "workspaceFolderCount > 0"
}
],
"scm/title": [
{
"when": "scmProvider == git",
"command": "speedyGit.openForRepo",
"group": "navigation"
}
]
},
"configuration": {
"title": "Speedy Git",
"properties": {
"speedyGit.batchCommitSize": {
"type": "number",
"default": 500,
"minimum": 1,
"markdownDescription": "Number of commits to load per batch in the Git graph panel. Lower values give faster initial load; higher values reduce scroll-triggered fetches for large repositories."
},
"speedyGit.statusBarText": {
"type": "string",
"enum": ["iconAndText", "icon"],
"enumItemLabels": [
"Icon + text",
"Icon only"
],
"enumDescriptions": [
"Show the lightning icon followed by 'Speedy Git'.",
"Show only the lightning icon."
],
"default": "iconAndText",
"markdownDescription": "Label shown for the Speedy Git status bar item."
},
"speedyGit.graphColors": {
"type": "array",
"items": {
"type": "string"
},
"default": ["#F44336", "#2196F3", "#4CAF50", "#FF9800", "#9C27B0", "#00BCD4", "#FF5722", "#8BC34A", "#3F51B5", "#FFEB3B"],
"markdownDescription": "Array of hex color strings used for graph branch lines. Colors cycle in order."
},
"speedyGit.dateFormat": {
"type": "string",
"enum": ["relative", "absolute", "absolute-date", "system", "custom"],
"enumDescriptions": [
"Short relative time (e.g. \"3h ago\")",
"YYYY-MM-DD HH:mm (e.g. 2026-05-18 14:32)",
"YYYY-MM-DD (e.g. 2026-05-18)",
"Follow the OS locale (toLocaleString)",
"Use the date-fns token string in `speedyGit.dateFormatCustom`"
],
"default": "relative",
"markdownDescription": "Date display format for commit rows. Choose `custom` to provide your own [date-fns format tokens](https://date-fns.org/docs/format) in `#speedyGit.dateFormatCustom#`."
},
"speedyGit.dateFormatCustom": {
"type": "string",
"default": "",
"markdownDescription": "Custom date format using [date-fns tokens](https://date-fns.org/docs/format) (e.g. `yyyy-MM-dd HH:mm`, `MMM d, yyyy`). Only used when `#speedyGit.dateFormat#` is set to `custom`. Falls back to `relative` if the token string is invalid or empty."
},
"speedyGit.avatars.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Show author avatars in the commit graph. Initials are used when an avatar is unavailable."
},
"speedyGit.showRemoteBranches": {
"type": "boolean",
"default": true,
"markdownDescription": "Show remote branch labels in the graph."
},
"speedyGit.showTags": {
"type": "boolean",
"default": true,
"markdownDescription": "Show tag labels in the graph."
},
"speedyGit.overScan": {
"type": "number",
"default": 20,
"minimum": 0,
"maximum": 200,
"markdownDescription": "Number of commit rows to render above and below the visible graph viewport. Higher values reduce blank-row flicker during fast scrolling at the cost of more DOM nodes. Lower values use less memory but may show empty rows when scrolling quickly."
},
"speedyGit.worktree.basePath": {
"type": "string",
"default": "../${repoName}.worktrees",
"markdownDescription": "Parent directory where new git worktrees are created. The sanitized ref name is always appended as the leaf folder (e.g. `../myrepo.worktrees/feature-foo`). Supports the `${repoName}` token. Defaults to a sibling folder so worktrees stay outside the watched working tree (protects graph performance)."
}
}
}
},
"scripts": {
"vscode:prepublish": "pnpm run build:prod",
"build": "pnpm run build:ext && pnpm run build:webview",
"build:prod": "pnpm run build:ext:prod && pnpm run build:webview",
"build:ext": "node esbuild.config.mjs",
"build:ext:prod": "node esbuild.config.mjs --production",
"build:webview": "cd webview-ui && pnpm run build",
"watch": "concurrently \"pnpm run watch:ext\" \"pnpm run watch:webview\"",
"watch:ext": "node esbuild.config.mjs --watch",
"watch:webview": "cd webview-ui && pnpm run dev",
"lint": "eslint .",
"typecheck": "tsc --noEmit",
"generate-test-repo": "tsx scripts/main.ts",
"generate-submodule-repos": "tsx scripts/generate-submodule-repos.ts",
"test": "vitest run",
"ext:package": "npx @vscode/vsce package --no-dependencies",
"ext:publish": "pnpm run ext:publish:vscode && pnpm run ext:publish:cursor",
"ext:publish:vscode": "npx @vscode/vsce publish --no-dependencies",
"ext:publish:cursor": "npx ovsx publish --no-dependencies",
"ext:publish:pre-release": "npx @vscode/vsce publish --no-dependencies --pre-release && npx ovsx publish --no-dependencies --pre-release"
},
"devDependencies": {
"@eslint/js": "^9.39.2",
"@types/node": "^20.11.0",
"@types/vscode": "^1.85.0",
"@vscode/vsce": "^3.7.1",
"concurrently": "^8.2.2",
"esbuild": "^0.20.0",
"eslint": "^9.39.2",
"eslint-plugin-react-hooks": "^7.0.1",
"tsx": "^4.19.0",
"typescript": "^5.3.3",
"typescript-eslint": "^8.55.0",
"vitest": "^4.0.18"
},
"packageManager": "pnpm@10.28.2"
}