eslint-plugin-slonik 1.0.0

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.
Files changed (35) hide show
  1. package/LICENSE +48 -0
  2. package/README.md +368 -0
  3. package/dist/config.cjs +61 -0
  4. package/dist/config.cjs.map +1 -0
  5. package/dist/config.d.cts +192 -0
  6. package/dist/config.d.mts +192 -0
  7. package/dist/config.d.ts +192 -0
  8. package/dist/config.mjs +59 -0
  9. package/dist/config.mjs.map +1 -0
  10. package/dist/index.cjs +27 -0
  11. package/dist/index.cjs.map +1 -0
  12. package/dist/index.d.cts +319 -0
  13. package/dist/index.d.mts +319 -0
  14. package/dist/index.d.ts +319 -0
  15. package/dist/index.mjs +20 -0
  16. package/dist/index.mjs.map +1 -0
  17. package/dist/shared/eslint-plugin-slonik.1m1xlVmw.d.cts +611 -0
  18. package/dist/shared/eslint-plugin-slonik.1m1xlVmw.d.mts +611 -0
  19. package/dist/shared/eslint-plugin-slonik.1m1xlVmw.d.ts +611 -0
  20. package/dist/shared/eslint-plugin-slonik.BxexVlk1.cjs +1539 -0
  21. package/dist/shared/eslint-plugin-slonik.BxexVlk1.cjs.map +1 -0
  22. package/dist/shared/eslint-plugin-slonik.C0xTyWZ2.mjs +2866 -0
  23. package/dist/shared/eslint-plugin-slonik.C0xTyWZ2.mjs.map +1 -0
  24. package/dist/shared/eslint-plugin-slonik.DbzoLz5_.mjs +1514 -0
  25. package/dist/shared/eslint-plugin-slonik.DbzoLz5_.mjs.map +1 -0
  26. package/dist/shared/eslint-plugin-slonik.rlOTrCdf.cjs +2929 -0
  27. package/dist/shared/eslint-plugin-slonik.rlOTrCdf.cjs.map +1 -0
  28. package/dist/workers/check-sql.worker.cjs +2436 -0
  29. package/dist/workers/check-sql.worker.cjs.map +1 -0
  30. package/dist/workers/check-sql.worker.d.cts +171 -0
  31. package/dist/workers/check-sql.worker.d.mts +171 -0
  32. package/dist/workers/check-sql.worker.d.ts +171 -0
  33. package/dist/workers/check-sql.worker.mjs +2412 -0
  34. package/dist/workers/check-sql.worker.mjs.map +1 -0
  35. package/package.json +103 -0
