-
Notifications
You must be signed in to change notification settings - Fork 0
/
package.json
253 lines (253 loc) · 9.58 KB
/
package.json
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
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
{
"name": "terraform-toolbox",
"publisher": "NoahCanadea",
"displayName": "Terraform Toolbox",
"repository": {
"type": "git",
"url": "https://github.com/Noahnc/vscode-terraform-toolbox"
},
"description": "VSCode extension adding a bunch of featurees regarding Terraform / OpenTofu and Spacelift.",
"version": "0.5.0",
"icon": "Images/terraform_toolbox_icon.png",
"engines": {
"vscode": "^1.83.0"
},
"categories": [
"Other"
],
"activationEvents": [
"onLanguage:terraform",
"workspaceContains:**/*.tf",
"workspaceContains:**/*.tfvars"
],
"main": "./out/extension.js",
"contributes": {
"commands": [
{
"command": "tftoolbox.spacelift.localPreview",
"title": "tftoolbox spacelift local-preview (select stack from open project)"
},
{
"command": "tftoolbox.spacelift.localPreviewCurrentStack",
"title": "tftoolbox spacelift local-preview (current stack)"
},
{
"command": "tftoolbox.spacelift.login",
"title": "tftoolbox spacelift login"
},
{
"command": "tftoolbox.iac.setVersion",
"title": "tftoolbox set iac version (select from list)"
},
{
"command": "tftoolbox.iac.deleteVersion",
"title": "tftoolbox delete iac versions (select from list)"
},
{
"command": "tftoolbox.iac.autoSetVersion",
"title": "tftoolbox set iac version (from current project requrements)"
},
{
"command": "tftoolbox.terraform.setVersion",
"title": "tftoolbox terraform set version (select from list)"
},
{
"command": "tftoolbox.terraform.deleteVersions",
"title": "tftoolbox terraform delete versions (select from list)"
},
{
"command": "tftoolbox.terraform.autoSetVersion",
"title": "tftoolbox terraform set version (from current project requrements)"
},
{
"command": "tftoolbox.opentofu.setVersion",
"title": "tftoolbox opentofu set version (select from list)"
},
{
"command": "tftoolbox.opentofu.deleteVersions",
"title": "tftoolbox opentofu delete versions (select from list)"
},
{
"command": "tftoolbox.opentofu.autoSetVersion",
"title": "tftoolbox opentofu set version (from current project requrements)"
},
{
"command": "tftoolbox.iac.initAllProjects",
"title": "tftoolbox iac init (all projects)"
},
{
"command": "tftoolbox.iac.initCurrentProject",
"title": "tftoolbox iac init (current project)"
},
{
"command": "tftoolbox.iac.refreshModules",
"title": "tftoolbox iac install missing modules (current project)"
},
{
"command": "tftoolbox.iac.setWorkspace",
"title": "tftoolbox iac set workspace (current project)"
},
{
"command": "tftoolbox.iac.autoSetWorkspace",
"title": "tftoolbox iac auto set Workspace"
}
],
"configuration": {
"title": "terraform-toolbox",
"properties": {
"tftoolbox.spacelift.tenantID": {
"type": "string",
"default": null,
"description": "Spacelift tenant id. If not set, the tenant-id from the exported spacectl jwt will be used."
},
"tftoolbox.spacelift.profileName": {
"type": "string",
"default": null,
"description": "Spacectl profile name to select when running this extension. The currently active Profile will be used when this is not set."
},
"tftoolbox.spacelift.showLoginNotificationOnStartup": {
"type": "boolean",
"default": false,
"description": "If enabled, a notification will be shown regarding spacectl login if spacectl is not authenticated."
},
"tftoolbox.iac.autoSelectVersion": {
"type": "boolean",
"default": false,
"description": "When enabled, the extension evaluates the required terraform version for all open projects and selects the latest version matching the requirements."
},
"tftoolbox.iac.autoSelectWorkspace": {
"type": "boolean",
"default": true,
"description": "When true, the terraform workspace will be set for each folder based on the .terraform-toolbox configuration file in the workspace root."
},
"tftoolbox.iac.initArg": {
"type": "string",
"default": "-upgrade",
"description": "Additional args when running any of the terraform init commands. -input=false and -no-color are always added. Multiple args can be specified by separating them with a space."
},
"tftoolbox.spacelift.showSpaceliftInitErrorOnStart": {
"type": "boolean",
"default": true,
"description": "Disable startup waring if spacectl is not installed and authenticated."
},
"tftoolbox.iac.enableAutoProviderInitialization": {
"type": "boolean",
"title": "Enable Provider auto init (experimental)",
"default": false,
"description": "Automatically initializes a terraform / opentofu project if a declared provider is not installed when a terraform / opentofu file is saved. This feature is experimental and may degrade performance."
},
"tftoolbox.iac.enableAutoModuleFetch": {
"type": "boolean",
"title": "Enable auto Module fetch",
"default": false,
"description": "If enabled, the extension will automatically fetch missing modules when a terraform / opentofu file is saved."
},
"tftoolbox.iac.resourceProcessingQueDelayMs": {
"type": "number",
"title": "Time in ms to delay the processing of projects",
"default": 600,
"minimum": 300,
"maximum": 5000,
"description": "Time in ms to wait before start processing .tf files added by the tftoolbox.iac.enableAutoModuleFetch or tftoolbox.iac.enableAutoProviderInitialization feature. This works as buffer when multiple files in the same folder change shortly after each other (e.g by a git pull or branch switch)."
},
"tftoolbox.iac.showNoIacProviderVersionInstalledMsgOnStart": {
"type": "boolean",
"default": true,
"description": "Shows an informtion msg on startup if no version for the active IaC provider is installed by the extension."
},
"tftoolbox.iac.showIacSelectionWelcomeMsg": {
"type": "boolean",
"default": true,
"description": "Shows a message on extension start to ask the user for the prefered IaC provider."
},
"tftoolbox.iac.provider": {
"type": "string",
"default": "Terraform",
"enum": [
"Terraform",
"OpenTofu"
],
"description": "The IaC Provider to use for the extension."
},
"tftoolbox.spacelift.stackPendingConfirmationStatusItemUpdateTimeSeconds": {
"type": "number",
"default": 30,
"minimum": 5,
"maximum": 300,
"description": "Time in seconds between refreshes of the status bar item showing the amount of Spacelift stacks requireing comfirmation."
},
"tftoolbox.excludeGlobPatterns": {
"type": "array",
"items": {
"type": "string"
},
"default": [
".*/**",
"**/.terraform/**"
],
"description": "List of exclude glob patterns. Files or folders matching these patterns will be ignored by the extension when searching for terraform folders. The default excludes all .terraform folders and folders in the root workspace starting with a dot."
},
"tftoolbox.logLevel": {
"type": "string",
"enum": [
"off",
"fatal",
"error",
"warn",
"info",
"debug",
"trace"
],
"default": "info",
"description": "The verbosity of logging. The Order is off < fatal < error < warn < info < debug < trace.",
"scope": "window"
}
}
}
},
"scripts": {
"vscode:uninstall": "node ./out/uninstall",
"compile": "tsc -p ./",
"watch": "tsc -watch -p ./",
"pretest": "npm run compile && npm run lint",
"lint": "eslint src --ext ts",
"test": "node ./out/test/runTest.js",
"vscode:prepublish": "npm run esbuild-base -- --minify",
"esbuild-base": "esbuild ./src/extension.ts --bundle --outfile=out/extension.js --external:vscode --format=cjs --platform=node",
"esbuild": "npm run esbuild-base -- --sourcemap",
"esbuild-watch": "npm run esbuild-base -- --sourcemap --watch"
},
"devDependencies": {
"@types/chai": "^4.3.11",
"@types/chai-as-promised": "^7.1.8",
"@types/decompress": "^4.2.7",
"@types/glob": "^8.1.0",
"@types/mocha": "^10.0.6",
"@types/node": "20.x",
"@types/node-fetch": "^2.6.11",
"@types/vscode": "^1.83.0",
"@typescript-eslint/eslint-plugin": "^7.8.0",
"@typescript-eslint/parser": "^7.18.0",
"@vscode/test-electron": "^2.3.10",
"chai": "^4.3.10",
"chai-as-promised": "^7.1.2",
"depcheck": "^1.4.6",
"esbuild": "^0.23.1",
"eslint": "^8.57.0",
"glob": "^10.4.1",
"mocha": "^10.4.0",
"typescript": "^5.4.5"
},
"dependencies": {
"@vscode-logging/wrapper": "^2.0.0",
"axios": "1.7.5",
"decompress": "^4.2.1",
"graphql-request": "^6.1.0",
"hcl2-parser": "^1.0.3",
"jest": "^29.7.0",
"jwt-decode": "^4.0.0",
"octokit": "^3.2.1",
"semver": "^7.6.2",
"wget-improved": "^3.4.0"
}
}