@postgres-language-server/cli-aarch64-apple-darwin 0.0.0 → 0.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +16 -8
- package/postgres-language-server +0 -0
- package/schema.json +774 -0
package/package.json
CHANGED
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@postgres-language-server/cli-aarch64-apple-darwin",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"
|
|
3
|
+
"version": "0.16.1",
|
|
4
|
+
"license": "MIT or Apache-2.0",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "git+https://github.com/supabase-community/postgres-language-server.git",
|
|
8
|
+
"directory": "packages/@postgres-language-server/cli"
|
|
7
9
|
},
|
|
8
|
-
"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
"engines": {
|
|
11
|
+
"node": ">=20"
|
|
12
|
+
},
|
|
13
|
+
"os": [
|
|
14
|
+
"darwin"
|
|
15
|
+
],
|
|
16
|
+
"cpu": [
|
|
17
|
+
"arm64"
|
|
18
|
+
]
|
|
19
|
+
}
|
|
Binary file
|
package/schema.json
ADDED
|
@@ -0,0 +1,774 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Configuration",
|
|
4
|
+
"description": "The configuration that is contained inside the configuration file.",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"$schema": {
|
|
8
|
+
"description": "A field for the [JSON schema](https://json-schema.org/) specification",
|
|
9
|
+
"type": [
|
|
10
|
+
"string",
|
|
11
|
+
"null"
|
|
12
|
+
]
|
|
13
|
+
},
|
|
14
|
+
"db": {
|
|
15
|
+
"description": "The configuration of the database connection",
|
|
16
|
+
"anyOf": [
|
|
17
|
+
{
|
|
18
|
+
"$ref": "#/definitions/DatabaseConfiguration"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"type": "null"
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
},
|
|
25
|
+
"extends": {
|
|
26
|
+
"description": "A list of paths to other JSON files, used to extends the current configuration.",
|
|
27
|
+
"anyOf": [
|
|
28
|
+
{
|
|
29
|
+
"$ref": "#/definitions/StringSet"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"type": "null"
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
},
|
|
36
|
+
"files": {
|
|
37
|
+
"description": "The configuration of the filesystem",
|
|
38
|
+
"anyOf": [
|
|
39
|
+
{
|
|
40
|
+
"$ref": "#/definitions/FilesConfiguration"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"type": "null"
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
"linter": {
|
|
48
|
+
"description": "The configuration for the linter",
|
|
49
|
+
"anyOf": [
|
|
50
|
+
{
|
|
51
|
+
"$ref": "#/definitions/LinterConfiguration"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"type": "null"
|
|
55
|
+
}
|
|
56
|
+
]
|
|
57
|
+
},
|
|
58
|
+
"migrations": {
|
|
59
|
+
"description": "Configure migrations",
|
|
60
|
+
"anyOf": [
|
|
61
|
+
{
|
|
62
|
+
"$ref": "#/definitions/MigrationsConfiguration"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"type": "null"
|
|
66
|
+
}
|
|
67
|
+
]
|
|
68
|
+
},
|
|
69
|
+
"plpgsqlCheck": {
|
|
70
|
+
"description": "The configuration for type checking",
|
|
71
|
+
"anyOf": [
|
|
72
|
+
{
|
|
73
|
+
"$ref": "#/definitions/PlPgSqlCheckConfiguration"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"type": "null"
|
|
77
|
+
}
|
|
78
|
+
]
|
|
79
|
+
},
|
|
80
|
+
"typecheck": {
|
|
81
|
+
"description": "The configuration for type checking",
|
|
82
|
+
"anyOf": [
|
|
83
|
+
{
|
|
84
|
+
"$ref": "#/definitions/TypecheckConfiguration"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"type": "null"
|
|
88
|
+
}
|
|
89
|
+
]
|
|
90
|
+
},
|
|
91
|
+
"vcs": {
|
|
92
|
+
"description": "The configuration of the VCS integration",
|
|
93
|
+
"anyOf": [
|
|
94
|
+
{
|
|
95
|
+
"$ref": "#/definitions/VcsConfiguration"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"type": "null"
|
|
99
|
+
}
|
|
100
|
+
]
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
"additionalProperties": false,
|
|
104
|
+
"definitions": {
|
|
105
|
+
"DatabaseConfiguration": {
|
|
106
|
+
"description": "The configuration of the database connection.",
|
|
107
|
+
"type": "object",
|
|
108
|
+
"properties": {
|
|
109
|
+
"allowStatementExecutionsAgainst": {
|
|
110
|
+
"anyOf": [
|
|
111
|
+
{
|
|
112
|
+
"$ref": "#/definitions/StringSet"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"type": "null"
|
|
116
|
+
}
|
|
117
|
+
]
|
|
118
|
+
},
|
|
119
|
+
"connTimeoutSecs": {
|
|
120
|
+
"description": "The connection timeout in seconds.",
|
|
121
|
+
"type": [
|
|
122
|
+
"integer",
|
|
123
|
+
"null"
|
|
124
|
+
],
|
|
125
|
+
"format": "uint16",
|
|
126
|
+
"minimum": 0.0
|
|
127
|
+
},
|
|
128
|
+
"database": {
|
|
129
|
+
"description": "The name of the database.",
|
|
130
|
+
"type": [
|
|
131
|
+
"string",
|
|
132
|
+
"null"
|
|
133
|
+
]
|
|
134
|
+
},
|
|
135
|
+
"host": {
|
|
136
|
+
"description": "The host of the database. Required if you want database-related features. All else falls back to sensible defaults.",
|
|
137
|
+
"type": [
|
|
138
|
+
"string",
|
|
139
|
+
"null"
|
|
140
|
+
]
|
|
141
|
+
},
|
|
142
|
+
"password": {
|
|
143
|
+
"description": "The password to connect to the database.",
|
|
144
|
+
"type": [
|
|
145
|
+
"string",
|
|
146
|
+
"null"
|
|
147
|
+
]
|
|
148
|
+
},
|
|
149
|
+
"port": {
|
|
150
|
+
"description": "The port of the database.",
|
|
151
|
+
"type": [
|
|
152
|
+
"integer",
|
|
153
|
+
"null"
|
|
154
|
+
],
|
|
155
|
+
"format": "uint16",
|
|
156
|
+
"minimum": 0.0
|
|
157
|
+
},
|
|
158
|
+
"username": {
|
|
159
|
+
"description": "The username to connect to the database.",
|
|
160
|
+
"type": [
|
|
161
|
+
"string",
|
|
162
|
+
"null"
|
|
163
|
+
]
|
|
164
|
+
}
|
|
165
|
+
},
|
|
166
|
+
"additionalProperties": false
|
|
167
|
+
},
|
|
168
|
+
"FilesConfiguration": {
|
|
169
|
+
"description": "The configuration of the filesystem",
|
|
170
|
+
"type": "object",
|
|
171
|
+
"properties": {
|
|
172
|
+
"ignore": {
|
|
173
|
+
"description": "A list of Unix shell style patterns. Will ignore files/folders that will match these patterns.",
|
|
174
|
+
"anyOf": [
|
|
175
|
+
{
|
|
176
|
+
"$ref": "#/definitions/StringSet"
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"type": "null"
|
|
180
|
+
}
|
|
181
|
+
]
|
|
182
|
+
},
|
|
183
|
+
"include": {
|
|
184
|
+
"description": "A list of Unix shell style patterns. Will handle only those files/folders that will match these patterns.",
|
|
185
|
+
"anyOf": [
|
|
186
|
+
{
|
|
187
|
+
"$ref": "#/definitions/StringSet"
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"type": "null"
|
|
191
|
+
}
|
|
192
|
+
]
|
|
193
|
+
},
|
|
194
|
+
"maxSize": {
|
|
195
|
+
"description": "The maximum allowed size for source code files in bytes. Files above this limit will be ignored for performance reasons. Defaults to 1 MiB",
|
|
196
|
+
"type": [
|
|
197
|
+
"integer",
|
|
198
|
+
"null"
|
|
199
|
+
],
|
|
200
|
+
"format": "uint64",
|
|
201
|
+
"minimum": 1.0
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
"additionalProperties": false
|
|
205
|
+
},
|
|
206
|
+
"LinterConfiguration": {
|
|
207
|
+
"type": "object",
|
|
208
|
+
"properties": {
|
|
209
|
+
"enabled": {
|
|
210
|
+
"description": "if `false`, it disables the feature and the linter won't be executed. `true` by default",
|
|
211
|
+
"type": [
|
|
212
|
+
"boolean",
|
|
213
|
+
"null"
|
|
214
|
+
]
|
|
215
|
+
},
|
|
216
|
+
"ignore": {
|
|
217
|
+
"description": "A list of Unix shell style patterns. The formatter will ignore files/folders that will match these patterns.",
|
|
218
|
+
"anyOf": [
|
|
219
|
+
{
|
|
220
|
+
"$ref": "#/definitions/StringSet"
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"type": "null"
|
|
224
|
+
}
|
|
225
|
+
]
|
|
226
|
+
},
|
|
227
|
+
"include": {
|
|
228
|
+
"description": "A list of Unix shell style patterns. The formatter will include files/folders that will match these patterns.",
|
|
229
|
+
"anyOf": [
|
|
230
|
+
{
|
|
231
|
+
"$ref": "#/definitions/StringSet"
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
"type": "null"
|
|
235
|
+
}
|
|
236
|
+
]
|
|
237
|
+
},
|
|
238
|
+
"rules": {
|
|
239
|
+
"description": "List of rules",
|
|
240
|
+
"anyOf": [
|
|
241
|
+
{
|
|
242
|
+
"$ref": "#/definitions/Rules"
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"type": "null"
|
|
246
|
+
}
|
|
247
|
+
]
|
|
248
|
+
}
|
|
249
|
+
},
|
|
250
|
+
"additionalProperties": false
|
|
251
|
+
},
|
|
252
|
+
"MigrationsConfiguration": {
|
|
253
|
+
"description": "The configuration of the filesystem",
|
|
254
|
+
"type": "object",
|
|
255
|
+
"properties": {
|
|
256
|
+
"after": {
|
|
257
|
+
"description": "Ignore any migrations before this timestamp",
|
|
258
|
+
"type": [
|
|
259
|
+
"integer",
|
|
260
|
+
"null"
|
|
261
|
+
],
|
|
262
|
+
"format": "uint64",
|
|
263
|
+
"minimum": 0.0
|
|
264
|
+
},
|
|
265
|
+
"migrationsDir": {
|
|
266
|
+
"description": "The directory where the migration files are stored",
|
|
267
|
+
"type": [
|
|
268
|
+
"string",
|
|
269
|
+
"null"
|
|
270
|
+
]
|
|
271
|
+
}
|
|
272
|
+
},
|
|
273
|
+
"additionalProperties": false
|
|
274
|
+
},
|
|
275
|
+
"PlPgSqlCheckConfiguration": {
|
|
276
|
+
"description": "The configuration for type checking.",
|
|
277
|
+
"type": "object",
|
|
278
|
+
"properties": {
|
|
279
|
+
"enabled": {
|
|
280
|
+
"description": "if `false`, it disables the feature and pglpgsql_check won't be executed. `true` by default",
|
|
281
|
+
"type": [
|
|
282
|
+
"boolean",
|
|
283
|
+
"null"
|
|
284
|
+
]
|
|
285
|
+
}
|
|
286
|
+
},
|
|
287
|
+
"additionalProperties": false
|
|
288
|
+
},
|
|
289
|
+
"RuleConfiguration": {
|
|
290
|
+
"anyOf": [
|
|
291
|
+
{
|
|
292
|
+
"$ref": "#/definitions/RulePlainConfiguration"
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"$ref": "#/definitions/RuleWithNoOptions"
|
|
296
|
+
}
|
|
297
|
+
]
|
|
298
|
+
},
|
|
299
|
+
"RulePlainConfiguration": {
|
|
300
|
+
"type": "string",
|
|
301
|
+
"enum": [
|
|
302
|
+
"warn",
|
|
303
|
+
"error",
|
|
304
|
+
"info",
|
|
305
|
+
"off"
|
|
306
|
+
]
|
|
307
|
+
},
|
|
308
|
+
"RuleWithNoOptions": {
|
|
309
|
+
"type": "object",
|
|
310
|
+
"required": [
|
|
311
|
+
"level"
|
|
312
|
+
],
|
|
313
|
+
"properties": {
|
|
314
|
+
"level": {
|
|
315
|
+
"description": "The severity of the emitted diagnostics by the rule",
|
|
316
|
+
"allOf": [
|
|
317
|
+
{
|
|
318
|
+
"$ref": "#/definitions/RulePlainConfiguration"
|
|
319
|
+
}
|
|
320
|
+
]
|
|
321
|
+
}
|
|
322
|
+
},
|
|
323
|
+
"additionalProperties": false
|
|
324
|
+
},
|
|
325
|
+
"Rules": {
|
|
326
|
+
"type": "object",
|
|
327
|
+
"properties": {
|
|
328
|
+
"all": {
|
|
329
|
+
"description": "It enables ALL rules. The rules that belong to `nursery` won't be enabled.",
|
|
330
|
+
"type": [
|
|
331
|
+
"boolean",
|
|
332
|
+
"null"
|
|
333
|
+
]
|
|
334
|
+
},
|
|
335
|
+
"recommended": {
|
|
336
|
+
"description": "It enables the lint rules recommended by Postgres Tools. `true` by default.",
|
|
337
|
+
"type": [
|
|
338
|
+
"boolean",
|
|
339
|
+
"null"
|
|
340
|
+
]
|
|
341
|
+
},
|
|
342
|
+
"safety": {
|
|
343
|
+
"anyOf": [
|
|
344
|
+
{
|
|
345
|
+
"$ref": "#/definitions/Safety"
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
"type": "null"
|
|
349
|
+
}
|
|
350
|
+
]
|
|
351
|
+
}
|
|
352
|
+
},
|
|
353
|
+
"additionalProperties": false
|
|
354
|
+
},
|
|
355
|
+
"Safety": {
|
|
356
|
+
"description": "A list of rules that belong to this group",
|
|
357
|
+
"type": "object",
|
|
358
|
+
"properties": {
|
|
359
|
+
"addingFieldWithDefault": {
|
|
360
|
+
"description": "Adding a column with a DEFAULT value may lead to a table rewrite while holding an ACCESS EXCLUSIVE lock.",
|
|
361
|
+
"anyOf": [
|
|
362
|
+
{
|
|
363
|
+
"$ref": "#/definitions/RuleConfiguration"
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
"type": "null"
|
|
367
|
+
}
|
|
368
|
+
]
|
|
369
|
+
},
|
|
370
|
+
"addingForeignKeyConstraint": {
|
|
371
|
+
"description": "Adding a foreign key constraint requires a table scan and a SHARE ROW EXCLUSIVE lock on both tables, which blocks writes.",
|
|
372
|
+
"anyOf": [
|
|
373
|
+
{
|
|
374
|
+
"$ref": "#/definitions/RuleConfiguration"
|
|
375
|
+
},
|
|
376
|
+
{
|
|
377
|
+
"type": "null"
|
|
378
|
+
}
|
|
379
|
+
]
|
|
380
|
+
},
|
|
381
|
+
"addingNotNullField": {
|
|
382
|
+
"description": "Setting a column NOT NULL blocks reads while the table is scanned.",
|
|
383
|
+
"anyOf": [
|
|
384
|
+
{
|
|
385
|
+
"$ref": "#/definitions/RuleConfiguration"
|
|
386
|
+
},
|
|
387
|
+
{
|
|
388
|
+
"type": "null"
|
|
389
|
+
}
|
|
390
|
+
]
|
|
391
|
+
},
|
|
392
|
+
"addingPrimaryKeyConstraint": {
|
|
393
|
+
"description": "Adding a primary key constraint results in locks and table rewrites.",
|
|
394
|
+
"anyOf": [
|
|
395
|
+
{
|
|
396
|
+
"$ref": "#/definitions/RuleConfiguration"
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
"type": "null"
|
|
400
|
+
}
|
|
401
|
+
]
|
|
402
|
+
},
|
|
403
|
+
"addingRequiredField": {
|
|
404
|
+
"description": "Adding a new column that is NOT NULL and has no default value to an existing table effectively makes it required.",
|
|
405
|
+
"anyOf": [
|
|
406
|
+
{
|
|
407
|
+
"$ref": "#/definitions/RuleConfiguration"
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
"type": "null"
|
|
411
|
+
}
|
|
412
|
+
]
|
|
413
|
+
},
|
|
414
|
+
"all": {
|
|
415
|
+
"description": "It enables ALL rules for this group.",
|
|
416
|
+
"type": [
|
|
417
|
+
"boolean",
|
|
418
|
+
"null"
|
|
419
|
+
]
|
|
420
|
+
},
|
|
421
|
+
"banCharField": {
|
|
422
|
+
"description": "Using CHAR(n) or CHARACTER(n) types is discouraged.",
|
|
423
|
+
"anyOf": [
|
|
424
|
+
{
|
|
425
|
+
"$ref": "#/definitions/RuleConfiguration"
|
|
426
|
+
},
|
|
427
|
+
{
|
|
428
|
+
"type": "null"
|
|
429
|
+
}
|
|
430
|
+
]
|
|
431
|
+
},
|
|
432
|
+
"banConcurrentIndexCreationInTransaction": {
|
|
433
|
+
"description": "Concurrent index creation is not allowed within a transaction.",
|
|
434
|
+
"anyOf": [
|
|
435
|
+
{
|
|
436
|
+
"$ref": "#/definitions/RuleConfiguration"
|
|
437
|
+
},
|
|
438
|
+
{
|
|
439
|
+
"type": "null"
|
|
440
|
+
}
|
|
441
|
+
]
|
|
442
|
+
},
|
|
443
|
+
"banDropColumn": {
|
|
444
|
+
"description": "Dropping a column may break existing clients.",
|
|
445
|
+
"anyOf": [
|
|
446
|
+
{
|
|
447
|
+
"$ref": "#/definitions/RuleConfiguration"
|
|
448
|
+
},
|
|
449
|
+
{
|
|
450
|
+
"type": "null"
|
|
451
|
+
}
|
|
452
|
+
]
|
|
453
|
+
},
|
|
454
|
+
"banDropDatabase": {
|
|
455
|
+
"description": "Dropping a database may break existing clients (and everything else, really).",
|
|
456
|
+
"anyOf": [
|
|
457
|
+
{
|
|
458
|
+
"$ref": "#/definitions/RuleConfiguration"
|
|
459
|
+
},
|
|
460
|
+
{
|
|
461
|
+
"type": "null"
|
|
462
|
+
}
|
|
463
|
+
]
|
|
464
|
+
},
|
|
465
|
+
"banDropNotNull": {
|
|
466
|
+
"description": "Dropping a NOT NULL constraint may break existing clients.",
|
|
467
|
+
"anyOf": [
|
|
468
|
+
{
|
|
469
|
+
"$ref": "#/definitions/RuleConfiguration"
|
|
470
|
+
},
|
|
471
|
+
{
|
|
472
|
+
"type": "null"
|
|
473
|
+
}
|
|
474
|
+
]
|
|
475
|
+
},
|
|
476
|
+
"banDropTable": {
|
|
477
|
+
"description": "Dropping a table may break existing clients.",
|
|
478
|
+
"anyOf": [
|
|
479
|
+
{
|
|
480
|
+
"$ref": "#/definitions/RuleConfiguration"
|
|
481
|
+
},
|
|
482
|
+
{
|
|
483
|
+
"type": "null"
|
|
484
|
+
}
|
|
485
|
+
]
|
|
486
|
+
},
|
|
487
|
+
"banTruncateCascade": {
|
|
488
|
+
"description": "Using TRUNCATE's CASCADE option will truncate any tables that are also foreign-keyed to the specified tables.",
|
|
489
|
+
"anyOf": [
|
|
490
|
+
{
|
|
491
|
+
"$ref": "#/definitions/RuleConfiguration"
|
|
492
|
+
},
|
|
493
|
+
{
|
|
494
|
+
"type": "null"
|
|
495
|
+
}
|
|
496
|
+
]
|
|
497
|
+
},
|
|
498
|
+
"changingColumnType": {
|
|
499
|
+
"description": "Changing a column type may break existing clients.",
|
|
500
|
+
"anyOf": [
|
|
501
|
+
{
|
|
502
|
+
"$ref": "#/definitions/RuleConfiguration"
|
|
503
|
+
},
|
|
504
|
+
{
|
|
505
|
+
"type": "null"
|
|
506
|
+
}
|
|
507
|
+
]
|
|
508
|
+
},
|
|
509
|
+
"constraintMissingNotValid": {
|
|
510
|
+
"description": "Adding constraints without NOT VALID blocks all reads and writes.",
|
|
511
|
+
"anyOf": [
|
|
512
|
+
{
|
|
513
|
+
"$ref": "#/definitions/RuleConfiguration"
|
|
514
|
+
},
|
|
515
|
+
{
|
|
516
|
+
"type": "null"
|
|
517
|
+
}
|
|
518
|
+
]
|
|
519
|
+
},
|
|
520
|
+
"disallowUniqueConstraint": {
|
|
521
|
+
"description": "Disallow adding a UNIQUE constraint without using an existing index.",
|
|
522
|
+
"anyOf": [
|
|
523
|
+
{
|
|
524
|
+
"$ref": "#/definitions/RuleConfiguration"
|
|
525
|
+
},
|
|
526
|
+
{
|
|
527
|
+
"type": "null"
|
|
528
|
+
}
|
|
529
|
+
]
|
|
530
|
+
},
|
|
531
|
+
"preferBigInt": {
|
|
532
|
+
"description": "Prefer BIGINT over smaller integer types.",
|
|
533
|
+
"anyOf": [
|
|
534
|
+
{
|
|
535
|
+
"$ref": "#/definitions/RuleConfiguration"
|
|
536
|
+
},
|
|
537
|
+
{
|
|
538
|
+
"type": "null"
|
|
539
|
+
}
|
|
540
|
+
]
|
|
541
|
+
},
|
|
542
|
+
"preferBigintOverInt": {
|
|
543
|
+
"description": "Prefer BIGINT over INT/INTEGER types.",
|
|
544
|
+
"anyOf": [
|
|
545
|
+
{
|
|
546
|
+
"$ref": "#/definitions/RuleConfiguration"
|
|
547
|
+
},
|
|
548
|
+
{
|
|
549
|
+
"type": "null"
|
|
550
|
+
}
|
|
551
|
+
]
|
|
552
|
+
},
|
|
553
|
+
"preferBigintOverSmallint": {
|
|
554
|
+
"description": "Prefer BIGINT over SMALLINT types.",
|
|
555
|
+
"anyOf": [
|
|
556
|
+
{
|
|
557
|
+
"$ref": "#/definitions/RuleConfiguration"
|
|
558
|
+
},
|
|
559
|
+
{
|
|
560
|
+
"type": "null"
|
|
561
|
+
}
|
|
562
|
+
]
|
|
563
|
+
},
|
|
564
|
+
"preferIdentity": {
|
|
565
|
+
"description": "Prefer using IDENTITY columns over serial columns.",
|
|
566
|
+
"anyOf": [
|
|
567
|
+
{
|
|
568
|
+
"$ref": "#/definitions/RuleConfiguration"
|
|
569
|
+
},
|
|
570
|
+
{
|
|
571
|
+
"type": "null"
|
|
572
|
+
}
|
|
573
|
+
]
|
|
574
|
+
},
|
|
575
|
+
"preferJsonb": {
|
|
576
|
+
"description": "Prefer JSONB over JSON types.",
|
|
577
|
+
"anyOf": [
|
|
578
|
+
{
|
|
579
|
+
"$ref": "#/definitions/RuleConfiguration"
|
|
580
|
+
},
|
|
581
|
+
{
|
|
582
|
+
"type": "null"
|
|
583
|
+
}
|
|
584
|
+
]
|
|
585
|
+
},
|
|
586
|
+
"preferRobustStmts": {
|
|
587
|
+
"description": "Prefer statements with guards for robustness in migrations.",
|
|
588
|
+
"anyOf": [
|
|
589
|
+
{
|
|
590
|
+
"$ref": "#/definitions/RuleConfiguration"
|
|
591
|
+
},
|
|
592
|
+
{
|
|
593
|
+
"type": "null"
|
|
594
|
+
}
|
|
595
|
+
]
|
|
596
|
+
},
|
|
597
|
+
"preferTextField": {
|
|
598
|
+
"description": "Prefer using TEXT over VARCHAR(n) types.",
|
|
599
|
+
"anyOf": [
|
|
600
|
+
{
|
|
601
|
+
"$ref": "#/definitions/RuleConfiguration"
|
|
602
|
+
},
|
|
603
|
+
{
|
|
604
|
+
"type": "null"
|
|
605
|
+
}
|
|
606
|
+
]
|
|
607
|
+
},
|
|
608
|
+
"preferTimestamptz": {
|
|
609
|
+
"description": "Prefer TIMESTAMPTZ over TIMESTAMP types.",
|
|
610
|
+
"anyOf": [
|
|
611
|
+
{
|
|
612
|
+
"$ref": "#/definitions/RuleConfiguration"
|
|
613
|
+
},
|
|
614
|
+
{
|
|
615
|
+
"type": "null"
|
|
616
|
+
}
|
|
617
|
+
]
|
|
618
|
+
},
|
|
619
|
+
"recommended": {
|
|
620
|
+
"description": "It enables the recommended rules for this group",
|
|
621
|
+
"type": [
|
|
622
|
+
"boolean",
|
|
623
|
+
"null"
|
|
624
|
+
]
|
|
625
|
+
},
|
|
626
|
+
"renamingColumn": {
|
|
627
|
+
"description": "Renaming columns may break existing queries and application code.",
|
|
628
|
+
"anyOf": [
|
|
629
|
+
{
|
|
630
|
+
"$ref": "#/definitions/RuleConfiguration"
|
|
631
|
+
},
|
|
632
|
+
{
|
|
633
|
+
"type": "null"
|
|
634
|
+
}
|
|
635
|
+
]
|
|
636
|
+
},
|
|
637
|
+
"renamingTable": {
|
|
638
|
+
"description": "Renaming tables may break existing queries and application code.",
|
|
639
|
+
"anyOf": [
|
|
640
|
+
{
|
|
641
|
+
"$ref": "#/definitions/RuleConfiguration"
|
|
642
|
+
},
|
|
643
|
+
{
|
|
644
|
+
"type": "null"
|
|
645
|
+
}
|
|
646
|
+
]
|
|
647
|
+
},
|
|
648
|
+
"requireConcurrentIndexCreation": {
|
|
649
|
+
"description": "Creating indexes non-concurrently can lock the table for writes.",
|
|
650
|
+
"anyOf": [
|
|
651
|
+
{
|
|
652
|
+
"$ref": "#/definitions/RuleConfiguration"
|
|
653
|
+
},
|
|
654
|
+
{
|
|
655
|
+
"type": "null"
|
|
656
|
+
}
|
|
657
|
+
]
|
|
658
|
+
},
|
|
659
|
+
"requireConcurrentIndexDeletion": {
|
|
660
|
+
"description": "Dropping indexes non-concurrently can lock the table for reads.",
|
|
661
|
+
"anyOf": [
|
|
662
|
+
{
|
|
663
|
+
"$ref": "#/definitions/RuleConfiguration"
|
|
664
|
+
},
|
|
665
|
+
{
|
|
666
|
+
"type": "null"
|
|
667
|
+
}
|
|
668
|
+
]
|
|
669
|
+
},
|
|
670
|
+
"transactionNesting": {
|
|
671
|
+
"description": "Detects problematic transaction nesting that could lead to unexpected behavior.",
|
|
672
|
+
"anyOf": [
|
|
673
|
+
{
|
|
674
|
+
"$ref": "#/definitions/RuleConfiguration"
|
|
675
|
+
},
|
|
676
|
+
{
|
|
677
|
+
"type": "null"
|
|
678
|
+
}
|
|
679
|
+
]
|
|
680
|
+
}
|
|
681
|
+
},
|
|
682
|
+
"additionalProperties": false
|
|
683
|
+
},
|
|
684
|
+
"StringSet": {
|
|
685
|
+
"type": "array",
|
|
686
|
+
"items": {
|
|
687
|
+
"type": "string"
|
|
688
|
+
},
|
|
689
|
+
"uniqueItems": true
|
|
690
|
+
},
|
|
691
|
+
"TypecheckConfiguration": {
|
|
692
|
+
"description": "The configuration for type checking.",
|
|
693
|
+
"type": "object",
|
|
694
|
+
"properties": {
|
|
695
|
+
"enabled": {
|
|
696
|
+
"description": "if `false`, it disables the feature and the typechecker won't be executed. `true` by default",
|
|
697
|
+
"type": [
|
|
698
|
+
"boolean",
|
|
699
|
+
"null"
|
|
700
|
+
]
|
|
701
|
+
},
|
|
702
|
+
"searchPath": {
|
|
703
|
+
"description": "Default search path schemas for type checking. Can be a list of schema names or glob patterns like [\"public\", \"app_*\"]. If not specified, defaults to [\"public\"].",
|
|
704
|
+
"anyOf": [
|
|
705
|
+
{
|
|
706
|
+
"$ref": "#/definitions/StringSet"
|
|
707
|
+
},
|
|
708
|
+
{
|
|
709
|
+
"type": "null"
|
|
710
|
+
}
|
|
711
|
+
]
|
|
712
|
+
}
|
|
713
|
+
},
|
|
714
|
+
"additionalProperties": false
|
|
715
|
+
},
|
|
716
|
+
"VcsClientKind": {
|
|
717
|
+
"oneOf": [
|
|
718
|
+
{
|
|
719
|
+
"description": "Integration with the git client as VCS",
|
|
720
|
+
"type": "string",
|
|
721
|
+
"enum": [
|
|
722
|
+
"git"
|
|
723
|
+
]
|
|
724
|
+
}
|
|
725
|
+
]
|
|
726
|
+
},
|
|
727
|
+
"VcsConfiguration": {
|
|
728
|
+
"description": "Set of properties to integrate with a VCS software.",
|
|
729
|
+
"type": "object",
|
|
730
|
+
"properties": {
|
|
731
|
+
"clientKind": {
|
|
732
|
+
"description": "The kind of client.",
|
|
733
|
+
"anyOf": [
|
|
734
|
+
{
|
|
735
|
+
"$ref": "#/definitions/VcsClientKind"
|
|
736
|
+
},
|
|
737
|
+
{
|
|
738
|
+
"type": "null"
|
|
739
|
+
}
|
|
740
|
+
]
|
|
741
|
+
},
|
|
742
|
+
"defaultBranch": {
|
|
743
|
+
"description": "The main branch of the project",
|
|
744
|
+
"type": [
|
|
745
|
+
"string",
|
|
746
|
+
"null"
|
|
747
|
+
]
|
|
748
|
+
},
|
|
749
|
+
"enabled": {
|
|
750
|
+
"description": "Whether we should integrate itself with the VCS client",
|
|
751
|
+
"type": [
|
|
752
|
+
"boolean",
|
|
753
|
+
"null"
|
|
754
|
+
]
|
|
755
|
+
},
|
|
756
|
+
"root": {
|
|
757
|
+
"description": "The folder where we should check for VCS files. By default, we will use the same folder where `postgres-language-server.jsonc` was found.\n\nIf we can't find the configuration, it will attempt to use the current working directory. If no current working directory can't be found, we won't use the VCS integration, and a diagnostic will be emitted",
|
|
758
|
+
"type": [
|
|
759
|
+
"string",
|
|
760
|
+
"null"
|
|
761
|
+
]
|
|
762
|
+
},
|
|
763
|
+
"useIgnoreFile": {
|
|
764
|
+
"description": "Whether we should use the VCS ignore file. When [true], we will ignore the files specified in the ignore file.",
|
|
765
|
+
"type": [
|
|
766
|
+
"boolean",
|
|
767
|
+
"null"
|
|
768
|
+
]
|
|
769
|
+
}
|
|
770
|
+
},
|
|
771
|
+
"additionalProperties": false
|
|
772
|
+
}
|
|
773
|
+
}
|
|
774
|
+
}
|