@@ -0,0 +1,319 @@
1
+ import * as _typescript_eslint_utils_ts_eslint from '@typescript-eslint/utils/ts-eslint';
2
+ import { C as Config } from './shared/eslint-plugin-slonik.1m1xlVmw.js';
3
+ import 'zod';
4
+
5
+ declare const _default: {
6
+ "check-sql": _typescript_eslint_utils_ts_eslint.RuleModule<"error" | "typeInferenceFailed" | "invalidQuery" | "missingTypeAnnotations" | "incorrectTypeAnnotations" | "invalidTypeAnnotations", ({
7
+ connections: {
8
+ targets: ({
9
+ wrapper: string | {
10
+ regex: string;
11
+ };
12
+ maxDepth?: number | undefined;
13
+ transform?: string | (string | [string, string])[] | undefined;
14
+ fieldTransform?: "snake" | "pascal" | "camel" | "screaming snake" | undefined;
15
+ skipTypeAnnotations?: boolean | undefined;
16
+ } | {
17
+ tag: string | {
18
+ regex: string;
19
+ };
20
+ transform?: string | (string | [string, string])[] | undefined;
21
+ fieldTransform?: "snake" | "pascal" | "camel" | "screaming snake" | undefined;
22
+ skipTypeAnnotations?: boolean | undefined;
23
+ })[];
24
+ migrationsDir: string;
25
+ keepAlive?: boolean | undefined;
26
+ overrides?: {
27
+ types?: Record<"bigint" | "boolean" | "int" | "null" | "void" | "date" | "int2" | "int4" | "int8" | "smallint" | "real" | "float4" | "float" | "float8" | "numeric" | "decimal" | "smallserial" | "serial" | "bigserial" | "uuid" | "text" | "varchar" | "char" | "bpchar" | "citext" | "bit" | "bool" | "timestamp" | "timestamptz" | "time" | "timetz" | "interval" | "inet" | "cidr" | "macaddr" | "macaddr8" | "money" | "json" | "jsonb" | "bytea", string | {
28
+ parameter: string | {
29
+ regex: string;
30
+ };
31
+ return: string;
32
+ }> | Record<string, string | {
33
+ parameter: string | {
34
+ regex: string;
35
+ };
36
+ return: string;
37
+ }> | undefined;
38
+ columns?: Record<string, string> | undefined;
39
+ } | undefined;
40
+ nullAsUndefined?: boolean | undefined;
41
+ nullAsOptional?: boolean | undefined;
42
+ inferLiterals?: boolean | ("string" | "number" | "boolean")[] | undefined;
43
+ connectionUrl?: string | undefined;
44
+ databaseName?: string | undefined;
45
+ watchMode?: boolean | undefined;
46
+ } | {
47
+ targets: ({
48
+ wrapper: string | {
49
+ regex: string;
50
+ };
51
+ maxDepth?: number | undefined;
52
+ transform?: string | (string | [string, string])[] | undefined;
53
+ fieldTransform?: "snake" | "pascal" | "camel" | "screaming snake" | undefined;
54
+ skipTypeAnnotations?: boolean | undefined;
55
+ } | {
56
+ tag: string | {
57
+ regex: string;
58
+ };
59
+ transform?: string | (string | [string, string])[] | undefined;
60
+ fieldTransform?: "snake" | "pascal" | "camel" | "screaming snake" | undefined;
61
+ skipTypeAnnotations?: boolean | undefined;
62
+ })[];
63
+ databaseUrl: string;
64
+ keepAlive?: boolean | undefined;
65
+ overrides?: {
66
+ types?: Record<"bigint" | "boolean" | "int" | "null" | "void" | "date" | "int2" | "int4" | "int8" | "smallint" | "real" | "float4" | "float" | "float8" | "numeric" | "decimal" | "smallserial" | "serial" | "bigserial" | "uuid" | "text" | "varchar" | "char" | "bpchar" | "citext" | "bit" | "bool" | "timestamp" | "timestamptz" | "time" | "timetz" | "interval" | "inet" | "cidr" | "macaddr" | "macaddr8" | "money" | "json" | "jsonb" | "bytea", string | {
67
+ parameter: string | {
68
+ regex: string;
69
+ };
70
+ return: string;
71
+ }> | Record<string, string | {
72
+ parameter: string | {
73
+ regex: string;
74
+ };
75
+ return: string;
76
+ }> | undefined;
77
+ columns?: Record<string, string> | undefined;
78
+ } | undefined;
79
+ nullAsUndefined?: boolean | undefined;
80
+ nullAsOptional?: boolean | undefined;
81
+ inferLiterals?: boolean | ("string" | "number" | "boolean")[] | undefined;
82
+ } | ({
83
+ targets: ({
84
+ wrapper: string | {
85
+ regex: string;
86
+ };
87
+ maxDepth?: number | undefined;
88
+ transform?: string | (string | [string, string])[] | undefined;
89
+ fieldTransform?: "snake" | "pascal" | "camel" | "screaming snake" | undefined;
90
+ skipTypeAnnotations?: boolean | undefined;
91
+ } | {
92
+ tag: string | {
93
+ regex: string;
94
+ };
95
+ transform?: string | (string | [string, string])[] | undefined;
96
+ fieldTransform?: "snake" | "pascal" | "camel" | "screaming snake" | undefined;
97
+ skipTypeAnnotations?: boolean | undefined;
98
+ })[];
99
+ migrationsDir: string;
100
+ keepAlive?: boolean | undefined;
101
+ overrides?: {
102
+ types?: Record<"bigint" | "boolean" | "int" | "null" | "void" | "date" | "int2" | "int4" | "int8" | "smallint" | "real" | "float4" | "float" | "float8" | "numeric" | "decimal" | "smallserial" | "serial" | "bigserial" | "uuid" | "text" | "varchar" | "char" | "bpchar" | "citext" | "bit" | "bool" | "timestamp" | "timestamptz" | "time" | "timetz" | "interval" | "inet" | "cidr" | "macaddr" | "macaddr8" | "money" | "json" | "jsonb" | "bytea", string | {
103
+ parameter: string | {
104
+ regex: string;
105
+ };
106
+ return: string;
107
+ }> | Record<string, string | {
108
+ parameter: string | {
109
+ regex: string;
110
+ };
111
+ return: string;
112
+ }> | undefined;
113
+ columns?: Record<string, string> | undefined;
114
+ } | undefined;
115
+ nullAsUndefined?: boolean | undefined;
116
+ nullAsOptional?: boolean | undefined;
117
+ inferLiterals?: boolean | ("string" | "number" | "boolean")[] | undefined;
118
+ connectionUrl?: string | undefined;
119
+ databaseName?: string | undefined;
120
+ watchMode?: boolean | undefined;
121
+ } | {
122
+ targets: ({
123
+ wrapper: string | {
124
+ regex: string;
125
+ };
126
+ maxDepth?: number | undefined;
127
+ transform?: string | (string | [string, string])[] | undefined;
128
+ fieldTransform?: "snake" | "pascal" | "camel" | "screaming snake" | undefined;
129
+ skipTypeAnnotations?: boolean | undefined;
130
+ } | {
131
+ tag: string | {
132
+ regex: string;
133
+ };
134
+ transform?: string | (string | [string, string])[] | undefined;
135
+ fieldTransform?: "snake" | "pascal" | "camel" | "screaming snake" | undefined;
136
+ skipTypeAnnotations?: boolean | undefined;
137
+ })[];
138
+ databaseUrl: string;
139
+ keepAlive?: boolean | undefined;
140
+ overrides?: {
141
+ types?: Record<"bigint" | "boolean" | "int" | "null" | "void" | "date" | "int2" | "int4" | "int8" | "smallint" | "real" | "float4" | "float" | "float8" | "numeric" | "decimal" | "smallserial" | "serial" | "bigserial" | "uuid" | "text" | "varchar" | "char" | "bpchar" | "citext" | "bit" | "bool" | "timestamp" | "timestamptz" | "time" | "timetz" | "interval" | "inet" | "cidr" | "macaddr" | "macaddr8" | "money" | "json" | "jsonb" | "bytea", string | {
142
+ parameter: string | {
143
+ regex: string;
144
+ };
145
+ return: string;
146
+ }> | Record<string, string | {
147
+ parameter: string | {
148
+ regex: string;
149
+ };
150
+ return: string;
151
+ }> | undefined;
152
+ columns?: Record<string, string> | undefined;
153
+ } | undefined;
154
+ nullAsUndefined?: boolean | undefined;
155
+ nullAsOptional?: boolean | undefined;
156
+ inferLiterals?: boolean | ("string" | "number" | "boolean")[] | undefined;
157
+ })[];
158
+ } | {
159
+ useConfigFile: boolean;
160
+ })[], unknown, _typescript_eslint_utils_ts_eslint.RuleListener> & {
161
+ name: string;
162
+ };
163
+ };
164
+
165
+ declare function defineConfig(config: Config): {
166
+ connections: {
167
+ targets: ({
168
+ wrapper: string | {
169
+ regex: string;
170
+ };
171
+ maxDepth?: number | undefined;
172
+ transform?: string | (string | [string, string])[] | undefined;
173
+ fieldTransform?: "snake" | "pascal" | "camel" | "screaming snake" | undefined;
174
+ skipTypeAnnotations?: boolean | undefined;
175
+ } | {
176
+ tag: string | {
177
+ regex: string;
178
+ };
179
+ transform?: string | (string | [string, string])[] | undefined;
180
+ fieldTransform?: "snake" | "pascal" | "camel" | "screaming snake" | undefined;
181
+ skipTypeAnnotations?: boolean | undefined;
182
+ })[];
183
+ migrationsDir: string;
184
+ keepAlive?: boolean | undefined;
185
+ overrides?: {
186
+ types?: Record<"bigint" | "boolean" | "int" | "null" | "void" | "date" | "int2" | "int4" | "int8" | "smallint" | "real" | "float4" | "float" | "float8" | "numeric" | "decimal" | "smallserial" | "serial" | "bigserial" | "uuid" | "text" | "varchar" | "char" | "bpchar" | "citext" | "bit" | "bool" | "timestamp" | "timestamptz" | "time" | "timetz" | "interval" | "inet" | "cidr" | "macaddr" | "macaddr8" | "money" | "json" | "jsonb" | "bytea", string | {
187
+ parameter: string | {
188
+ regex: string;
189
+ };
190
+ return: string;
191
+ }> | Record<string, string | {
192
+ parameter: string | {
193
+ regex: string;
194
+ };
195
+ return: string;
196
+ }> | undefined;
197
+ columns?: Record<string, string> | undefined;
198
+ } | undefined;
199
+ nullAsUndefined?: boolean | undefined;
200
+ nullAsOptional?: boolean | undefined;
201
+ inferLiterals?: boolean | ("string" | "number" | "boolean")[] | undefined;
202
+ connectionUrl?: string | undefined;
203
+ databaseName?: string | undefined;
204
+ watchMode?: boolean | undefined;
205
+ } | {
206
+ targets: ({
207
+ wrapper: string | {
208
+ regex: string;
209
+ };
210
+ maxDepth?: number | undefined;
211
+ transform?: string | (string | [string, string])[] | undefined;
212
+ fieldTransform?: "snake" | "pascal" | "camel" | "screaming snake" | undefined;
213
+ skipTypeAnnotations?: boolean | undefined;
214
+ } | {
215
+ tag: string | {
216
+ regex: string;
217
+ };
218
+ transform?: string | (string | [string, string])[] | undefined;
219
+ fieldTransform?: "snake" | "pascal" | "camel" | "screaming snake" | undefined;
220
+ skipTypeAnnotations?: boolean | undefined;
221
+ })[];
222
+ databaseUrl: string;
223
+ keepAlive?: boolean | undefined;
224
+ overrides?: {
225
+ types?: Record<"bigint" | "boolean" | "int" | "null" | "void" | "date" | "int2" | "int4" | "int8" | "smallint" | "real" | "float4" | "float" | "float8" | "numeric" | "decimal" | "smallserial" | "serial" | "bigserial" | "uuid" | "text" | "varchar" | "char" | "bpchar" | "citext" | "bit" | "bool" | "timestamp" | "timestamptz" | "time" | "timetz" | "interval" | "inet" | "cidr" | "macaddr" | "macaddr8" | "money" | "json" | "jsonb" | "bytea", string | {
226
+ parameter: string | {
227
+ regex: string;
228
+ };
229
+ return: string;
230
+ }> | Record<string, string | {
231
+ parameter: string | {
232
+ regex: string;
233
+ };
234
+ return: string;
235
+ }> | undefined;
236
+ columns?: Record<string, string> | undefined;
237
+ } | undefined;
238
+ nullAsUndefined?: boolean | undefined;
239
+ nullAsOptional?: boolean | undefined;
240
+ inferLiterals?: boolean | ("string" | "number" | "boolean")[] | undefined;
241
+ } | ({
242
+ targets: ({
243
+ wrapper: string | {
244
+ regex: string;
245
+ };
246
+ maxDepth?: number | undefined;
247
+ transform?: string | (string | [string, string])[] | undefined;
248
+ fieldTransform?: "snake" | "pascal" | "camel" | "screaming snake" | undefined;
249
+ skipTypeAnnotations?: boolean | undefined;
250
+ } | {
251
+ tag: string | {
252
+ regex: string;
253
+ };
254
+ transform?: string | (string | [string, string])[] | undefined;
255
+ fieldTransform?: "snake" | "pascal" | "camel" | "screaming snake" | undefined;
256
+ skipTypeAnnotations?: boolean | undefined;
257
+ })[];
258
+ migrationsDir: string;
259
+ keepAlive?: boolean | undefined;
260
+ overrides?: {
261
+ types?: Record<"bigint" | "boolean" | "int" | "null" | "void" | "date" | "int2" | "int4" | "int8" | "smallint" | "real" | "float4" | "float" | "float8" | "numeric" | "decimal" | "smallserial" | "serial" | "bigserial" | "uuid" | "text" | "varchar" | "char" | "bpchar" | "citext" | "bit" | "bool" | "timestamp" | "timestamptz" | "time" | "timetz" | "interval" | "inet" | "cidr" | "macaddr" | "macaddr8" | "money" | "json" | "jsonb" | "bytea", string | {
262
+ parameter: string | {
263
+ regex: string;
264
+ };
265
+ return: string;
266
+ }> | Record<string, string | {
267
+ parameter: string | {
268
+ regex: string;
269
+ };
270
+ return: string;
271
+ }> | undefined;
272
+ columns?: Record<string, string> | undefined;
273
+ } | undefined;
274
+ nullAsUndefined?: boolean | undefined;
275
+ nullAsOptional?: boolean | undefined;
276
+ inferLiterals?: boolean | ("string" | "number" | "boolean")[] | undefined;
277
+ connectionUrl?: string | undefined;
278
+ databaseName?: string | undefined;
279
+ watchMode?: boolean | undefined;
280
+ } | {
281
+ targets: ({
282
+ wrapper: string | {
283
+ regex: string;
284
+ };
285
+ maxDepth?: number | undefined;
286
+ transform?: string | (string | [string, string])[] | undefined;
287
+ fieldTransform?: "snake" | "pascal" | "camel" | "screaming snake" | undefined;
288
+ skipTypeAnnotations?: boolean | undefined;
289
+ } | {
290
+ tag: string | {
291
+ regex: string;
292
+ };
293
+ transform?: string | (string | [string, string])[] | undefined;
294
+ fieldTransform?: "snake" | "pascal" | "camel" | "screaming snake" | undefined;
295
+ skipTypeAnnotations?: boolean | undefined;
296
+ })[];
297
+ databaseUrl: string;
298
+ keepAlive?: boolean | undefined;
299
+ overrides?: {
300
+ types?: Record<"bigint" | "boolean" | "int" | "null" | "void" | "date" | "int2" | "int4" | "int8" | "smallint" | "real" | "float4" | "float" | "float8" | "numeric" | "decimal" | "smallserial" | "serial" | "bigserial" | "uuid" | "text" | "varchar" | "char" | "bpchar" | "citext" | "bit" | "bool" | "timestamp" | "timestamptz" | "time" | "timetz" | "interval" | "inet" | "cidr" | "macaddr" | "macaddr8" | "money" | "json" | "jsonb" | "bytea", string | {
301
+ parameter: string | {
302
+ regex: string;
303
+ };
304
+ return: string;
305
+ }> | Record<string, string | {
306
+ parameter: string | {
307
+ regex: string;
308
+ };
309
+ return: string;
310
+ }> | undefined;
311
+ columns?: Record<string, string> | undefined;
312
+ } | undefined;
313
+ nullAsUndefined?: boolean | undefined;
314
+ nullAsOptional?: boolean | undefined;
315
+ inferLiterals?: boolean | ("string" | "number" | "boolean")[] | undefined;
316
+ })[];
317
+ };
318
+
319
+ export { defineConfig, _default as rules };
package/dist/index.mjs ADDED
@@ -0,0 +1,20 @@
1
+ export { d as defineConfig, r as rules } from './shared/eslint-plugin-slonik.DbzoLz5_.mjs';
2
+ import './shared/eslint-plugin-slonik.C0xTyWZ2.mjs';
3
+ import 'path';
4
+ import 'postgres';
5
+ import 'crypto';
6
+ import 'fs';
7
+ import 'ts-pattern';
8
+ import '@typescript-eslint/utils';
9
+ import 'fp-ts/lib/Either.js';
10
+ import 'fp-ts/lib/function.js';
11
+ import 'fp-ts/lib/Option.js';
12
+ import 'fp-ts/lib/TaskEither.js';
13
+ import 'fp-ts/lib/Json.js';
14
+ import 'pg-connection-string';
15
+ import 'typescript';
16
+ import 'synckit';
17
+ import 'node:url';
18
+ import 'zod';
19
+ import 'module';
20
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;"}