knip 4.0.0 → 4.0.2

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/dist/index.js CHANGED
@@ -403,9 +403,8 @@ export const main = async (unresolvedConfiguration) => {
403
403
  continue;
404
404
  if (exportedItem.jsDocTags.includes('@alias'))
405
405
  continue;
406
- if (exportedItem.type !== 'enum' && exportedItem.type !== 'class' && shouldIgnore(exportedItem, tags)) {
406
+ if (shouldIgnore(exportedItem, tags))
407
407
  continue;
408
- }
409
408
  if (isProduction && exportedItem.jsDocTags.includes('@internal'))
410
409
  continue;
411
410
  if (importsForExport) {
@@ -487,9 +486,8 @@ export const main = async (unresolvedConfiguration) => {
487
486
  const workspace = chief.findWorkspaceByFilePath(filePath);
488
487
  const principal = workspace && factory.getPrincipalByPackageName(workspace.pkgName);
489
488
  if (principal) {
490
- principal.findUnusedMembers(filePath, exportedItem.members).forEach(member => {
491
- if (shouldIgnore(member, tags))
492
- return;
489
+ const members = exportedItem.members.filter(member => !shouldIgnore(member, tags));
490
+ principal.findUnusedMembers(filePath, members).forEach(member => {
493
491
  collector.addIssue({
494
492
  type: 'classMembers',
495
493
  filePath,
@@ -8,7 +8,9 @@ const IS_TRACE_ENABLED = trace ?? false;
8
8
  const noop = () => { };
9
9
  const inspectOptions = { maxArrayLength: null, depth: null, colors: true };
10
10
  export const inspect = (obj) => console.log(util.inspect(obj, inspectOptions));
11
- const ctx = (text) => typeof text === 'string' ? picocolors.yellow(`[${text}]`) : `${picocolors.yellow(`[${text[0]}]`)} ${picocolors.cyan(text[1])}`;
11
+ const ctx = (text) => typeof text === 'string'
12
+ ? picocolors.yellow(`[${text}]`)
13
+ : `${picocolors.yellow(`[${text[0]}]`)} ${picocolors.cyan(text[1])}`;
12
14
  const logArray = (collection) => {
13
15
  console.log(util.inspect(collection.sort(), inspectOptions));
14
16
  };
@@ -11,7 +11,7 @@ const load = async (filePath) => {
11
11
  return;
12
12
  try {
13
13
  const ext = extname(filePath);
14
- if (/rc$/.test(filePath)) {
14
+ if (filePath.endsWith('rc')) {
15
15
  const contents = await loadFile(filePath);
16
16
  return parseYAML(contents).catch(() => parseJSON(filePath, contents));
17
17
  }
package/dist/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "4.0.0";
1
+ export declare const version = "4.0.2";
package/dist/version.js CHANGED
@@ -1 +1 @@
1
- export const version = '4.0.0';
1
+ export const version = '4.0.2';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "knip",
3
- "version": "4.0.0",
3
+ "version": "4.0.2",
4
4
  "description": "Find unused files, dependencies and exports in your TypeScript and JavaScript projects",
5
5
  "homepage": "https://knip.dev",
6
6
  "repository": {
@@ -74,7 +74,7 @@
74
74
  "strip-json-comments": "5.0.1",
75
75
  "summary": "2.1.0",
76
76
  "zod": "3.22.4",
77
- "zod-validation-error": "2.1.0"
77
+ "zod-validation-error": "3.0.0"
78
78
  },
79
79
  "peerDependencies": {
80
80
  "@types/node": ">=18",
@@ -85,7 +85,7 @@
85
85
  "@knip/eslint-config": "0.0.0",
86
86
  "@release-it/bumper": "^6.0.1",
87
87
  "@swc/cli": "^0.1.63",
88
- "@swc/core": "^1.3.103",
88
+ "@swc/core": "^1.3.104",
89
89
  "@types/js-yaml": "^4.0.9",
90
90
  "@types/micromatch": "^4.0.6",
91
91
  "@types/minimist": "^1.2.5",
@@ -95,8 +95,8 @@
95
95
  "@types/webpack": "^5.28.5",
96
96
  "c8": "9.1.0",
97
97
  "eslint": "^8.56.0",
98
- "playwright": "^1.40.1",
99
- "prettier": "^3.2.2",
98
+ "playwright": "^1.41.0",
99
+ "prettier": "^3.2.4",
100
100
  "release-it": "^17.0.1",
101
101
  "tsx": "^4.7.0",
102
102
  "type-fest": "^4.9.0",
package/schema.json ADDED
@@ -0,0 +1,493 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Knip configuration for JSON",
4
+ "description": "See https://github.com/webpro/knip",
5
+ "type": "object",
6
+ "allOf": [
7
+ {
8
+ "$ref": "#/definitions/workspace"
9
+ },
10
+ {
11
+ "$ref": "#/definitions/plugins"
12
+ },
13
+ {
14
+ "properties": {
15
+ "$schema": {
16
+ "type": "string",
17
+ "title": "JSON Schema",
18
+ "description": "Pointer to the schema against which this document should be validated."
19
+ }
20
+ }
21
+ }
22
+ ],
23
+ "properties": {
24
+ "ignoreBinaries": {
25
+ "title": "Binaries to ignore (regex allowed)",
26
+ "examples": ["rm", "docker-compose", "curl"],
27
+ "$ref": "#/definitions/list"
28
+ },
29
+ "ignoreDependencies": {
30
+ "title": "Dependencies from package.json to ignore (regex allowed)",
31
+ "examples": ["husky", "lint-staged"],
32
+ "$ref": "#/definitions/list"
33
+ },
34
+ "ignoreWorkspaces": {
35
+ "title": "Workspaces to ignore",
36
+ "examples": ["packages/ignore-me"],
37
+ "$ref": "#/definitions/list"
38
+ },
39
+ "include": {
40
+ "title": "Include issue types in the report",
41
+ "examples": ["files", "dependencies"],
42
+ "$ref": "#/definitions/issueTypes"
43
+ },
44
+ "exclude": {
45
+ "title": "Exclude issue types from the report",
46
+ "examples": ["classMembers", "enumMembers"],
47
+ "$ref": "#/definitions/issueTypes"
48
+ },
49
+ "ignoreExportsUsedInFile": {
50
+ "title": "Ignore exports used in file",
51
+ "examples": [
52
+ {
53
+ "ignoreExportsUsedInFile": true
54
+ },
55
+ {
56
+ "ignoreExportsUsedInFile": {
57
+ "interface": true,
58
+ "type": true
59
+ }
60
+ }
61
+ ],
62
+ "anyOf": [
63
+ {
64
+ "type": "boolean"
65
+ },
66
+ {
67
+ "type": "object",
68
+ "properties": {
69
+ "class": {
70
+ "type": "boolean"
71
+ },
72
+ "enum": {
73
+ "type": "boolean"
74
+ },
75
+ "function": {
76
+ "type": "boolean"
77
+ },
78
+ "interface": {
79
+ "type": "boolean"
80
+ },
81
+ "member": {
82
+ "type": "boolean"
83
+ },
84
+ "type": {
85
+ "type": "boolean"
86
+ }
87
+ }
88
+ }
89
+ ]
90
+ },
91
+ "includeEntryExports": {
92
+ "title": "Include entry files when reporting unused exports",
93
+ "type": "boolean"
94
+ },
95
+ "workspaces": {
96
+ "title": "Configuration for workspaces",
97
+ "type": "object",
98
+ "additionalProperties": {
99
+ "allOf": [
100
+ {
101
+ "$ref": "#/definitions/workspace"
102
+ },
103
+ {
104
+ "$ref": "#/definitions/plugins"
105
+ }
106
+ ],
107
+ "unevaluatedProperties": false
108
+ }
109
+ },
110
+ "rules": {
111
+ "type": "object",
112
+ "properties": {
113
+ "classMembers": {
114
+ "$ref": "#/definitions/ruleValue"
115
+ },
116
+ "dependencies": {
117
+ "$ref": "#/definitions/ruleValue"
118
+ },
119
+ "duplicates": {
120
+ "$ref": "#/definitions/ruleValue"
121
+ },
122
+ "enumMembers": {
123
+ "$ref": "#/definitions/ruleValue"
124
+ },
125
+ "exports": {
126
+ "$ref": "#/definitions/ruleValue"
127
+ },
128
+ "files": {
129
+ "$ref": "#/definitions/ruleValue"
130
+ },
131
+ "nsExports": {
132
+ "$ref": "#/definitions/ruleValue"
133
+ },
134
+ "nsTypes": {
135
+ "$ref": "#/definitions/ruleValue"
136
+ },
137
+ "types": {
138
+ "$ref": "#/definitions/ruleValue"
139
+ },
140
+ "unlisted": {
141
+ "$ref": "#/definitions/ruleValue"
142
+ },
143
+ "unresolved": {
144
+ "$ref": "#/definitions/ruleValue"
145
+ }
146
+ }
147
+ }
148
+ },
149
+ "unevaluatedProperties": false,
150
+ "definitions": {
151
+ "list": {
152
+ "type": "array",
153
+ "items": {
154
+ "type": "string"
155
+ }
156
+ },
157
+ "issueTypes": {
158
+ "type": "array",
159
+ "items": {
160
+ "type": "string",
161
+ "enum": [
162
+ "binaries",
163
+ "classMembers",
164
+ "dependencies",
165
+ "duplicates",
166
+ "enumMembers",
167
+ "exports",
168
+ "files",
169
+ "nsExports",
170
+ "nsTypes",
171
+ "types",
172
+ "unlisted",
173
+ "unresolved"
174
+ ]
175
+ }
176
+ },
177
+ "globPatterns": {
178
+ "description": "Use file paths and glob patterns to match files. Knip uses fast-glob and minimatch (https://github.com/micromatch/micromatch#matching-features)",
179
+ "anyOf": [
180
+ {
181
+ "type": "string"
182
+ },
183
+ {
184
+ "type": "array",
185
+ "items": {
186
+ "type": "string"
187
+ }
188
+ }
189
+ ]
190
+ },
191
+ "workspace": {
192
+ "type": "object",
193
+ "properties": {
194
+ "entry": {
195
+ "title": "The entry files target the starting point(s) to resolve the rest of the imported code.",
196
+ "example": ["lib/index.ts"],
197
+ "default": ["index.{js,ts,tsx}", "src/index.{js,ts,tsx}"],
198
+ "$ref": "#/definitions/globPatterns"
199
+ },
200
+ "project": {
201
+ "title": "The project files should contain all files to match against the files resolved from the entry files, including potentially unused files.",
202
+ "example": ["lib/**/*.ts"],
203
+ "default": ["**/*.{js,ts,tsx}"],
204
+ "$ref": "#/definitions/globPatterns"
205
+ },
206
+ "paths": {
207
+ "title": "",
208
+ "example": {
209
+ "~": ["."]
210
+ },
211
+ "default": {},
212
+ "$ref": "#/definitions/paths"
213
+ },
214
+ "ignore": {
215
+ "title": "Files to ignore in the analysis.",
216
+ "example": ["**/fixtures", "mocks"],
217
+ "default": [],
218
+ "$ref": "#/definitions/globPatterns"
219
+ },
220
+ "ignoreBinaries": {
221
+ "title": "Binaries to ignore (regex allowed)",
222
+ "examples": ["rm", "docker-compose", "curl"],
223
+ "$ref": "#/definitions/list"
224
+ },
225
+ "ignoreDependencies": {
226
+ "title": "Dependencies from package.json to ignore (regex allowed)",
227
+ "examples": ["husky", "lint-staged"],
228
+ "$ref": "#/definitions/list"
229
+ },
230
+ "includeEntryExports": {
231
+ "title": "Include entry files when reporting unused exports",
232
+ "type": "boolean"
233
+ }
234
+ }
235
+ },
236
+ "plugin": {
237
+ "description": "Knip plugin configuration. See https://github.com/webpro/knip#plugins",
238
+ "anyOf": [
239
+ {
240
+ "type": "boolean"
241
+ },
242
+ {
243
+ "$ref": "#/definitions/globPatterns"
244
+ },
245
+ {
246
+ "type": "object",
247
+ "properties": {
248
+ "config": {
249
+ "title": "The custom dependency resolver of this plugin is applied to the files listed here. Also see https://github.com/webpro/knip/blob/main/README.md#config",
250
+ "examples": [".eslintrc.json"],
251
+ "$ref": "#/definitions/globPatterns"
252
+ },
253
+ "entry": {
254
+ "title": "The entry files target the starting point(s) to resolve its imported dependencies, like regular source code.",
255
+ "examples": ["**/*.story.ts", "**/*.spec.ts"],
256
+ "$ref": "#/definitions/globPatterns"
257
+ },
258
+ "project": {
259
+ "title": "The project files should contain all files to match against the files resolved from the entry files for this plugin, including potentially unused files.",
260
+ "$ref": "#/definitions/globPatterns"
261
+ }
262
+ },
263
+ "additionalProperties": false
264
+ }
265
+ ]
266
+ },
267
+ "plugins": {
268
+ "properties": {
269
+ "angular": {
270
+ "title": "angular plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/angular/README.md)",
271
+ "$ref": "#/definitions/plugin"
272
+ },
273
+ "astro": {
274
+ "title": "astro plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/astro/README.md)",
275
+ "$ref": "#/definitions/plugin"
276
+ },
277
+ "ava": {
278
+ "title": "ava plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/ava/README.md)",
279
+ "$ref": "#/definitions/plugin"
280
+ },
281
+ "babel": {
282
+ "title": "Babel plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/babel/README.md)",
283
+ "$ref": "#/definitions/plugin"
284
+ },
285
+ "capacitor": {
286
+ "title": "Capacitor plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/capacitor/README.md)",
287
+ "$ref": "#/definitions/plugin"
288
+ },
289
+ "changesets": {
290
+ "title": "Changesets plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/changesets/README.md)",
291
+ "$ref": "#/definitions/plugin"
292
+ },
293
+ "commitizen": {
294
+ "title": "commitizen plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/commitizen/README.md)",
295
+ "$ref": "#/definitions/plugin"
296
+ },
297
+ "commitlint": {
298
+ "title": "commitlint plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/commitlint/README.md)",
299
+ "$ref": "#/definitions/plugin"
300
+ },
301
+ "cspell": {
302
+ "title": "cspell plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/cspell/README.md)",
303
+ "$ref": "#/definitions/plugin"
304
+ },
305
+ "cypress": {
306
+ "title": "Cypress plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/cypress/README.md)",
307
+ "$ref": "#/definitions/plugin"
308
+ },
309
+ "drizzle": {
310
+ "title": "Drizzle plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/drizzle/README.md)",
311
+ "$ref": "#/definitions/plugin"
312
+ },
313
+ "eleventy": {
314
+ "title": "eleventy plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/eleventy/README.md)",
315
+ "$ref": "#/definitions/plugin"
316
+ },
317
+ "eslint": {
318
+ "title": "ESLint plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/eslint/README.md)",
319
+ "$ref": "#/definitions/plugin"
320
+ },
321
+ "gatsby": {
322
+ "title": "Gatsby plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/gatsby/README.md)",
323
+ "$ref": "#/definitions/plugin"
324
+ },
325
+ "github-actions": {
326
+ "title": "github-actions plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/github-actions/README.md)",
327
+ "$ref": "#/definitions/plugin"
328
+ },
329
+ "graphql-codegen": {
330
+ "title": "graphql-codegen plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/graphql-codegen/README.md)",
331
+ "$ref": "#/definitions/plugin"
332
+ },
333
+ "husky": {
334
+ "title": "husky plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/husky/README.md)",
335
+ "$ref": "#/definitions/plugin"
336
+ },
337
+ "jest": {
338
+ "title": "Jest plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/jest/README.md)",
339
+ "$ref": "#/definitions/plugin"
340
+ },
341
+ "lefthook": {
342
+ "title": "lefthook plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/lefthook/README.md)",
343
+ "$ref": "#/definitions/plugin"
344
+ },
345
+ "lint-staged": {
346
+ "title": "lint-staged plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/lint-staged/README.md)",
347
+ "$ref": "#/definitions/plugin"
348
+ },
349
+ "linthtml": {
350
+ "title": "linthtml plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/linthtml/README.md)",
351
+ "$ref": "#/definitions/plugin"
352
+ },
353
+ "markdownlint": {
354
+ "title": "markdownlint plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/markdownlint/README.md)",
355
+ "$ref": "#/definitions/plugin"
356
+ },
357
+ "mocha": {
358
+ "title": "Mocha plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/mocha/README.md)",
359
+ "$ref": "#/definitions/plugin"
360
+ },
361
+ "next": {
362
+ "title": "Next.js plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/main/README.md)",
363
+ "$ref": "#/definitions/plugin"
364
+ },
365
+ "node-test-runner": {
366
+ "title": "node-test-runner plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/node-test-runner/README.md)",
367
+ "$ref": "#/definitions/plugin"
368
+ },
369
+ "npm-package-json-lint": {
370
+ "title": "npm-package-json-lint plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/npm-package-json-lint/README.md)",
371
+ "$ref": "#/definitions/plugin"
372
+ },
373
+ "nx": {
374
+ "title": "Nx plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/nx/README.md)",
375
+ "$ref": "#/definitions/plugin"
376
+ },
377
+ "nyc": {
378
+ "title": "nyc plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/nyc/README.md)",
379
+ "$ref": "#/definitions/plugin"
380
+ },
381
+ "playwright": {
382
+ "title": "Playwright plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/playwright/README.md)",
383
+ "$ref": "#/definitions/plugin"
384
+ },
385
+ "playwright-ct": {
386
+ "title": "Playwright for components plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/playwright-ct/README.md)",
387
+ "$ref": "#/definitions/plugin"
388
+ },
389
+ "postcss": {
390
+ "title": "PostCSS plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/postcss/README.md)",
391
+ "$ref": "#/definitions/plugin"
392
+ },
393
+ "prettier": {
394
+ "title": "Prettier plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/prettier/README.md)",
395
+ "$ref": "#/definitions/plugin"
396
+ },
397
+ "release-it": {
398
+ "title": "Release It plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/release-it/README.md)",
399
+ "$ref": "#/definitions/plugin"
400
+ },
401
+ "remark": {
402
+ "title": "Remark plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/remark/README.md)",
403
+ "$ref": "#/definitions/plugin"
404
+ },
405
+ "remix": {
406
+ "title": "Remix plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/remix/README.md)",
407
+ "$ref": "#/definitions/plugin"
408
+ },
409
+ "rollup": {
410
+ "title": "Rollup plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/rollup/README.md)",
411
+ "$ref": "#/definitions/plugin"
412
+ },
413
+ "semantic-release": {
414
+ "title": "semantic-release plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/semantic-release/README.md)",
415
+ "$ref": "#/definitions/plugin"
416
+ },
417
+ "sentry": {
418
+ "title": "Sentry plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/sentry/README.md)",
419
+ "$ref": "#/definitions/plugin"
420
+ },
421
+ "storybook": {
422
+ "title": "Storybook plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/storybook/README.md)",
423
+ "$ref": "#/definitions/plugin"
424
+ },
425
+ "stryker": {
426
+ "title": "Stryker plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/stryker/README.md)",
427
+ "$ref": "#/definitions/plugin"
428
+ },
429
+ "stylelint": {
430
+ "title": "stylelint plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/stylelint/README.md)",
431
+ "$ref": "#/definitions/plugin"
432
+ },
433
+ "svelte": {
434
+ "title": "svelte plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/svelte/README.md)",
435
+ "$ref": "#/definitions/plugin"
436
+ },
437
+ "tailwind": {
438
+ "title": "tailwind plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/tailwind/README.md)",
439
+ "$ref": "#/definitions/plugin"
440
+ },
441
+ "tsup": {
442
+ "title": "tsup plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/tsup/README.md)",
443
+ "$ref": "#/definitions/plugin"
444
+ },
445
+ "typedoc": {
446
+ "title": "typedoc plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/typedoc/README.md)",
447
+ "$ref": "#/definitions/plugin"
448
+ },
449
+ "typescript": {
450
+ "title": "TypeScript plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/typescript/README.md)",
451
+ "$ref": "#/definitions/plugin"
452
+ },
453
+ "unbuild": {
454
+ "title": "unbuild plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/unbuild/README.md)",
455
+ "$ref": "#/definitions/plugin"
456
+ },
457
+ "vite": {
458
+ "title": "vite plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/vite/README.md)",
459
+ "$ref": "#/definitions/plugin"
460
+ },
461
+ "vitest": {
462
+ "title": "vitest plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/vitest/README.md)",
463
+ "$ref": "#/definitions/plugin"
464
+ },
465
+ "vue": {
466
+ "title": "vue plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/vue/README.md)",
467
+ "$ref": "#/definitions/plugin"
468
+ },
469
+ "webpack": {
470
+ "title": "Webpack plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/webpack/README.md)",
471
+ "$ref": "#/definitions/plugin"
472
+ },
473
+ "wireit": {
474
+ "title": "Wireit plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/wireit/README.md)",
475
+ "$ref": "#/definitions/plugin"
476
+ }
477
+ }
478
+ },
479
+ "paths": {
480
+ "type": "object",
481
+ "additionalProperty": {
482
+ "type": "array",
483
+ "items": {
484
+ "type": "string"
485
+ }
486
+ }
487
+ },
488
+ "ruleValue": {
489
+ "type": "string",
490
+ "enum": ["error", "warn", "off"]
491
+ }
492
+ }
493
+ }