@definitelytyped/dtslint 0.0.180 → 0.0.182

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @definitelytyped/dtslint
2
2
 
3
+ ## 0.0.182
4
+
5
+ ### Patch Changes
6
+
7
+ - 7d60c4b6: Restore explicit disabling of no-redundant-jsdoc
8
+
9
+ ## 0.0.181
10
+
11
+ ### Patch Changes
12
+
13
+ - 38396dff: Remove no-redundant-jsdoc2 rule
14
+
3
15
  ## 0.0.180
4
16
 
5
17
  ### Patch Changes
package/dt.json CHANGED
@@ -2,8 +2,6 @@
2
2
  "extends": "./dtslint.json",
3
3
  "rules": {
4
4
  "no-redundant-jsdoc": false,
5
- "no-redundant-jsdoc-2": true,
6
-
7
5
  "npm-naming": [true, { "mode": "code" }]
8
6
  }
9
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@definitelytyped/dtslint",
3
- "version": "0.0.180",
3
+ "version": "0.0.182",
4
4
  "description": "Runs tests on TypeScript definition files",
5
5
  "main": "./dist/index.js",
6
6
  "bin": "./dist/index.js",
@@ -1 +1 @@
1
- {"program":{"fileNames":["../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/.pnpm/@types+parsimmon@1.10.6/node_modules/@types/parsimmon/index.d.ts","../typescript-versions/dist/index.d.ts","../header-parser/dist/index.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/assert.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/globals.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/async_hooks.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/buffer.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/child_process.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/cluster.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/console.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/constants.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/crypto.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/dgram.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/dns.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/domain.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/events.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/fs.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/fs/promises.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/http.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/http2.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/https.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/inspector.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/module.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/net.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/os.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/path.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/perf_hooks.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/process.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/punycode.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/querystring.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/readline.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/repl.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/stream.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/string_decoder.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/timers.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/tls.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/trace_events.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/tty.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/url.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/util.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/v8.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/vm.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/wasi.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/worker_threads.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/zlib.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/globals.global.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/index.d.ts","../../node_modules/.pnpm/@types+fs-extra@5.1.0/node_modules/@types/fs-extra/index.d.ts","../../node_modules/.pnpm/typescript@5.0.2/node_modules/typescript/lib/typescript.d.ts","../../node_modules/.pnpm/@types+strip-json-comments@0.0.28/node_modules/@types/strip-json-comments/index.d.ts","./src/util.ts","./src/checks.ts","../utils/dist/assertions.d.ts","../utils/dist/async.d.ts","../utils/dist/collections.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/typescript.d.ts","../utils/dist/fs.d.ts","../utils/dist/types/fstream.d.ts","../utils/dist/logging.d.ts","../utils/dist/io.d.ts","../utils/dist/miscellany.d.ts","../utils/dist/npm.d.ts","../utils/dist/process.d.ts","../utils/dist/progress.d.ts","../utils/dist/typescript-installer.d.ts","../utils/dist/index.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/language/walker/syntaxWalker.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/language/walker/walkContext.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/language/walker/walker.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/language/walker/ruleWalker.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/language/walker/scopeAwareRuleWalker.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/language/walker/blockScopeAwareRuleWalker.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/language/walker/programAwareRuleWalker.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/language/walker/index.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/language/rule/rule.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/configuration.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/language/formatter/formatter.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/language/formatter/abstractFormatter.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/formatters/jsonFormatter.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/formatters/pmdFormatter.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/formatters/proseFormatter.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/formatters/verboseFormatter.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/formatters/stylishFormatter.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/formatters/fileslistFormatter.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/formatters/codeFrameFormatter.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/formatters/tapFormatter.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/formatters/junitFormatter.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/formatters/index.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/formatters.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/language/rule/abstractRule.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/language/rule/typedRule.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/language/rule/optionallyTypedRule.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/rules.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/runner.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/verify/lintError.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/test.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/utils.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/linter.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/enableDisableRules.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/formatterLoader.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/ruleLoader.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/language/utils.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/index.d.ts","../../node_modules/.pnpm/@types+eslint@8.21.1/node_modules/@types/eslint/helpers.d.ts","../../node_modules/.pnpm/@types+estree@1.0.0/node_modules/@types/estree/index.d.ts","../../node_modules/.pnpm/@types+json-schema@7.0.11/node_modules/@types/json-schema/index.d.ts","../../node_modules/.pnpm/@types+eslint@8.21.1/node_modules/@types/eslint/index.d.ts","./src/rules/expectRule.ts","./src/lint.ts","./src/index.ts","./src/suggestions.ts","../../node_modules/.pnpm/@types+json-stable-stringify@1.0.34/node_modules/@types/json-stable-stringify/index.d.ts","../../node_modules/.pnpm/@types+yargs-parser@21.0.0/node_modules/@types/yargs-parser/index.d.ts","../../node_modules/.pnpm/@types+yargs@15.0.15/node_modules/@types/yargs/index.d.ts","../dts-critic/dist/index.d.ts","./src/rules/npmNamingRule.ts","./src/updateConfig.ts","./src/rules/noRedundantJsdoc2Rule.ts","./src/rules/voidReturnRule.ts"],"fileInfos":[{"version":"2ac9cdcfb8f8875c18d14ec5796a8b029c426f73ad6dc3ffb580c228b58d1c44","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc",{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true},{"version":"09226e53d1cfda217317074a97724da3e71e2c545e18774484b61562afc53cd2","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"8b41361862022eb72fcc8a7f34680ac842aca802cf4bc1f915e8c620c9ce4331","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"b7e9f95a7387e3f66be0ed6db43600c49cec33a3900437ce2fd350d9b7cb16f2","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"bc496ef4377553e461efcf7cc5a5a57cf59f9962aea06b5e722d54a36bf66ea1","affectsGlobalScope":true},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"f5c92f2c27b06c1a41b88f6db8299205aee52c2a2943f7ed29bd585977f254e8","affectsGlobalScope":true},{"version":"930b0e15811f84e203d3c23508674d5ded88266df4b10abee7b31b2ac77632d2","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"b9ea5778ff8b50d7c04c9890170db34c26a5358cccba36844fe319f50a43a61a","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"f35a831e4f0fe3b3697f4a0fe0e3caa7624c92b78afbecaf142c0f93abfaf379","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"b4786763dce6903c943cca62bf645820c0e475e1a4c42eb5b412c9660c9146fe","e9b9f389fa141fce3b1972edd65032f680e41bfd76bd239e70710d0709ae621b","74970866f6c7df0f2a706bec385a8f79555376bc84a268b5d8e769cbaa63f15b","4c2c4f53e8eedd970f8afa369d7371544fb6231bf95e659f8602e09abe74d5a5",{"version":"5540267409ab1444c73c786b8ae4caa37d5f0ea41f9255c6123338da790ce5cc","affectsGlobalScope":true},"c2b5085f47e41d6940bbc5b0d3bd7cc0037c752efb18aecd243c9cf83ad0c0b7","3143a5add0467b83150961ecd33773b561a1207aec727002aa1d70333068eb1b","9deb3a5eaf187df1428f0fee83c8c51eedb74f6da3442410bad9688e42a7e2b5","d0fc76a91c828fbe3f0be5d683273634b7b101068333ceed975a8a9ac464137b",{"version":"1a048ff164b8d9609f5de3139d4e37f6e8a82af82087ac414b9208f52ef8aac7","affectsGlobalScope":true},"3111079f3cb5f2b9c812ca3f46161562bce5bfb355e915f46ed46c41714dc1c3","db86f82fac051ae344b47e8fe7ac7990174b41db79b2b220a49dc5a47c71a9b5","b32b6b16cb0bda68199582ad6f22242d07ee75fac9b1f28a98cd838afc5eea45","4441ee4119824bfaebc49308559edd7545978f9cb41a40f115074e1031dde75f",{"version":"60693a88462d0e97900123b5bf7c73e146ce0cc94da46a61fe6775b430d2ff05","affectsGlobalScope":true},{"version":"588c69eda58b9202676ec7ca11a72c3762819b46a0ed72462c769846153c447c","affectsGlobalScope":true},"ae064ed4f855716b7ff348639ddcd6a6d354a72fae82f506608a7dc9266aa24c","92f019c55b21c939616f6a48f678e714ac7b109444cbbf23ad69310ce66ecbdc","cf0a69c71aedf2f8fe45925abd554fd3dc7301ce66d6ab7521fb8c3471c24dd8","56e6722c6013609b3e5e6ed4a8a7e01f41da6c5e3d6f0ecff3d09ef7a81414cf","139fd681eff7771a38d0c025d13c7a11c5474f6aab61e01c41511d71496df173","f614c3f61e46ccc2cb58702d5a158338ea57ee09099fde5db4cfc63ed0ce4d74","44e42ed6ec9c4451ebe89524e80ac8564e9dd0988c56e6c58f393c810730595d","d79fda68cbfb361c4ee9cd9ea169babb65887534d64017726cd01f54783d20a5","155865f5f76db0996cd5e20cc5760613ea170ee5ad594c1f3d76fcaa05382161","e92852d673c836fc64e10c38640abcd67c463456e5df55723ac699b8e6ab3a8a","4455c78d226d061b1203c7614c6c6eb5f4f9db5f00d44ff47d0112de8766fbc4",{"version":"ec369bb9d97c4dc09dd2a4093b7ca3ba69ad284831fccac8a1977785e9e38ce5","affectsGlobalScope":true},"4465a636f5f6e9665a90e30691862c9e0a3ac2edc0e66296704f10865e924f2a","9af781f03d44f5635ed7844be0ce370d9d595d4b4ec67cad88f0fac03255257e","f9fd4c3ef6de27fa0e256f4e75b61711c4be05a3399f7714621d3edc832e36b0","e49290b7a927995c0d7e6b2b9c8296284b68a9036d9966531de65185269258d7","c3689f70ce7563c2299f2dcb3c72efdf6f87ae510e7456fa6223c767d0ca99fc","874ca809b79276460011480a2829f4c8d4db29416dd411f71efbf8f497f0ac09","6c903bceaf3f3bc04f2d4c7dcd89ce9fb148b3ba0a5f5408d8f6de2b7eecc7ea","504d049d9e550a65466b73ca39da6469ab41786074ea1d16d37c8853f9f6ab2e","23a28f834a078986bbf58f4e3705956983ff81c3c2493f3db3e5f0e8a9507779","4febdf7f3ec92706c58e0b4e8159cd6de718284ef384260b07c9641c13fc70ce",{"version":"eabefc2999c1489cf870e0c85af908900462fa245822d9a4616780a1a129945d","affectsGlobalScope":true},"7335933d9f30dcfd2c4b6080a8b78e81912a7fcefb1dafccb67ca4cb4b3ac23d","a6bfe9de9adef749010c118104b071d14943802ff0614732b47ce4f1c3e383cd","4c3d0e10396646db4a1e917fb852077ee77ae62e512913bef9cccc2bb0f8bd0e","3b220849d58140dcc6718f5b52dcd29fdb79c45bc28f561cbd29eb1cac6cce13","0ee22fce41f7417a24c808d266e91b850629113c104713a35854393d55994beb","22d1b1d965baba05766613e2e6c753bb005d4386c448cafd72c309ba689e8c24",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"c6c0bd221bb1e94768e94218f8298e47633495529d60cae7d8da9374247a1cf5","aca36e2d27783f4bad7fc1786a532ff76024f0fc8575df48bcd9a5eb452fe7e7","21c0786dddf52537611499340166278507eb9784628d321c2cb6acc696cba0f6","658c59bd93996b5760e0a0c0eee9a2084a03f0041789e107ab73a112eef06117",{"version":"be7c8e27156b6740aa9368812e1af6254cec3a0fcea52e29b2dbc49c94ad258a","signature":"e225c3cd2a91b54fb919471be79273c0d231a80ef5c522a57f25f85ee9270d39"},{"version":"34c6129c72d1c2d8d1592191e8b39e850f2526448f475ff8ecc405739fb0177b","signature":"3738ce7f70b151376b559ae326c6258cd350d6a3ad0b7850fffb11e17a3cc290"},"baf227f620f5c62ab57c4f67e7f88705d112c9f0e306d6724b994fecfcb532f1","94e879c6ca08ed7267b78a31f6c4556edaf02f13a46dbefe27c84dfb4114ab9b","01ff23f8b42777387558ae0a511cd512b8d4596f0828e525a060c63d1914e782","375387db607fc72d59f4e65e3cfd86cbfa636aecf33d9d4c6015fd7d95ca42af","0a6d4cbea09251be30b0b92203d1be876c28e9efda4998baabd648210802ce7b","e2ae5aa7a93eb36cea60b4c922ef22262728e114059f2e0bf25129c8aa70119e","4bafa3897a66e2cb7134840c1c3c49f4c2a02cff51c9b714853e6ac773c6e7a9","508b85226d5712a9350cdab7c9d4c37fbd73f8b266d6d11b1912bbc72b33870d","53b171cf7bc1e16ea61419d84ae189daa5369bff79a3d717e7c747ace98bae84","9c3d444a3c3bf3b4b886df5b25e32b65f8e4ce6259de0e65ee450d658743be59","5ab5443b92de4990d73e9094a59acc022d4f232e39a4818369d0e95f89257471","88bdf0f442cc1672a0b28e2676f75627492afd43a7c517f223da3f42fdadece1","331140ab9359fedda751e517172d762b76a8a15de3b6e2d43c0e1ee17d210ccd","5eaa1112a996927a1216ea5da6aea4b8acaa3e01f1cb8d9545b18ceb24bcf5aa","a37fd08da1b34b4d7003e79631f50a0205a61226fee2beb5bef81a71902cfa46","dd34db3fb9be7fb3d474070a6d9b912cc204271687e1425d6ddbdb0512f78eb9","d63f46bebe8f8089950f9a9eb0755cce3ad9887285c6abd7bdf556beee8b3e97","78c4cea948fd307a09aa017a9b05f601dc5560166f9cb562353237d9d0480c43","6b081ccb656855db88b49f8a434bc7cf61aa6f9f67822e527329b7f84d61ee97","65d4fbe40d30e01a230d41bf49d44d69b75e4895ca07aedde6b15c812a60916d","63df934ff4e61472be885417264225a221a9548b5e52e847cc56657766c5f1ed","02fdedab5a3a8c53144228df36eeba76f46b7b403118db28dcd319646b8fe6ca","482b4c61bc9fd77de7d3ed52698d2e0f0d04d4839274828b16cf5e7282e17747","36db183865741677731ed2ecbfb195ffd40e931cd64f2b6bddc72b33d2dd2f40","87526303738e4edeb08c38cc3750dc874e54111dd8c6f4816a9df00d3b5dc7ea","3a43fa1f2b440d233560ff371920ccd14c1ab29ad5074fa5a1e4616c4a51b6e7","00eb294c52e2b41644a3d86e2191f609ea6185968130376045eb47a69669de2e","00eb294c52e2b41644a3d86e2191f609ea6185968130376045eb47a69669de2e","43f7bc619e86d96191873c2c9494cfc88c9e7252b0b8a451f702d77739690d29","744408cd7dc1bf1e1dbc770aac0e50c142a702316c0359a9cc7ae1fa6aafc90d","e13acbdd9813434ab367bcc954092541175da09e603b5bd1cd671a5818dca96e","00eb294c52e2b41644a3d86e2191f609ea6185968130376045eb47a69669de2e","00eb294c52e2b41644a3d86e2191f609ea6185968130376045eb47a69669de2e","9f34570701f561709ffe7c3b4d8b46612524eae40b7a35671596677f5ad22fcd","780c1d3215b8359686fa0e84cb5a0f376b2175f5a5ee0cf9a679b5a904b3ef3a","c31a6806095fa2a0ff15e2274fc5a3823cc7ec50fe265244b06f76768790dfb2","574b0f3c9c97978dfaf21d3c60d54f6f4735ebad6c29f8d526ea5d71505c2e81","e6d67ff57b8e1d8cc1df2e2d4d3f4804194fd7ef74f79011c81a4c602f1cda06","5369af45989a6f87e2da43c116bceb19b58fa492456a7a7b49044d6ca90fea60","cd44b752f67662e754920ff7da1906e1f8421f1afbac70c80360bed74e62c481","53aaa9de3f13af71c05000d02013744798b1cb1f7abb6afee5936eef7b40de4e","34137f912d03e00d1f303f420aa781d28a213e94ebc72de39dc66afb1c2d7116","28ac68ecf33f7d1d02639f51b13662ce756119cf09c46694146ad7d50d4c91d6","82dbc3f62003d918765a113b0249f6cdb6afdb1e4432a1ce7c4ffb609a73902f","ed29b20b028d13f213b2d7006e8c682c1a5cf4e437cf2a887c266abe5a0dc76e","9d5742fe3f5aff0314e4acf98f4ab91511727afdb15d87e86beff1c1537dcdb1","a9e95b5704917009178a1bfef3bb6dcead2d5982f96d8de93d78eb1d55dfcf16","e2175e8956be6be66af258546ada6dea78d7575042780f8a3cdae8df388dd88f","5b93f01cc0b506546233d420c85376a26520b16473910df1c3e196df302c70fb","6273dd597ec315aee91189b3edbd271f2834f984543351d945df99a99ee73f97","04a7a83d4fddcc85027defe7e56d3712d4dc51fa9a11f34c3dfe7bf5cdcbef0b",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"946bd1737d9412395a8f24414c70f18660b84a75a12b0b448e6eb1a2161d06dd","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","4e75a89a181f3b091173e4c0828dec3fb1c24087d3bb4f37b4a31e0619e8336f",{"version":"f56e655750c4ebabb94f118b25800fffe7c09b5c48f1deda740bdb3a144aaa9f","signature":"0feb2356b25559c220b3a86a0d2e0cff58148a187e4e1b355b34f0143ce9ba17"},{"version":"f3f526c8a46170ab3c3dc9ff3a4eecd54d95c4906c879c04c9c5fca1b7db4439","signature":"32aef53c3bd1b4ce6e46ba81bded883d277f04b4740408509a684d58838e874e"},{"version":"4fcb71c06ef28a5a2456a684ad44268882a47362c6daaba3e7704016de279c40","signature":"7c144b6b6774f02ebfd419375ecf9059b5f60b3d0cd402913d6722feeb5bb217"},{"version":"5b1f8948e8bbefb8931d5479d78fe673bbe3187dd75ca429aa4a578b886e1c89","signature":"918e62f749e2506a4a64c1253a258147a1761a28ee44c63e41edc9344dd97425"},"13cc3979e1f548aacaa23911f2d6e69c1a2999266c4a1952806de1e9593bdaaa","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","9cdb157e06005f2614aa42ddd4d6b46a3623145349bbac5dd1ee221fb71dcc25","0fc196f1ea9ed7e5eaa4c455539d201b98852247bbc127b1f9fe5ca71621b515",{"version":"55e45c073448b8448b473663f66a069831be6a725dc355d0d320a1fb443cab18","signature":"5c337de6cd94834dd36e23a5bb0b6f027864b2dd4c4c96c1dcc630543d339fb9"},{"version":"427cfc42a6c338fe2d414e2c6bb9c4415bd1f76e21de0b80384c2d4451aaf12e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"174f8718f72acc2eb94c845f37b47ae7a46191be0e08d4228f8e0cf60fff3cbd","signature":"fefac23b9771d1181090df59d128cadb51291169205250e226da887018072324"},{"version":"86d141f6b223e5071d7a8ed2615732ea93cb3ca8a616773671ee85a895a9851c","signature":"980e689af0bd3ddd01b17939ce56cdb36cd68e57b9e14b1e279dd29812f691f2"}],"root":[108,109,[165,168],[173,176]],"options":{"allowUnreachableCode":false,"allowUnusedLabels":false,"composite":true,"esModuleInterop":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./dist","rootDir":"./src","sourceMap":true,"strict":true,"target":6},"fileIdsList":[[161,162,163],[74,104],[61],[63],[64,69],[65,73,74,81,90],[65,66,73,81],[67,97],[68,69,74,82],[69,90],[70,71,73,81],[71],[72,73],[73],[73,74,75,90,96],[74,75],[76,81,90,96],[73,74,76,77,81,90,93,96],[76,78,90,93,96],[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],[73,79],[80,96],[71,73,81,90],[82],[83],[63,84],[85,95],[86],[87],[73,88],[88,89,97,99],[73,90],[91],[92],[81,90,93],[94],[81,95],[87,96],[97],[90,98],[99],[100],[73,75,90,96,99,101],[90,102],[170],[132],[106,132],[160],[135,145],[132,134,135],[136,137,138,139,140,141,142,143,144],[131,132,133,134,146,150,153,154,155,156,157,158,159],[132,134],[106,131,132],[106,132,147],[106,131],[106,128,132],[124,125,126,127,128,129,130],[106,127,132],[106,124,126,132],[106],[106,125,132],[106,132,133,160],[147,148,149],[151,152],[104,106],[59,60,61,83,105,106,108],[59,60,61,83,105,108,109,123,166],[59,61,83,105,106,108,123,160,164,165],[74,82,83,106,108,160],[61,106,160],[106,108,160,168,172],[106,108,160],[74,82,83,160],[65,74,83,106,160,166,169,171,173],[61,83,105,106,107],[58,59],[113],[110,111,112,114,116,117,118,119,120,121,122],[78,104,114,116],[116],[65,104],[104],[59],[59,106],[106,160],[106,160,172]],"referencedMap":[[164,1],[105,2],[61,3],[63,4],[64,5],[65,6],[66,7],[67,8],[68,9],[69,10],[70,11],[71,12],[72,13],[73,14],[74,15],[75,16],[76,17],[77,18],[78,19],[104,20],[79,21],[80,22],[81,23],[82,24],[83,25],[84,26],[85,27],[86,28],[87,29],[88,30],[89,31],[90,32],[91,33],[92,34],[93,35],[94,36],[95,37],[96,38],[97,39],[98,40],[99,41],[100,42],[101,43],[102,44],[171,45],[133,46],[156,47],[157,48],[146,49],[142,50],[141,50],[145,51],[136,50],[144,50],[137,50],[138,50],[140,50],[143,50],[139,50],[160,52],[135,53],[134,46],[147,54],[149,55],[132,56],[148,55],[159,47],[129,57],[131,58],[130,59],[127,60],[128,59],[124,61],[125,47],[126,62],[155,63],[158,46],[150,64],[153,65],[154,66],[109,67],[167,68],[166,69],[165,70],[175,71],[173,72],[176,73],[168,74],[174,75],[108,76],[60,77],[114,78],[123,79],[117,80],[119,81],[120,82],[115,83],[122,84]],"exportedModulesMap":[[164,1],[105,2],[61,3],[63,4],[64,5],[65,6],[66,7],[67,8],[68,9],[69,10],[70,11],[71,12],[72,13],[73,14],[74,15],[75,16],[76,17],[77,18],[78,19],[104,20],[79,21],[80,22],[81,23],[82,24],[83,25],[84,26],[85,27],[86,28],[87,29],[88,30],[89,31],[90,32],[91,33],[92,34],[93,35],[94,36],[95,37],[96,38],[97,39],[98,40],[99,41],[100,42],[101,43],[102,44],[171,45],[133,46],[156,47],[157,48],[146,49],[142,50],[141,50],[145,51],[136,50],[144,50],[137,50],[138,50],[140,50],[143,50],[139,50],[160,52],[135,53],[134,46],[147,54],[149,55],[132,56],[148,55],[159,47],[129,57],[131,58],[130,59],[127,60],[128,59],[124,61],[125,47],[126,62],[155,63],[158,46],[150,64],[153,65],[154,66],[109,85],[166,85],[165,86],[175,86],[173,87],[176,86],[168,48],[108,61],[60,77],[114,78],[123,79],[117,80],[119,81],[120,82],[115,83],[122,84]],"semanticDiagnosticsPerFile":[161,164,162,105,163,169,61,63,64,65,66,67,68,69,70,71,72,73,74,75,62,103,76,77,78,104,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,58,107,170,171,133,156,157,146,142,141,145,136,144,137,138,140,143,139,160,135,134,147,149,132,148,159,129,131,130,127,128,124,125,126,155,158,150,151,153,154,152,106,56,57,11,10,2,12,13,14,15,16,17,18,19,3,4,20,24,21,22,23,25,26,27,5,28,29,30,31,6,35,32,33,34,36,7,37,42,43,38,39,40,41,8,47,44,45,46,48,9,49,50,51,54,52,53,1,55,113,172,109,167,166,165,175,173,176,168,174,108,60,59,110,111,112,114,123,117,116,118,119,120,121,115,122],"latestChangedDtsFile":"./dist/rules/voidReturnRule.d.ts"},"version":"5.2.2"}
1
+ {"program":{"fileNames":["../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/.pnpm/@types+parsimmon@1.10.6/node_modules/@types/parsimmon/index.d.ts","../typescript-versions/dist/index.d.ts","../header-parser/dist/index.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/assert.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/globals.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/async_hooks.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/buffer.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/child_process.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/cluster.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/console.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/constants.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/crypto.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/dgram.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/dns.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/domain.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/events.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/fs.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/fs/promises.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/http.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/http2.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/https.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/inspector.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/module.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/net.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/os.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/path.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/perf_hooks.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/process.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/punycode.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/querystring.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/readline.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/repl.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/stream.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/string_decoder.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/timers.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/tls.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/trace_events.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/tty.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/url.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/util.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/v8.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/vm.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/wasi.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/worker_threads.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/zlib.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/globals.global.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/index.d.ts","../../node_modules/.pnpm/@types+fs-extra@5.1.0/node_modules/@types/fs-extra/index.d.ts","../../node_modules/.pnpm/typescript@5.0.2/node_modules/typescript/lib/typescript.d.ts","../../node_modules/.pnpm/@types+strip-json-comments@0.0.28/node_modules/@types/strip-json-comments/index.d.ts","./src/util.ts","./src/checks.ts","../utils/dist/assertions.d.ts","../utils/dist/async.d.ts","../utils/dist/collections.d.ts","../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/typescript.d.ts","../utils/dist/fs.d.ts","../utils/dist/types/fstream.d.ts","../utils/dist/logging.d.ts","../utils/dist/io.d.ts","../utils/dist/miscellany.d.ts","../utils/dist/npm.d.ts","../utils/dist/process.d.ts","../utils/dist/progress.d.ts","../utils/dist/typescript-installer.d.ts","../utils/dist/index.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/language/walker/syntaxWalker.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/language/walker/walkContext.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/language/walker/walker.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/language/walker/ruleWalker.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/language/walker/scopeAwareRuleWalker.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/language/walker/blockScopeAwareRuleWalker.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/language/walker/programAwareRuleWalker.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/language/walker/index.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/language/rule/rule.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/configuration.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/language/formatter/formatter.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/language/formatter/abstractFormatter.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/formatters/jsonFormatter.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/formatters/pmdFormatter.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/formatters/proseFormatter.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/formatters/verboseFormatter.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/formatters/stylishFormatter.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/formatters/fileslistFormatter.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/formatters/codeFrameFormatter.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/formatters/tapFormatter.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/formatters/junitFormatter.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/formatters/index.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/formatters.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/language/rule/abstractRule.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/language/rule/typedRule.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/language/rule/optionallyTypedRule.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/rules.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/runner.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/verify/lintError.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/test.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/utils.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/linter.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/enableDisableRules.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/formatterLoader.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/ruleLoader.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/language/utils.d.ts","../../node_modules/.pnpm/tslint@5.14.0_typescript@5.0.2/node_modules/tslint/lib/index.d.ts","../../node_modules/.pnpm/@types+eslint@8.21.1/node_modules/@types/eslint/helpers.d.ts","../../node_modules/.pnpm/@types+estree@1.0.0/node_modules/@types/estree/index.d.ts","../../node_modules/.pnpm/@types+json-schema@7.0.11/node_modules/@types/json-schema/index.d.ts","../../node_modules/.pnpm/@types+eslint@8.21.1/node_modules/@types/eslint/index.d.ts","./src/rules/expectRule.ts","./src/lint.ts","./src/index.ts","./src/suggestions.ts","../../node_modules/.pnpm/@types+json-stable-stringify@1.0.34/node_modules/@types/json-stable-stringify/index.d.ts","../../node_modules/.pnpm/@types+yargs-parser@21.0.0/node_modules/@types/yargs-parser/index.d.ts","../../node_modules/.pnpm/@types+yargs@15.0.15/node_modules/@types/yargs/index.d.ts","../dts-critic/dist/index.d.ts","./src/rules/npmNamingRule.ts","./src/updateConfig.ts","./src/rules/voidReturnRule.ts"],"fileInfos":[{"version":"2ac9cdcfb8f8875c18d14ec5796a8b029c426f73ad6dc3ffb580c228b58d1c44","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc",{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true},{"version":"09226e53d1cfda217317074a97724da3e71e2c545e18774484b61562afc53cd2","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"8b41361862022eb72fcc8a7f34680ac842aca802cf4bc1f915e8c620c9ce4331","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"b7e9f95a7387e3f66be0ed6db43600c49cec33a3900437ce2fd350d9b7cb16f2","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"bc496ef4377553e461efcf7cc5a5a57cf59f9962aea06b5e722d54a36bf66ea1","affectsGlobalScope":true},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"f5c92f2c27b06c1a41b88f6db8299205aee52c2a2943f7ed29bd585977f254e8","affectsGlobalScope":true},{"version":"930b0e15811f84e203d3c23508674d5ded88266df4b10abee7b31b2ac77632d2","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"b9ea5778ff8b50d7c04c9890170db34c26a5358cccba36844fe319f50a43a61a","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"f35a831e4f0fe3b3697f4a0fe0e3caa7624c92b78afbecaf142c0f93abfaf379","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"b4786763dce6903c943cca62bf645820c0e475e1a4c42eb5b412c9660c9146fe","e9b9f389fa141fce3b1972edd65032f680e41bfd76bd239e70710d0709ae621b","74970866f6c7df0f2a706bec385a8f79555376bc84a268b5d8e769cbaa63f15b","4c2c4f53e8eedd970f8afa369d7371544fb6231bf95e659f8602e09abe74d5a5",{"version":"5540267409ab1444c73c786b8ae4caa37d5f0ea41f9255c6123338da790ce5cc","affectsGlobalScope":true},"c2b5085f47e41d6940bbc5b0d3bd7cc0037c752efb18aecd243c9cf83ad0c0b7","3143a5add0467b83150961ecd33773b561a1207aec727002aa1d70333068eb1b","9deb3a5eaf187df1428f0fee83c8c51eedb74f6da3442410bad9688e42a7e2b5","d0fc76a91c828fbe3f0be5d683273634b7b101068333ceed975a8a9ac464137b",{"version":"1a048ff164b8d9609f5de3139d4e37f6e8a82af82087ac414b9208f52ef8aac7","affectsGlobalScope":true},"3111079f3cb5f2b9c812ca3f46161562bce5bfb355e915f46ed46c41714dc1c3","db86f82fac051ae344b47e8fe7ac7990174b41db79b2b220a49dc5a47c71a9b5","b32b6b16cb0bda68199582ad6f22242d07ee75fac9b1f28a98cd838afc5eea45","4441ee4119824bfaebc49308559edd7545978f9cb41a40f115074e1031dde75f",{"version":"60693a88462d0e97900123b5bf7c73e146ce0cc94da46a61fe6775b430d2ff05","affectsGlobalScope":true},{"version":"588c69eda58b9202676ec7ca11a72c3762819b46a0ed72462c769846153c447c","affectsGlobalScope":true},"ae064ed4f855716b7ff348639ddcd6a6d354a72fae82f506608a7dc9266aa24c","92f019c55b21c939616f6a48f678e714ac7b109444cbbf23ad69310ce66ecbdc","cf0a69c71aedf2f8fe45925abd554fd3dc7301ce66d6ab7521fb8c3471c24dd8","56e6722c6013609b3e5e6ed4a8a7e01f41da6c5e3d6f0ecff3d09ef7a81414cf","139fd681eff7771a38d0c025d13c7a11c5474f6aab61e01c41511d71496df173","f614c3f61e46ccc2cb58702d5a158338ea57ee09099fde5db4cfc63ed0ce4d74","44e42ed6ec9c4451ebe89524e80ac8564e9dd0988c56e6c58f393c810730595d","d79fda68cbfb361c4ee9cd9ea169babb65887534d64017726cd01f54783d20a5","155865f5f76db0996cd5e20cc5760613ea170ee5ad594c1f3d76fcaa05382161","e92852d673c836fc64e10c38640abcd67c463456e5df55723ac699b8e6ab3a8a","4455c78d226d061b1203c7614c6c6eb5f4f9db5f00d44ff47d0112de8766fbc4",{"version":"ec369bb9d97c4dc09dd2a4093b7ca3ba69ad284831fccac8a1977785e9e38ce5","affectsGlobalScope":true},"4465a636f5f6e9665a90e30691862c9e0a3ac2edc0e66296704f10865e924f2a","9af781f03d44f5635ed7844be0ce370d9d595d4b4ec67cad88f0fac03255257e","f9fd4c3ef6de27fa0e256f4e75b61711c4be05a3399f7714621d3edc832e36b0","e49290b7a927995c0d7e6b2b9c8296284b68a9036d9966531de65185269258d7","c3689f70ce7563c2299f2dcb3c72efdf6f87ae510e7456fa6223c767d0ca99fc","874ca809b79276460011480a2829f4c8d4db29416dd411f71efbf8f497f0ac09","6c903bceaf3f3bc04f2d4c7dcd89ce9fb148b3ba0a5f5408d8f6de2b7eecc7ea","504d049d9e550a65466b73ca39da6469ab41786074ea1d16d37c8853f9f6ab2e","23a28f834a078986bbf58f4e3705956983ff81c3c2493f3db3e5f0e8a9507779","4febdf7f3ec92706c58e0b4e8159cd6de718284ef384260b07c9641c13fc70ce",{"version":"eabefc2999c1489cf870e0c85af908900462fa245822d9a4616780a1a129945d","affectsGlobalScope":true},"7335933d9f30dcfd2c4b6080a8b78e81912a7fcefb1dafccb67ca4cb4b3ac23d","a6bfe9de9adef749010c118104b071d14943802ff0614732b47ce4f1c3e383cd","4c3d0e10396646db4a1e917fb852077ee77ae62e512913bef9cccc2bb0f8bd0e","3b220849d58140dcc6718f5b52dcd29fdb79c45bc28f561cbd29eb1cac6cce13","0ee22fce41f7417a24c808d266e91b850629113c104713a35854393d55994beb","22d1b1d965baba05766613e2e6c753bb005d4386c448cafd72c309ba689e8c24",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"c6c0bd221bb1e94768e94218f8298e47633495529d60cae7d8da9374247a1cf5","aca36e2d27783f4bad7fc1786a532ff76024f0fc8575df48bcd9a5eb452fe7e7","21c0786dddf52537611499340166278507eb9784628d321c2cb6acc696cba0f6","658c59bd93996b5760e0a0c0eee9a2084a03f0041789e107ab73a112eef06117",{"version":"be7c8e27156b6740aa9368812e1af6254cec3a0fcea52e29b2dbc49c94ad258a","signature":"e225c3cd2a91b54fb919471be79273c0d231a80ef5c522a57f25f85ee9270d39"},{"version":"34c6129c72d1c2d8d1592191e8b39e850f2526448f475ff8ecc405739fb0177b","signature":"3738ce7f70b151376b559ae326c6258cd350d6a3ad0b7850fffb11e17a3cc290"},"baf227f620f5c62ab57c4f67e7f88705d112c9f0e306d6724b994fecfcb532f1","94e879c6ca08ed7267b78a31f6c4556edaf02f13a46dbefe27c84dfb4114ab9b","01ff23f8b42777387558ae0a511cd512b8d4596f0828e525a060c63d1914e782","375387db607fc72d59f4e65e3cfd86cbfa636aecf33d9d4c6015fd7d95ca42af","0a6d4cbea09251be30b0b92203d1be876c28e9efda4998baabd648210802ce7b","e2ae5aa7a93eb36cea60b4c922ef22262728e114059f2e0bf25129c8aa70119e","4bafa3897a66e2cb7134840c1c3c49f4c2a02cff51c9b714853e6ac773c6e7a9","508b85226d5712a9350cdab7c9d4c37fbd73f8b266d6d11b1912bbc72b33870d","53b171cf7bc1e16ea61419d84ae189daa5369bff79a3d717e7c747ace98bae84","9c3d444a3c3bf3b4b886df5b25e32b65f8e4ce6259de0e65ee450d658743be59","5ab5443b92de4990d73e9094a59acc022d4f232e39a4818369d0e95f89257471","88bdf0f442cc1672a0b28e2676f75627492afd43a7c517f223da3f42fdadece1","331140ab9359fedda751e517172d762b76a8a15de3b6e2d43c0e1ee17d210ccd","5eaa1112a996927a1216ea5da6aea4b8acaa3e01f1cb8d9545b18ceb24bcf5aa","a37fd08da1b34b4d7003e79631f50a0205a61226fee2beb5bef81a71902cfa46","dd34db3fb9be7fb3d474070a6d9b912cc204271687e1425d6ddbdb0512f78eb9","d63f46bebe8f8089950f9a9eb0755cce3ad9887285c6abd7bdf556beee8b3e97","78c4cea948fd307a09aa017a9b05f601dc5560166f9cb562353237d9d0480c43","6b081ccb656855db88b49f8a434bc7cf61aa6f9f67822e527329b7f84d61ee97","65d4fbe40d30e01a230d41bf49d44d69b75e4895ca07aedde6b15c812a60916d","63df934ff4e61472be885417264225a221a9548b5e52e847cc56657766c5f1ed","02fdedab5a3a8c53144228df36eeba76f46b7b403118db28dcd319646b8fe6ca","482b4c61bc9fd77de7d3ed52698d2e0f0d04d4839274828b16cf5e7282e17747","36db183865741677731ed2ecbfb195ffd40e931cd64f2b6bddc72b33d2dd2f40","87526303738e4edeb08c38cc3750dc874e54111dd8c6f4816a9df00d3b5dc7ea","3a43fa1f2b440d233560ff371920ccd14c1ab29ad5074fa5a1e4616c4a51b6e7","00eb294c52e2b41644a3d86e2191f609ea6185968130376045eb47a69669de2e","00eb294c52e2b41644a3d86e2191f609ea6185968130376045eb47a69669de2e","43f7bc619e86d96191873c2c9494cfc88c9e7252b0b8a451f702d77739690d29","744408cd7dc1bf1e1dbc770aac0e50c142a702316c0359a9cc7ae1fa6aafc90d","e13acbdd9813434ab367bcc954092541175da09e603b5bd1cd671a5818dca96e","00eb294c52e2b41644a3d86e2191f609ea6185968130376045eb47a69669de2e","00eb294c52e2b41644a3d86e2191f609ea6185968130376045eb47a69669de2e","9f34570701f561709ffe7c3b4d8b46612524eae40b7a35671596677f5ad22fcd","780c1d3215b8359686fa0e84cb5a0f376b2175f5a5ee0cf9a679b5a904b3ef3a","c31a6806095fa2a0ff15e2274fc5a3823cc7ec50fe265244b06f76768790dfb2","574b0f3c9c97978dfaf21d3c60d54f6f4735ebad6c29f8d526ea5d71505c2e81","e6d67ff57b8e1d8cc1df2e2d4d3f4804194fd7ef74f79011c81a4c602f1cda06","5369af45989a6f87e2da43c116bceb19b58fa492456a7a7b49044d6ca90fea60","cd44b752f67662e754920ff7da1906e1f8421f1afbac70c80360bed74e62c481","53aaa9de3f13af71c05000d02013744798b1cb1f7abb6afee5936eef7b40de4e","34137f912d03e00d1f303f420aa781d28a213e94ebc72de39dc66afb1c2d7116","28ac68ecf33f7d1d02639f51b13662ce756119cf09c46694146ad7d50d4c91d6","82dbc3f62003d918765a113b0249f6cdb6afdb1e4432a1ce7c4ffb609a73902f","ed29b20b028d13f213b2d7006e8c682c1a5cf4e437cf2a887c266abe5a0dc76e","9d5742fe3f5aff0314e4acf98f4ab91511727afdb15d87e86beff1c1537dcdb1","a9e95b5704917009178a1bfef3bb6dcead2d5982f96d8de93d78eb1d55dfcf16","e2175e8956be6be66af258546ada6dea78d7575042780f8a3cdae8df388dd88f","5b93f01cc0b506546233d420c85376a26520b16473910df1c3e196df302c70fb","6273dd597ec315aee91189b3edbd271f2834f984543351d945df99a99ee73f97","04a7a83d4fddcc85027defe7e56d3712d4dc51fa9a11f34c3dfe7bf5cdcbef0b",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"946bd1737d9412395a8f24414c70f18660b84a75a12b0b448e6eb1a2161d06dd","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","4e75a89a181f3b091173e4c0828dec3fb1c24087d3bb4f37b4a31e0619e8336f",{"version":"f56e655750c4ebabb94f118b25800fffe7c09b5c48f1deda740bdb3a144aaa9f","signature":"0feb2356b25559c220b3a86a0d2e0cff58148a187e4e1b355b34f0143ce9ba17"},{"version":"f3f526c8a46170ab3c3dc9ff3a4eecd54d95c4906c879c04c9c5fca1b7db4439","signature":"32aef53c3bd1b4ce6e46ba81bded883d277f04b4740408509a684d58838e874e"},{"version":"4fcb71c06ef28a5a2456a684ad44268882a47362c6daaba3e7704016de279c40","signature":"7c144b6b6774f02ebfd419375ecf9059b5f60b3d0cd402913d6722feeb5bb217"},{"version":"5b1f8948e8bbefb8931d5479d78fe673bbe3187dd75ca429aa4a578b886e1c89","signature":"918e62f749e2506a4a64c1253a258147a1761a28ee44c63e41edc9344dd97425"},"13cc3979e1f548aacaa23911f2d6e69c1a2999266c4a1952806de1e9593bdaaa","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","9cdb157e06005f2614aa42ddd4d6b46a3623145349bbac5dd1ee221fb71dcc25","0fc196f1ea9ed7e5eaa4c455539d201b98852247bbc127b1f9fe5ca71621b515",{"version":"55e45c073448b8448b473663f66a069831be6a725dc355d0d320a1fb443cab18","signature":"5c337de6cd94834dd36e23a5bb0b6f027864b2dd4c4c96c1dcc630543d339fb9"},{"version":"427cfc42a6c338fe2d414e2c6bb9c4415bd1f76e21de0b80384c2d4451aaf12e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"86d141f6b223e5071d7a8ed2615732ea93cb3ca8a616773671ee85a895a9851c","signature":"980e689af0bd3ddd01b17939ce56cdb36cd68e57b9e14b1e279dd29812f691f2"}],"root":[108,109,[165,168],[173,175]],"options":{"allowUnreachableCode":false,"allowUnusedLabels":false,"composite":true,"esModuleInterop":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./dist","rootDir":"./src","sourceMap":true,"strict":true,"target":6},"fileIdsList":[[161,162,163],[74,104],[61],[63],[64,69],[65,73,74,81,90],[65,66,73,81],[67,97],[68,69,74,82],[69,90],[70,71,73,81],[71],[72,73],[73],[73,74,75,90,96],[74,75],[76,81,90,96],[73,74,76,77,81,90,93,96],[76,78,90,93,96],[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],[73,79],[80,96],[71,73,81,90],[82],[83],[63,84],[85,95],[86],[87],[73,88],[88,89,97,99],[73,90],[91],[92],[81,90,93],[94],[81,95],[87,96],[97],[90,98],[99],[100],[73,75,90,96,99,101],[90,102],[170],[132],[106,132],[160],[135,145],[132,134,135],[136,137,138,139,140,141,142,143,144],[131,132,133,134,146,150,153,154,155,156,157,158,159],[132,134],[106,131,132],[106,132,147],[106,131],[106,128,132],[124,125,126,127,128,129,130],[106,127,132],[106,124,126,132],[106],[106,125,132],[106,132,133,160],[147,148,149],[151,152],[104,106],[59,60,61,83,105,106,108],[59,60,61,83,105,108,109,123,166],[59,61,83,105,106,108,123,160,164,165],[74,82,83,106,108,160],[106,108,160,168,172],[106,108,160],[74,82,83,160],[65,74,83,106,160,166,169,171,173],[61,83,105,106,107],[58,59],[113],[110,111,112,114,116,117,118,119,120,121,122],[78,104,114,116],[116],[65,104],[104],[59],[59,106],[106,160],[106,160,172]],"referencedMap":[[164,1],[105,2],[61,3],[63,4],[64,5],[65,6],[66,7],[67,8],[68,9],[69,10],[70,11],[71,12],[72,13],[73,14],[74,15],[75,16],[76,17],[77,18],[78,19],[104,20],[79,21],[80,22],[81,23],[82,24],[83,25],[84,26],[85,27],[86,28],[87,29],[88,30],[89,31],[90,32],[91,33],[92,34],[93,35],[94,36],[95,37],[96,38],[97,39],[98,40],[99,41],[100,42],[101,43],[102,44],[171,45],[133,46],[156,47],[157,48],[146,49],[142,50],[141,50],[145,51],[136,50],[144,50],[137,50],[138,50],[140,50],[143,50],[139,50],[160,52],[135,53],[134,46],[147,54],[149,55],[132,56],[148,55],[159,47],[129,57],[131,58],[130,59],[127,60],[128,59],[124,61],[125,47],[126,62],[155,63],[158,46],[150,64],[153,65],[154,66],[109,67],[167,68],[166,69],[165,70],[173,71],[175,72],[168,73],[174,74],[108,75],[60,76],[114,77],[123,78],[117,79],[119,80],[120,81],[115,82],[122,83]],"exportedModulesMap":[[164,1],[105,2],[61,3],[63,4],[64,5],[65,6],[66,7],[67,8],[68,9],[69,10],[70,11],[71,12],[72,13],[73,14],[74,15],[75,16],[76,17],[77,18],[78,19],[104,20],[79,21],[80,22],[81,23],[82,24],[83,25],[84,26],[85,27],[86,28],[87,29],[88,30],[89,31],[90,32],[91,33],[92,34],[93,35],[94,36],[95,37],[96,38],[97,39],[98,40],[99,41],[100,42],[101,43],[102,44],[171,45],[133,46],[156,47],[157,48],[146,49],[142,50],[141,50],[145,51],[136,50],[144,50],[137,50],[138,50],[140,50],[143,50],[139,50],[160,52],[135,53],[134,46],[147,54],[149,55],[132,56],[148,55],[159,47],[129,57],[131,58],[130,59],[127,60],[128,59],[124,61],[125,47],[126,62],[155,63],[158,46],[150,64],[153,65],[154,66],[109,84],[166,84],[165,85],[173,86],[175,85],[168,48],[108,61],[60,76],[114,77],[123,78],[117,79],[119,80],[120,81],[115,82],[122,83]],"semanticDiagnosticsPerFile":[161,164,162,105,163,169,61,63,64,65,66,67,68,69,70,71,72,73,74,75,62,103,76,77,78,104,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,58,107,170,171,133,156,157,146,142,141,145,136,144,137,138,140,143,139,160,135,134,147,149,132,148,159,129,131,130,127,128,124,125,126,155,158,150,151,153,154,152,106,56,57,11,10,2,12,13,14,15,16,17,18,19,3,4,20,24,21,22,23,25,26,27,5,28,29,30,31,6,35,32,33,34,36,7,37,42,43,38,39,40,41,8,47,44,45,46,48,9,49,50,51,54,52,53,1,55,113,172,109,167,166,165,173,175,168,174,108,60,59,110,111,112,114,123,117,116,118,119,120,121,115,122],"latestChangedDtsFile":"./dist/rules/voidReturnRule.d.ts"},"version":"5.2.2"}
@@ -1,10 +0,0 @@
1
- import * as Lint from "tslint";
2
- import * as ts from "typescript";
3
- export declare class Rule extends Lint.Rules.AbstractRule {
4
- static metadata: Lint.IRuleMetadata;
5
- static readonly FAILURE_STRING_REDUNDANT_TYPE = "Type annotation in JSDoc is redundant in TypeScript code.";
6
- static readonly FAILURE_STRING_EMPTY = "JSDoc comment is empty.";
7
- static FAILURE_STRING_REDUNDANT_TAG(tagName: string): string;
8
- static FAILURE_STRING_NO_COMMENT(tagName: string): string;
9
- apply(sourceFile: ts.SourceFile): Lint.RuleFailure[];
10
- }
@@ -1,252 +0,0 @@
1
- "use strict";
2
- // Fixes temporarily moved here until they are published by tslint.
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k]; } };
8
- }
9
- Object.defineProperty(o, k2, desc);
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- o[k2] = m[k];
13
- }));
14
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
- Object.defineProperty(o, "default", { enumerable: true, value: v });
16
- }) : function(o, v) {
17
- o["default"] = v;
18
- });
19
- var __importStar = (this && this.__importStar) || function (mod) {
20
- if (mod && mod.__esModule) return mod;
21
- var result = {};
22
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
- __setModuleDefault(result, mod);
24
- return result;
25
- };
26
- Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.Rule = void 0;
28
- const assert = require("assert");
29
- const Lint = __importStar(require("tslint"));
30
- const ts = __importStar(require("typescript"));
31
- class Rule extends Lint.Rules.AbstractRule {
32
- // eslint-disable-next-line @typescript-eslint/naming-convention
33
- static FAILURE_STRING_REDUNDANT_TAG(tagName) {
34
- return `JSDoc tag '@${tagName}' is redundant in TypeScript code.`;
35
- }
36
- // eslint-disable-next-line @typescript-eslint/naming-convention
37
- static FAILURE_STRING_NO_COMMENT(tagName) {
38
- return `'@${tagName}' is redundant in TypeScript code if it has no description.`;
39
- }
40
- apply(sourceFile) {
41
- return this.applyWithFunction(sourceFile, walk);
42
- }
43
- }
44
- exports.Rule = Rule;
45
- Rule.metadata = {
46
- ruleName: "no-redundant-jsdoc",
47
- description: "Forbids JSDoc which duplicates TypeScript functionality.",
48
- optionsDescription: "Not configurable.",
49
- options: null,
50
- optionExamples: [true],
51
- type: "style",
52
- typescriptOnly: true,
53
- };
54
- Rule.FAILURE_STRING_REDUNDANT_TYPE = "Type annotation in JSDoc is redundant in TypeScript code.";
55
- Rule.FAILURE_STRING_EMPTY = "JSDoc comment is empty.";
56
- function walk(ctx) {
57
- const { sourceFile } = ctx;
58
- // Intentionally exclude EndOfFileToken: it can have JSDoc, but it is only relevant in JavaScript files
59
- return sourceFile.statements.forEach(function cb(node) {
60
- if (node.kind !== ts.SyntaxKind.EndOfFileToken && ts.hasJSDocNodes(node)) {
61
- for (const jd of node.jsDoc) {
62
- const { tags } = jd;
63
- if (tags === undefined || tags.length === 0) {
64
- if (jd.comment === undefined) {
65
- ctx.addFailureAtNode(jd, Rule.FAILURE_STRING_EMPTY, Lint.Replacement.deleteFromTo(jd.getStart(sourceFile), jd.getEnd()));
66
- }
67
- }
68
- else {
69
- for (const tag of tags) {
70
- checkTag(tag);
71
- }
72
- }
73
- }
74
- }
75
- return ts.forEachChild(node, cb);
76
- });
77
- function checkTag(tag) {
78
- const jsdocSeeTag = ts.SyntaxKind.JSDocSeeTag || 0;
79
- const jsdocDeprecatedTag = ts.SyntaxKind.JSDocDeprecatedTag || 0;
80
- const jsdocThrowsTag = ts.SyntaxKind.JSDocThrowsTag || 0;
81
- const jsdocOverrideTag = ts.SyntaxKind.JSDocOverrideTag || 0;
82
- switch (tag.kind) {
83
- case jsdocSeeTag:
84
- case jsdocDeprecatedTag:
85
- case jsdocThrowsTag:
86
- case jsdocOverrideTag:
87
- case ts.SyntaxKind.JSDocAuthorTag:
88
- // @deprecated and @see always have meaning
89
- break;
90
- case ts.SyntaxKind.JSDocTag: {
91
- const { tagName } = tag;
92
- const { text } = tagName;
93
- // Allow "default" in an ambient context (since you can't write an initializer in an ambient context)
94
- if (redundantTags.has(text) && !(text === "default" && isInAmbientContext(tag))) {
95
- ctx.addFailureAtNode(tagName, Rule.FAILURE_STRING_REDUNDANT_TAG(text), removeTag(tag, sourceFile));
96
- }
97
- break;
98
- }
99
- // @ts-ignore (fallthrough)
100
- case ts.SyntaxKind.JSDocTemplateTag:
101
- if (tag.comment !== "") {
102
- break;
103
- }
104
- // falls through
105
- case ts.SyntaxKind.JSDocPublicTag:
106
- case ts.SyntaxKind.JSDocPrivateTag:
107
- case ts.SyntaxKind.JSDocProtectedTag:
108
- case ts.SyntaxKind.JSDocClassTag:
109
- case ts.SyntaxKind.JSDocTypeTag:
110
- case ts.SyntaxKind.JSDocTypedefTag:
111
- case ts.SyntaxKind.JSDocReadonlyTag:
112
- case ts.SyntaxKind.JSDocPropertyTag:
113
- case ts.SyntaxKind.JSDocAugmentsTag:
114
- case ts.SyntaxKind.JSDocImplementsTag:
115
- case ts.SyntaxKind.JSDocCallbackTag:
116
- case ts.SyntaxKind.JSDocThisTag:
117
- case ts.SyntaxKind.JSDocEnumTag:
118
- // Always redundant
119
- ctx.addFailureAtNode(tag.tagName, Rule.FAILURE_STRING_REDUNDANT_TAG(tag.tagName.text), removeTag(tag, sourceFile));
120
- break;
121
- case ts.SyntaxKind.JSDocReturnTag:
122
- case ts.SyntaxKind.JSDocParameterTag: {
123
- const { typeExpression, comment } = tag;
124
- const noComment = comment === "";
125
- if (typeExpression !== undefined) {
126
- // If noComment, we will just completely remove it in the other fix
127
- const fix = noComment ? undefined : removeTypeExpression(typeExpression, sourceFile);
128
- ctx.addFailureAtNode(typeExpression, Rule.FAILURE_STRING_REDUNDANT_TYPE, fix);
129
- }
130
- if (noComment) {
131
- // Redundant if no documentation
132
- ctx.addFailureAtNode(tag.tagName, Rule.FAILURE_STRING_NO_COMMENT(tag.tagName.text), removeTag(tag, sourceFile));
133
- }
134
- break;
135
- }
136
- default:
137
- throw new Error(`Unexpected tag kind: ${ts.SyntaxKind[tag.kind]}`);
138
- }
139
- }
140
- }
141
- function removeTag(tag, sourceFile) {
142
- const { text } = sourceFile;
143
- const jsdoc = tag.parent;
144
- if (jsdoc.kind === ts.SyntaxKind.JSDocTypeLiteral) {
145
- return undefined;
146
- }
147
- if (jsdoc.comment === undefined && jsdoc.tags.length === 1) {
148
- // This is the only tag -- remove the whole comment
149
- return Lint.Replacement.deleteFromTo(jsdoc.getStart(sourceFile), jsdoc.getEnd());
150
- }
151
- let start = tag.getStart(sourceFile);
152
- assert(text[start] === "@");
153
- start--;
154
- while (ts.isWhiteSpaceSingleLine(text.charCodeAt(start))) {
155
- start--;
156
- }
157
- if (text[start] !== "*") {
158
- return undefined;
159
- }
160
- let end = tag.getEnd();
161
- // For some tags, like `@param`, `end` will be the start of the next tag.
162
- // For some tags, like `@name`, `end` will be before the start of the comment.
163
- // And `@typedef` doesn't end until the last `@property` tag attached to it ends.
164
- switch (tag.tagName.text) {
165
- // @ts-ignore (fallthrough)
166
- case "param": {
167
- const { isBracketed, isNameFirst, typeExpression } = tag;
168
- if (!isBracketed && !(isNameFirst && typeExpression !== undefined)) {
169
- break;
170
- }
171
- // falls through
172
- }
173
- case "name":
174
- case "return":
175
- case "returns":
176
- case "interface":
177
- case "default":
178
- case "memberof":
179
- case "memberOf":
180
- case "method":
181
- case "type":
182
- case "class":
183
- case "property":
184
- case "function":
185
- end--; // Might end with "\n" (test with just `@return` with no comment or type)
186
- // For some reason, for "@name", "end" is before the start of the comment part of the tag.
187
- // Also for "param" if the name is optional as in `@param {number} [x]`
188
- while (!ts.isLineBreak(text.charCodeAt(end))) {
189
- end++;
190
- }
191
- end++;
192
- }
193
- while (ts.isWhiteSpaceSingleLine(text.charCodeAt(end))) {
194
- end++;
195
- }
196
- if (text[end] !== "*") {
197
- return undefined;
198
- }
199
- return Lint.Replacement.deleteFromTo(start, end);
200
- }
201
- function removeTypeExpression(typeExpression, sourceFile) {
202
- const start = typeExpression.getStart(sourceFile);
203
- let end = typeExpression.getEnd();
204
- const { text } = sourceFile;
205
- if (text[start] !== "{" || text[end - 1] !== "}") {
206
- // TypeScript parser messed up -- give up
207
- return undefined;
208
- }
209
- if (ts.isWhiteSpaceSingleLine(text.charCodeAt(end))) {
210
- end++;
211
- }
212
- return Lint.Replacement.deleteFromTo(start, end);
213
- }
214
- // TODO: improve once https://github.com/Microsoft/TypeScript/pull/17831 is in
215
- function isInAmbientContext(node) {
216
- var _a;
217
- return ts.isSourceFile(node)
218
- ? node.isDeclarationFile
219
- : (ts.canHaveModifiers(node) && ((_a = ts.getModifiers(node)) === null || _a === void 0 ? void 0 : _a.some((m) => m.kind === ts.SyntaxKind.DeclareKeyword))) ||
220
- isInAmbientContext(node.parent);
221
- }
222
- const redundantTags = new Set([
223
- "abstract",
224
- "access",
225
- "class",
226
- "constant",
227
- "constructs",
228
- "default",
229
- "enum",
230
- "export",
231
- "exports",
232
- "function",
233
- "global",
234
- "inherits",
235
- "interface",
236
- "instance",
237
- "member",
238
- "method",
239
- "memberof",
240
- "memberOf",
241
- "mixes",
242
- "mixin",
243
- "module",
244
- "name",
245
- "namespace",
246
- "override",
247
- "property",
248
- "requires",
249
- "static",
250
- "this",
251
- ]);
252
- //# sourceMappingURL=noRedundantJsdoc2Rule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"noRedundantJsdoc2Rule.js","sourceRoot":"","sources":["../../src/rules/noRedundantJsdoc2Rule.ts"],"names":[],"mappings":"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"}
@@ -1,255 +0,0 @@
1
- // Fixes temporarily moved here until they are published by tslint.
2
-
3
- import assert = require("assert");
4
- import * as Lint from "tslint";
5
- import * as ts from "typescript";
6
-
7
- export class Rule extends Lint.Rules.AbstractRule {
8
- static metadata: Lint.IRuleMetadata = {
9
- ruleName: "no-redundant-jsdoc",
10
- description: "Forbids JSDoc which duplicates TypeScript functionality.",
11
- optionsDescription: "Not configurable.",
12
- options: null,
13
- optionExamples: [true],
14
- type: "style",
15
- typescriptOnly: true,
16
- };
17
- static readonly FAILURE_STRING_REDUNDANT_TYPE = "Type annotation in JSDoc is redundant in TypeScript code.";
18
- static readonly FAILURE_STRING_EMPTY = "JSDoc comment is empty.";
19
- // eslint-disable-next-line @typescript-eslint/naming-convention
20
- static FAILURE_STRING_REDUNDANT_TAG(tagName: string): string {
21
- return `JSDoc tag '@${tagName}' is redundant in TypeScript code.`;
22
- }
23
- // eslint-disable-next-line @typescript-eslint/naming-convention
24
- static FAILURE_STRING_NO_COMMENT(tagName: string): string {
25
- return `'@${tagName}' is redundant in TypeScript code if it has no description.`;
26
- }
27
-
28
- apply(sourceFile: ts.SourceFile): Lint.RuleFailure[] {
29
- return this.applyWithFunction(sourceFile, walk);
30
- }
31
- }
32
-
33
- function walk(ctx: Lint.WalkContext<void>): void {
34
- const { sourceFile } = ctx;
35
- // Intentionally exclude EndOfFileToken: it can have JSDoc, but it is only relevant in JavaScript files
36
- return sourceFile.statements.forEach(function cb(node: ts.Node): void {
37
- if (node.kind !== ts.SyntaxKind.EndOfFileToken && (ts as any).hasJSDocNodes(node)) {
38
- for (const jd of (node as any).jsDoc) {
39
- const { tags } = jd as ts.JSDoc;
40
- if (tags === undefined || tags.length === 0) {
41
- if (jd.comment === undefined) {
42
- ctx.addFailureAtNode(
43
- jd,
44
- Rule.FAILURE_STRING_EMPTY,
45
- Lint.Replacement.deleteFromTo(jd.getStart(sourceFile), jd.getEnd())
46
- );
47
- }
48
- } else {
49
- for (const tag of tags) {
50
- checkTag(tag);
51
- }
52
- }
53
- }
54
- }
55
- return ts.forEachChild(node, cb);
56
- });
57
-
58
- function checkTag(tag: ts.JSDocTag): void {
59
- const jsdocSeeTag = (ts.SyntaxKind as any).JSDocSeeTag || 0;
60
- const jsdocDeprecatedTag = (ts.SyntaxKind as any).JSDocDeprecatedTag || 0;
61
- const jsdocThrowsTag = (ts.SyntaxKind as any).JSDocThrowsTag || 0;
62
- const jsdocOverrideTag = (ts.SyntaxKind as any).JSDocOverrideTag || 0;
63
- switch (tag.kind) {
64
- case jsdocSeeTag:
65
- case jsdocDeprecatedTag:
66
- case jsdocThrowsTag:
67
- case jsdocOverrideTag:
68
- case ts.SyntaxKind.JSDocAuthorTag:
69
- // @deprecated and @see always have meaning
70
- break;
71
- case ts.SyntaxKind.JSDocTag: {
72
- const { tagName } = tag;
73
- const { text } = tagName;
74
- // Allow "default" in an ambient context (since you can't write an initializer in an ambient context)
75
- if (redundantTags.has(text) && !(text === "default" && isInAmbientContext(tag))) {
76
- ctx.addFailureAtNode(tagName, Rule.FAILURE_STRING_REDUNDANT_TAG(text), removeTag(tag, sourceFile));
77
- }
78
- break;
79
- }
80
-
81
- // @ts-ignore (fallthrough)
82
- case ts.SyntaxKind.JSDocTemplateTag:
83
- if (tag.comment !== "") {
84
- break;
85
- }
86
- // falls through
87
-
88
- case ts.SyntaxKind.JSDocPublicTag:
89
- case ts.SyntaxKind.JSDocPrivateTag:
90
- case ts.SyntaxKind.JSDocProtectedTag:
91
- case ts.SyntaxKind.JSDocClassTag:
92
- case ts.SyntaxKind.JSDocTypeTag:
93
- case ts.SyntaxKind.JSDocTypedefTag:
94
- case ts.SyntaxKind.JSDocReadonlyTag:
95
- case ts.SyntaxKind.JSDocPropertyTag:
96
- case ts.SyntaxKind.JSDocAugmentsTag:
97
- case ts.SyntaxKind.JSDocImplementsTag:
98
- case ts.SyntaxKind.JSDocCallbackTag:
99
- case ts.SyntaxKind.JSDocThisTag:
100
- case ts.SyntaxKind.JSDocEnumTag:
101
- // Always redundant
102
- ctx.addFailureAtNode(
103
- tag.tagName,
104
- Rule.FAILURE_STRING_REDUNDANT_TAG(tag.tagName.text),
105
- removeTag(tag, sourceFile)
106
- );
107
- break;
108
-
109
- case ts.SyntaxKind.JSDocReturnTag:
110
- case ts.SyntaxKind.JSDocParameterTag: {
111
- const { typeExpression, comment } = tag as ts.JSDocReturnTag | ts.JSDocParameterTag;
112
- const noComment = comment === "";
113
- if (typeExpression !== undefined) {
114
- // If noComment, we will just completely remove it in the other fix
115
- const fix = noComment ? undefined : removeTypeExpression(typeExpression, sourceFile);
116
- ctx.addFailureAtNode(typeExpression, Rule.FAILURE_STRING_REDUNDANT_TYPE, fix);
117
- }
118
- if (noComment) {
119
- // Redundant if no documentation
120
- ctx.addFailureAtNode(
121
- tag.tagName,
122
- Rule.FAILURE_STRING_NO_COMMENT(tag.tagName.text),
123
- removeTag(tag, sourceFile)
124
- );
125
- }
126
- break;
127
- }
128
-
129
- default:
130
- throw new Error(`Unexpected tag kind: ${ts.SyntaxKind[tag.kind]}`);
131
- }
132
- }
133
- }
134
-
135
- function removeTag(tag: ts.JSDocTag, sourceFile: ts.SourceFile): Lint.Replacement | undefined {
136
- const { text } = sourceFile;
137
- const jsdoc = tag.parent;
138
- if (jsdoc.kind === ts.SyntaxKind.JSDocTypeLiteral) {
139
- return undefined;
140
- }
141
-
142
- if (jsdoc.comment === undefined && jsdoc.tags!.length === 1) {
143
- // This is the only tag -- remove the whole comment
144
- return Lint.Replacement.deleteFromTo(jsdoc.getStart(sourceFile), jsdoc.getEnd());
145
- }
146
-
147
- let start = tag.getStart(sourceFile);
148
- assert(text[start] === "@");
149
- start--;
150
- while (ts.isWhiteSpaceSingleLine(text.charCodeAt(start))) {
151
- start--;
152
- }
153
- if (text[start] !== "*") {
154
- return undefined;
155
- }
156
-
157
- let end = tag.getEnd();
158
-
159
- // For some tags, like `@param`, `end` will be the start of the next tag.
160
- // For some tags, like `@name`, `end` will be before the start of the comment.
161
- // And `@typedef` doesn't end until the last `@property` tag attached to it ends.
162
- switch (tag.tagName.text) {
163
- // @ts-ignore (fallthrough)
164
- case "param": {
165
- const { isBracketed, isNameFirst, typeExpression } = tag as ts.JSDocParameterTag;
166
- if (!isBracketed && !(isNameFirst && typeExpression !== undefined)) {
167
- break;
168
- }
169
- // falls through
170
- }
171
- case "name":
172
- case "return":
173
- case "returns":
174
- case "interface":
175
- case "default":
176
- case "memberof":
177
- case "memberOf":
178
- case "method":
179
- case "type":
180
- case "class":
181
- case "property":
182
- case "function":
183
- end--; // Might end with "\n" (test with just `@return` with no comment or type)
184
- // For some reason, for "@name", "end" is before the start of the comment part of the tag.
185
- // Also for "param" if the name is optional as in `@param {number} [x]`
186
- while (!ts.isLineBreak(text.charCodeAt(end))) {
187
- end++;
188
- }
189
- end++;
190
- }
191
- while (ts.isWhiteSpaceSingleLine(text.charCodeAt(end))) {
192
- end++;
193
- }
194
- if (text[end] !== "*") {
195
- return undefined;
196
- }
197
-
198
- return Lint.Replacement.deleteFromTo(start, end);
199
- }
200
-
201
- function removeTypeExpression(
202
- typeExpression: ts.JSDocTypeExpression,
203
- sourceFile: ts.SourceFile
204
- ): Lint.Replacement | undefined {
205
- const start = typeExpression.getStart(sourceFile);
206
- let end = typeExpression.getEnd();
207
- const { text } = sourceFile;
208
- if (text[start] !== "{" || text[end - 1] !== "}") {
209
- // TypeScript parser messed up -- give up
210
- return undefined;
211
- }
212
- if (ts.isWhiteSpaceSingleLine(text.charCodeAt(end))) {
213
- end++;
214
- }
215
- return Lint.Replacement.deleteFromTo(start, end);
216
- }
217
-
218
- // TODO: improve once https://github.com/Microsoft/TypeScript/pull/17831 is in
219
- function isInAmbientContext(node: ts.Node): boolean {
220
- return ts.isSourceFile(node)
221
- ? node.isDeclarationFile
222
- : (ts.canHaveModifiers(node) && ts.getModifiers(node)?.some((m) => m.kind === ts.SyntaxKind.DeclareKeyword)) ||
223
- isInAmbientContext(node.parent!);
224
- }
225
-
226
- const redundantTags = new Set([
227
- "abstract",
228
- "access",
229
- "class",
230
- "constant",
231
- "constructs",
232
- "default",
233
- "enum",
234
- "export",
235
- "exports",
236
- "function",
237
- "global",
238
- "inherits",
239
- "interface",
240
- "instance",
241
- "member",
242
- "method",
243
- "memberof",
244
- "memberOf",
245
- "mixes",
246
- "mixin",
247
- "module",
248
- "name",
249
- "namespace",
250
- "override",
251
- "property",
252
- "requires",
253
- "static",
254
- "this",
255
- ]);
@@ -1,24 +0,0 @@
1
- /** @deprecated */
2
- export const x: number;
3
- /** @see x */
4
- export const y: number;
5
- /** @author <Bjorn> look, nobody can remember the format for this thing */
6
- export const z: number;
7
- /** @private */
8
- ~~~~~~~ [JSDoc tag '@private' is redundant in TypeScript code.]
9
- export const soHidden: number;
10
- /** @protected */
11
- ~~~~~~~~~ [JSDoc tag '@protected' is redundant in TypeScript code.]
12
- export const muchSecurity: number;
13
- /** @readonly */
14
- ~~~~~~~~ [JSDoc tag '@readonly' is redundant in TypeScript code.]
15
- export const wow: number;
16
- /** @implements {Glorfindel}
17
- ~~~~~~~~~~ [JSDoc tag '@implements' is redundant in TypeScript code.]
18
- * narrator: it doesn't.
19
- */
20
- class Yubatyu {
21
- }
22
-
23
-
24
-
@@ -1,6 +0,0 @@
1
- {
2
- "rulesDirectory": ["../../dist/rules"],
3
- "rules": {
4
- "no-redundant-jsdoc2": true
5
- }
6
- }