immosquare-cleaner 0.1.32 → 0.1.33

Sign up to get free protection for your applications and to get access to all the features.
Files changed (376) hide show
  1. checksums.yaml +4 -4
  2. data/lib/immosquare-cleaner/version.rb +1 -1
  3. data/node_modules/@eslint/eslintrc/README.md +15 -4
  4. data/node_modules/@eslint/eslintrc/dist/eslintrc-universal.cjs +57 -18
  5. data/node_modules/@eslint/eslintrc/dist/eslintrc-universal.cjs.map +1 -1
  6. data/node_modules/@eslint/eslintrc/dist/eslintrc.cjs +60 -34
  7. data/node_modules/@eslint/eslintrc/dist/eslintrc.cjs.map +1 -1
  8. data/node_modules/@eslint/eslintrc/lib/config-array/config-array.js +3 -16
  9. data/node_modules/@eslint/eslintrc/lib/shared/config-validator.js +63 -18
  10. data/node_modules/@eslint/eslintrc/package.json +4 -4
  11. data/node_modules/@eslint/js/package.json +2 -2
  12. data/node_modules/@eslint/js/src/configs/eslint-all.js +9 -1
  13. data/node_modules/@eslint/js/src/configs/eslint-recommended.js +12 -5
  14. data/node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys/LICENSE +201 -0
  15. data/node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys/README.md +105 -0
  16. data/node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys/dist/eslint-visitor-keys.cjs +384 -0
  17. data/node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys/dist/eslint-visitor-keys.d.cts +27 -0
  18. data/node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys/dist/index.d.ts +16 -0
  19. data/node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys/dist/visitor-keys.d.ts +12 -0
  20. data/node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys/lib/index.js +65 -0
  21. data/node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys/lib/visitor-keys.js +315 -0
  22. data/node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys/package.json +74 -0
  23. data/node_modules/@humanwhocodes/config-array/api.js +114 -16
  24. data/node_modules/@humanwhocodes/config-array/package.json +5 -3
  25. data/node_modules/@humanwhocodes/object-schema/CHANGELOG.md +7 -0
  26. data/node_modules/@humanwhocodes/object-schema/package.json +6 -1
  27. data/node_modules/@humanwhocodes/retry/LICENSE +201 -0
  28. data/node_modules/@humanwhocodes/retry/README.md +122 -0
  29. data/node_modules/@humanwhocodes/retry/dist/retrier.cjs +267 -0
  30. data/node_modules/@humanwhocodes/retry/dist/retrier.d.ts +24 -0
  31. data/node_modules/@humanwhocodes/retry/dist/retrier.js +265 -0
  32. data/node_modules/@humanwhocodes/retry/dist/retrier.min.js +1 -0
  33. data/node_modules/@humanwhocodes/retry/dist/retrier.mjs +265 -0
  34. data/node_modules/@humanwhocodes/retry/package.json +74 -0
  35. data/node_modules/@types/semver-utils/LICENSE +21 -0
  36. data/node_modules/@types/semver-utils/README.md +34 -0
  37. data/node_modules/@types/semver-utils/index.d.ts +15 -0
  38. data/node_modules/@types/semver-utils/package.json +25 -0
  39. data/node_modules/acorn/CHANGELOG.md +36 -0
  40. data/node_modules/acorn/README.md +8 -3
  41. data/node_modules/acorn/dist/acorn.d.mts +857 -26
  42. data/node_modules/acorn/dist/acorn.d.ts +833 -268
  43. data/node_modules/acorn/dist/acorn.js +33 -21
  44. data/node_modules/acorn/dist/acorn.mjs +33 -21
  45. data/node_modules/acorn/package.json +1 -1
  46. data/node_modules/cacheable-request/node_modules/keyv/README.md +429 -0
  47. data/node_modules/cacheable-request/node_modules/keyv/package.json +57 -0
  48. data/node_modules/cacheable-request/node_modules/keyv/src/index.d.ts +112 -0
  49. data/node_modules/cacheable-request/node_modules/keyv/src/index.js +264 -0
  50. data/node_modules/doctrine/CHANGELOG.md +0 -7
  51. data/node_modules/doctrine/lib/doctrine.js +1 -0
  52. data/node_modules/doctrine/package.json +8 -9
  53. data/node_modules/eslint/README.md +31 -28
  54. data/node_modules/eslint/bin/eslint.js +4 -3
  55. data/node_modules/eslint/conf/ecma-version.js +16 -0
  56. data/node_modules/eslint/conf/globals.js +1 -0
  57. data/node_modules/eslint/conf/rule-type-list.json +3 -1
  58. data/node_modules/eslint/lib/api.js +7 -11
  59. data/node_modules/eslint/lib/cli-engine/cli-engine.js +14 -3
  60. data/node_modules/eslint/lib/cli-engine/formatters/formatters-meta.json +1 -29
  61. data/node_modules/eslint/lib/cli-engine/lint-result-cache.js +2 -2
  62. data/node_modules/eslint/lib/cli.js +115 -36
  63. data/node_modules/eslint/lib/config/default-config.js +3 -0
  64. data/node_modules/eslint/lib/config/flat-config-array.js +110 -24
  65. data/node_modules/eslint/lib/config/flat-config-helpers.js +41 -20
  66. data/node_modules/eslint/lib/config/flat-config-schema.js +1 -7
  67. data/node_modules/eslint/lib/config/rule-validator.js +42 -6
  68. data/node_modules/eslint/lib/eslint/eslint-helpers.js +116 -58
  69. data/node_modules/eslint/lib/eslint/eslint.js +892 -377
  70. data/node_modules/eslint/lib/eslint/index.js +2 -2
  71. data/node_modules/eslint/lib/eslint/legacy-eslint.js +728 -0
  72. data/node_modules/eslint/lib/linter/apply-disable-directives.js +59 -31
  73. data/node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js +0 -1
  74. data/node_modules/eslint/lib/linter/code-path-analysis/code-path.js +32 -30
  75. data/node_modules/eslint/lib/linter/code-path-analysis/fork-context.js +1 -1
  76. data/node_modules/eslint/lib/linter/config-comment-parser.js +8 -11
  77. data/node_modules/eslint/lib/linter/index.js +1 -3
  78. data/node_modules/eslint/lib/linter/interpolate.js +24 -2
  79. data/node_modules/eslint/lib/linter/linter.js +428 -207
  80. data/node_modules/eslint/lib/linter/report-translator.js +3 -3
  81. data/node_modules/eslint/lib/linter/rules.js +6 -15
  82. data/node_modules/eslint/lib/linter/source-code-fixer.js +1 -1
  83. data/node_modules/eslint/lib/linter/timing.js +16 -8
  84. data/node_modules/eslint/lib/options.js +35 -3
  85. data/node_modules/eslint/lib/rule-tester/index.js +3 -1
  86. data/node_modules/eslint/lib/rule-tester/rule-tester.js +424 -347
  87. data/node_modules/eslint/lib/rules/array-bracket-newline.js +1 -1
  88. data/node_modules/eslint/lib/rules/array-bracket-spacing.js +1 -1
  89. data/node_modules/eslint/lib/rules/block-scoped-var.js +1 -1
  90. data/node_modules/eslint/lib/rules/callback-return.js +2 -2
  91. data/node_modules/eslint/lib/rules/camelcase.js +3 -5
  92. data/node_modules/eslint/lib/rules/capitalized-comments.js +10 -7
  93. data/node_modules/eslint/lib/rules/comma-dangle.js +1 -1
  94. data/node_modules/eslint/lib/rules/comma-style.js +2 -2
  95. data/node_modules/eslint/lib/rules/complexity.js +14 -1
  96. data/node_modules/eslint/lib/rules/constructor-super.js +99 -100
  97. data/node_modules/eslint/lib/rules/default-case.js +1 -1
  98. data/node_modules/eslint/lib/rules/eol-last.js +2 -2
  99. data/node_modules/eslint/lib/rules/function-paren-newline.js +2 -2
  100. data/node_modules/eslint/lib/rules/indent-legacy.js +5 -5
  101. data/node_modules/eslint/lib/rules/indent.js +5 -5
  102. data/node_modules/eslint/lib/rules/index.js +1 -2
  103. data/node_modules/eslint/lib/rules/key-spacing.js +2 -2
  104. data/node_modules/eslint/lib/rules/line-comment-position.js +1 -1
  105. data/node_modules/eslint/lib/rules/lines-around-directive.js +2 -2
  106. data/node_modules/eslint/lib/rules/max-depth.js +1 -1
  107. data/node_modules/eslint/lib/rules/max-len.js +3 -3
  108. data/node_modules/eslint/lib/rules/max-lines.js +3 -3
  109. data/node_modules/eslint/lib/rules/max-nested-callbacks.js +1 -1
  110. data/node_modules/eslint/lib/rules/max-params.js +1 -1
  111. data/node_modules/eslint/lib/rules/max-statements.js +1 -1
  112. data/node_modules/eslint/lib/rules/multiline-comment-style.js +7 -7
  113. data/node_modules/eslint/lib/rules/new-cap.js +1 -1
  114. data/node_modules/eslint/lib/rules/newline-after-var.js +1 -1
  115. data/node_modules/eslint/lib/rules/newline-before-return.js +1 -1
  116. data/node_modules/eslint/lib/rules/no-case-declarations.js +13 -1
  117. data/node_modules/eslint/lib/rules/no-constant-binary-expression.js +7 -8
  118. data/node_modules/eslint/lib/rules/no-constant-condition.js +18 -7
  119. data/node_modules/eslint/lib/rules/no-constructor-return.js +2 -2
  120. data/node_modules/eslint/lib/rules/no-dupe-class-members.js +2 -2
  121. data/node_modules/eslint/lib/rules/no-else-return.js +1 -1
  122. data/node_modules/eslint/lib/rules/no-empty-function.js +2 -2
  123. data/node_modules/eslint/lib/rules/no-empty-static-block.js +1 -1
  124. data/node_modules/eslint/lib/rules/no-extend-native.js +1 -2
  125. data/node_modules/eslint/lib/rules/no-extra-semi.js +1 -1
  126. data/node_modules/eslint/lib/rules/no-fallthrough.js +41 -16
  127. data/node_modules/eslint/lib/rules/no-implicit-coercion.js +66 -24
  128. data/node_modules/eslint/lib/rules/no-inner-declarations.js +23 -2
  129. data/node_modules/eslint/lib/rules/no-invalid-regexp.js +1 -1
  130. data/node_modules/eslint/lib/rules/no-invalid-this.js +1 -1
  131. data/node_modules/eslint/lib/rules/no-lone-blocks.js +3 -3
  132. data/node_modules/eslint/lib/rules/no-loss-of-precision.js +1 -1
  133. data/node_modules/eslint/lib/rules/no-misleading-character-class.js +225 -69
  134. data/node_modules/eslint/lib/rules/no-mixed-spaces-and-tabs.js +1 -1
  135. data/node_modules/eslint/lib/rules/no-multiple-empty-lines.js +1 -1
  136. data/node_modules/eslint/lib/rules/no-new-native-nonconstructor.js +1 -1
  137. data/node_modules/eslint/lib/rules/no-new-symbol.js +8 -1
  138. data/node_modules/eslint/lib/rules/no-restricted-globals.js +1 -1
  139. data/node_modules/eslint/lib/rules/no-restricted-imports.js +186 -40
  140. data/node_modules/eslint/lib/rules/no-restricted-modules.js +2 -2
  141. data/node_modules/eslint/lib/rules/no-return-await.js +1 -1
  142. data/node_modules/eslint/lib/rules/no-sequences.js +1 -0
  143. data/node_modules/eslint/lib/rules/no-this-before-super.js +45 -13
  144. data/node_modules/eslint/lib/rules/no-trailing-spaces.js +2 -3
  145. data/node_modules/eslint/lib/rules/no-unneeded-ternary.js +1 -1
  146. data/node_modules/eslint/lib/rules/no-unsafe-optional-chaining.js +1 -1
  147. data/node_modules/eslint/lib/rules/no-unused-private-class-members.js +1 -1
  148. data/node_modules/eslint/lib/rules/no-unused-vars.js +197 -36
  149. data/node_modules/eslint/lib/rules/no-useless-assignment.js +566 -0
  150. data/node_modules/eslint/lib/rules/no-useless-backreference.js +1 -1
  151. data/node_modules/eslint/lib/rules/no-useless-computed-key.js +2 -2
  152. data/node_modules/eslint/lib/rules/no-useless-return.js +7 -2
  153. data/node_modules/eslint/lib/rules/object-curly-spacing.js +3 -3
  154. data/node_modules/eslint/lib/rules/object-property-newline.js +1 -1
  155. data/node_modules/eslint/lib/rules/one-var.js +5 -5
  156. data/node_modules/eslint/lib/rules/padded-blocks.js +7 -7
  157. data/node_modules/eslint/lib/rules/prefer-arrow-callback.js +3 -3
  158. data/node_modules/eslint/lib/rules/prefer-reflect.js +1 -1
  159. data/node_modules/eslint/lib/rules/prefer-regex-literals.js +1 -1
  160. data/node_modules/eslint/lib/rules/prefer-template.js +1 -1
  161. data/node_modules/eslint/lib/rules/radix.js +2 -2
  162. data/node_modules/eslint/lib/rules/semi-style.js +1 -1
  163. data/node_modules/eslint/lib/rules/sort-imports.js +1 -1
  164. data/node_modules/eslint/lib/rules/sort-keys.js +1 -1
  165. data/node_modules/eslint/lib/rules/sort-vars.js +1 -1
  166. data/node_modules/eslint/lib/rules/space-unary-ops.js +1 -1
  167. data/node_modules/eslint/lib/rules/strict.js +1 -1
  168. data/node_modules/eslint/lib/rules/use-isnan.js +101 -7
  169. data/node_modules/eslint/lib/rules/utils/ast-utils.js +16 -7
  170. data/node_modules/eslint/lib/rules/utils/char-source.js +240 -0
  171. data/node_modules/eslint/lib/rules/utils/lazy-loading-rule-map.js +1 -1
  172. data/node_modules/eslint/lib/rules/utils/unicode/index.js +9 -4
  173. data/node_modules/eslint/lib/rules/yield-star-spacing.js +1 -1
  174. data/node_modules/eslint/lib/shared/runtime-info.js +1 -0
  175. data/node_modules/eslint/lib/shared/serialization.js +55 -0
  176. data/node_modules/eslint/lib/shared/stats.js +30 -0
  177. data/node_modules/eslint/lib/shared/string-utils.js +9 -11
  178. data/node_modules/eslint/lib/shared/types.js +35 -1
  179. data/node_modules/eslint/lib/source-code/index.js +3 -1
  180. data/node_modules/eslint/lib/source-code/source-code.js +299 -85
  181. data/node_modules/eslint/lib/source-code/token-store/backward-token-cursor.js +3 -3
  182. data/node_modules/eslint/lib/source-code/token-store/cursors.js +4 -2
  183. data/node_modules/eslint/lib/source-code/token-store/forward-token-comment-cursor.js +3 -3
  184. data/node_modules/eslint/lib/source-code/token-store/forward-token-cursor.js +3 -3
  185. data/node_modules/eslint/lib/source-code/token-store/index.js +2 -2
  186. data/node_modules/eslint/lib/unsupported-api.js +3 -5
  187. data/node_modules/eslint/messages/no-config-found.js +1 -1
  188. data/node_modules/eslint/messages/plugin-conflict.js +1 -1
  189. data/node_modules/eslint/messages/plugin-invalid.js +1 -1
  190. data/node_modules/eslint/messages/plugin-missing.js +1 -1
  191. data/node_modules/eslint/package.json +32 -29
  192. data/node_modules/eslint-scope/README.md +23 -2
  193. data/node_modules/eslint-scope/dist/eslint-scope.cjs +84 -58
  194. data/node_modules/eslint-scope/lib/index.js +0 -3
  195. data/node_modules/eslint-scope/lib/pattern-visitor.js +4 -3
  196. data/node_modules/eslint-scope/lib/referencer.js +13 -11
  197. data/node_modules/eslint-scope/lib/scope-manager.js +2 -8
  198. data/node_modules/eslint-scope/lib/scope.js +64 -43
  199. data/node_modules/eslint-scope/lib/version.js +1 -1
  200. data/node_modules/eslint-scope/package.json +21 -19
  201. data/node_modules/eslint-visitor-keys/README.md +1 -1
  202. data/node_modules/eslint-visitor-keys/package.json +2 -2
  203. data/node_modules/espree/README.md +1 -1
  204. data/node_modules/espree/dist/espree.cjs +1 -1
  205. data/node_modules/espree/lib/version.js +1 -1
  206. data/node_modules/espree/package.json +18 -20
  207. data/node_modules/file-entry-cache/LICENSE +1 -1
  208. data/node_modules/file-entry-cache/README.md +6 -3
  209. data/node_modules/file-entry-cache/package.json +19 -43
  210. data/node_modules/flat-cache/README.md +8 -6
  211. data/node_modules/flat-cache/changelog.md +155 -205
  212. data/node_modules/flat-cache/package.json +16 -39
  213. data/node_modules/flat-cache/src/cache.js +22 -26
  214. data/node_modules/flat-cache/src/del.js +28 -11
  215. data/node_modules/flat-cache/src/utils.js +39 -41
  216. data/node_modules/globals/globals.json +25 -0
  217. data/node_modules/globals/index.d.ts +2074 -3
  218. data/node_modules/globals/package.json +10 -7
  219. data/node_modules/globals/readme.md +2 -14
  220. data/node_modules/keyv/package.json +4 -4
  221. data/node_modules/keyv/src/index.js +6 -11
  222. data/node_modules/npm-check-updates/build/cli.js +22 -21
  223. data/node_modules/npm-check-updates/build/cli.js.map +1 -1
  224. data/node_modules/npm-check-updates/build/index-5sFb3Tvv.js +66 -0
  225. data/node_modules/npm-check-updates/build/index-5sFb3Tvv.js.map +1 -0
  226. data/node_modules/npm-check-updates/build/index-BmUFwMVL.js +6 -0
  227. data/node_modules/npm-check-updates/build/index-BmUFwMVL.js.map +1 -0
  228. data/node_modules/npm-check-updates/build/index.d.ts +5 -2
  229. data/node_modules/npm-check-updates/build/index.js +560 -1
  230. data/node_modules/npm-check-updates/build/index.js.map +1 -1
  231. data/node_modules/npm-check-updates/build/package.json +4 -3
  232. data/node_modules/npm-check-updates/build/src/index.js +1 -1
  233. data/node_modules/npm-check-updates/build/src/index.js.map +1 -1
  234. data/node_modules/npm-check-updates/build/src/lib/libnpmconfig/index.js +2 -2
  235. data/node_modules/npm-check-updates/build/src/lib/libnpmconfig/index.js.map +1 -1
  236. data/node_modules/npm-check-updates/build/src/package-managers/bun.js +0 -6
  237. data/node_modules/npm-check-updates/build/src/package-managers/bun.js.map +1 -1
  238. data/node_modules/npm-check-updates/package.json +4 -3
  239. data/node_modules/type-fest/index.d.ts +95 -2
  240. data/node_modules/type-fest/package.json +12 -18
  241. data/node_modules/type-fest/readme.md +299 -52
  242. data/node_modules/type-fest/source/async-return-type.d.ts +4 -2
  243. data/node_modules/type-fest/source/asyncify.d.ts +5 -3
  244. data/node_modules/type-fest/source/basic.d.ts +21 -43
  245. data/node_modules/type-fest/{ts41 → source}/camel-case.d.ts +18 -17
  246. data/node_modules/type-fest/source/camel-cased-properties-deep.d.ts +54 -0
  247. data/node_modules/type-fest/source/camel-cased-properties.d.ts +36 -0
  248. data/node_modules/type-fest/source/conditional-except.d.ts +6 -4
  249. data/node_modules/type-fest/source/conditional-keys.d.ts +5 -1
  250. data/node_modules/type-fest/source/conditional-pick.d.ts +5 -3
  251. data/node_modules/type-fest/{ts41 → source}/delimiter-case.d.ts +16 -8
  252. data/node_modules/type-fest/source/delimiter-cased-properties-deep.d.ts +60 -0
  253. data/node_modules/type-fest/source/delimiter-cased-properties.d.ts +37 -0
  254. data/node_modules/type-fest/source/entries.d.ts +8 -3
  255. data/node_modules/type-fest/source/entry.d.ts +8 -3
  256. data/node_modules/type-fest/source/exact.d.ts +73 -0
  257. data/node_modules/type-fest/source/except.d.ts +38 -3
  258. data/node_modules/type-fest/source/fixed-length-array.d.ts +6 -1
  259. data/node_modules/type-fest/source/get.d.ts +184 -0
  260. data/node_modules/type-fest/source/has-optional-keys.d.ts +21 -0
  261. data/node_modules/type-fest/source/has-required-keys.d.ts +59 -0
  262. data/node_modules/type-fest/source/includes.d.ts +22 -0
  263. data/node_modules/type-fest/source/internal.d.ts +59 -0
  264. data/node_modules/type-fest/source/invariant-of.d.ts +76 -0
  265. data/node_modules/type-fest/source/iterable-element.d.ts +8 -0
  266. data/node_modules/type-fest/source/join.d.ts +30 -0
  267. data/node_modules/type-fest/source/jsonify.d.ts +90 -0
  268. data/node_modules/type-fest/{ts41 → source}/kebab-case.d.ts +7 -5
  269. data/node_modules/type-fest/source/kebab-cased-properties-deep.d.ts +47 -0
  270. data/node_modules/type-fest/source/kebab-cased-properties.d.ts +30 -0
  271. data/node_modules/type-fest/source/last-array-element.d.ts +28 -0
  272. data/node_modules/type-fest/source/literal-to-primitive.d.ts +36 -0
  273. data/node_modules/type-fest/source/literal-union.d.ts +7 -5
  274. data/node_modules/type-fest/source/merge-exclusive.d.ts +3 -1
  275. data/node_modules/type-fest/source/merge.d.ts +8 -3
  276. data/node_modules/type-fest/source/multidimensional-array.d.ts +43 -0
  277. data/node_modules/type-fest/source/multidimensional-readonly-array.d.ts +47 -0
  278. data/node_modules/type-fest/source/mutable.d.ts +4 -21
  279. data/node_modules/type-fest/source/numeric.d.ts +170 -0
  280. data/node_modules/type-fest/source/observable-like.d.ts +62 -0
  281. data/node_modules/type-fest/source/opaque.d.ts +45 -3
  282. data/node_modules/type-fest/source/optional-keys-of.d.ts +38 -0
  283. data/node_modules/type-fest/source/package-json.d.ts +64 -12
  284. data/node_modules/type-fest/source/partial-deep.d.ts +57 -16
  285. data/node_modules/type-fest/source/partial-on-undefined-deep.d.ts +70 -0
  286. data/node_modules/type-fest/{ts41 → source}/pascal-case.d.ts +6 -4
  287. data/node_modules/type-fest/source/pascal-cased-properties-deep.d.ts +54 -0
  288. data/node_modules/type-fest/source/pascal-cased-properties.d.ts +34 -0
  289. data/node_modules/type-fest/source/primitive.d.ts +13 -0
  290. data/node_modules/type-fest/source/promisable.d.ts +5 -3
  291. data/node_modules/type-fest/source/promise-value.d.ts +9 -7
  292. data/node_modules/type-fest/source/readonly-deep.d.ts +33 -7
  293. data/node_modules/type-fest/source/readonly-tuple.d.ts +41 -0
  294. data/node_modules/type-fest/source/remove-index-signature.d.ts +104 -0
  295. data/node_modules/type-fest/source/replace.d.ts +67 -0
  296. data/node_modules/type-fest/source/require-all-or-none.d.ts +36 -0
  297. data/node_modules/type-fest/source/require-at-least-one.d.ts +5 -3
  298. data/node_modules/type-fest/source/require-exactly-one.d.ts +4 -5
  299. data/node_modules/type-fest/source/required-keys-of.d.ts +29 -0
  300. data/node_modules/type-fest/source/schema.d.ts +72 -0
  301. data/node_modules/type-fest/source/screaming-snake-case.d.ts +33 -0
  302. data/node_modules/type-fest/source/set-non-nullable.d.ts +35 -0
  303. data/node_modules/type-fest/source/set-optional.d.ts +12 -11
  304. data/node_modules/type-fest/source/set-required.d.ts +12 -11
  305. data/node_modules/type-fest/source/set-return-type.d.ts +3 -1
  306. data/node_modules/type-fest/source/simplify.d.ts +83 -0
  307. data/node_modules/type-fest/{ts41 → source}/snake-case.d.ts +7 -4
  308. data/node_modules/type-fest/source/snake-cased-properties-deep.d.ts +47 -0
  309. data/node_modules/type-fest/source/snake-cased-properties.d.ts +30 -0
  310. data/node_modules/type-fest/source/split.d.ts +29 -0
  311. data/node_modules/type-fest/source/spread.d.ts +85 -0
  312. data/node_modules/type-fest/source/string-key-of.d.ts +25 -0
  313. data/node_modules/type-fest/source/stringified.d.ts +3 -1
  314. data/node_modules/type-fest/source/trim.d.ts +25 -0
  315. data/node_modules/type-fest/source/tsconfig-json.d.ts +316 -14
  316. data/node_modules/type-fest/source/typed-array.d.ts +17 -0
  317. data/node_modules/type-fest/source/union-to-intersection.d.ts +4 -2
  318. data/node_modules/type-fest/source/value-of.d.ts +3 -1
  319. data/node_modules/type-fest/source/writable.d.ts +40 -0
  320. data/package.json +2 -2
  321. metadata +86 -63
  322. data/linters/rubocop-2.7.6.yml +0 -86
  323. data/node_modules/@humanwhocodes/object-schema/tests/merge-strategy.js +0 -66
  324. data/node_modules/@humanwhocodes/object-schema/tests/object-schema.js +0 -659
  325. data/node_modules/@humanwhocodes/object-schema/tests/validation-strategy.js +0 -186
  326. data/node_modules/eslint/conf/config-schema.js +0 -93
  327. data/node_modules/eslint/lib/cli-engine/formatters/checkstyle.js +0 -60
  328. data/node_modules/eslint/lib/cli-engine/formatters/compact.js +0 -60
  329. data/node_modules/eslint/lib/cli-engine/formatters/jslint-xml.js +0 -41
  330. data/node_modules/eslint/lib/cli-engine/formatters/junit.js +0 -82
  331. data/node_modules/eslint/lib/cli-engine/formatters/tap.js +0 -95
  332. data/node_modules/eslint/lib/cli-engine/formatters/unix.js +0 -58
  333. data/node_modules/eslint/lib/cli-engine/formatters/visualstudio.js +0 -63
  334. data/node_modules/eslint/lib/cli-engine/xml-escape.js +0 -34
  335. data/node_modules/eslint/lib/eslint/flat-eslint.js +0 -1155
  336. data/node_modules/eslint/lib/rule-tester/flat-rule-tester.js +0 -1131
  337. data/node_modules/eslint/lib/rules/require-jsdoc.js +0 -122
  338. data/node_modules/eslint/lib/rules/utils/patterns/letters.js +0 -36
  339. data/node_modules/eslint/lib/rules/valid-jsdoc.js +0 -516
  340. data/node_modules/eslint/lib/shared/config-validator.js +0 -347
  341. data/node_modules/eslint/lib/shared/deprecation-warnings.js +0 -58
  342. data/node_modules/eslint/lib/shared/relative-module-resolver.js +0 -50
  343. data/node_modules/file-entry-cache/changelog.md +0 -163
  344. data/node_modules/flat-cache/node_modules/rimraf/CHANGELOG.md +0 -65
  345. data/node_modules/flat-cache/node_modules/rimraf/LICENSE +0 -15
  346. data/node_modules/flat-cache/node_modules/rimraf/README.md +0 -101
  347. data/node_modules/flat-cache/node_modules/rimraf/bin.js +0 -68
  348. data/node_modules/flat-cache/node_modules/rimraf/node_modules/glob/LICENSE +0 -21
  349. data/node_modules/flat-cache/node_modules/rimraf/node_modules/glob/README.md +0 -378
  350. data/node_modules/flat-cache/node_modules/rimraf/node_modules/glob/common.js +0 -238
  351. data/node_modules/flat-cache/node_modules/rimraf/node_modules/glob/glob.js +0 -790
  352. data/node_modules/flat-cache/node_modules/rimraf/node_modules/glob/node_modules/minimatch/LICENSE +0 -15
  353. data/node_modules/flat-cache/node_modules/rimraf/node_modules/glob/node_modules/minimatch/README.md +0 -230
  354. data/node_modules/flat-cache/node_modules/rimraf/node_modules/glob/node_modules/minimatch/minimatch.js +0 -947
  355. data/node_modules/flat-cache/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/LICENSE +0 -21
  356. data/node_modules/flat-cache/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/README.md +0 -129
  357. data/node_modules/flat-cache/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js +0 -201
  358. data/node_modules/flat-cache/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json +0 -47
  359. data/node_modules/flat-cache/node_modules/rimraf/node_modules/glob/node_modules/minimatch/package.json +0 -33
  360. data/node_modules/flat-cache/node_modules/rimraf/node_modules/glob/package.json +0 -55
  361. data/node_modules/flat-cache/node_modules/rimraf/node_modules/glob/sync.js +0 -486
  362. data/node_modules/flat-cache/node_modules/rimraf/package.json +0 -32
  363. data/node_modules/flat-cache/node_modules/rimraf/rimraf.js +0 -360
  364. data/node_modules/npm-check-updates/build/index-CI_x-D21.js +0 -593
  365. data/node_modules/npm-check-updates/build/index-CI_x-D21.js.map +0 -1
  366. data/node_modules/npm-check-updates/build/index-Ci8A2QXv.js +0 -6
  367. data/node_modules/npm-check-updates/build/index-Ci8A2QXv.js.map +0 -1
  368. data/node_modules/npm-check-updates/build/index-DgVn3Gax.js +0 -36
  369. data/node_modules/npm-check-updates/build/index-DgVn3Gax.js.map +0 -1
  370. data/node_modules/npm-check-updates/build/src/types/SpawnPleaseOptions.d.ts +0 -6
  371. data/node_modules/npm-check-updates/build/src/types/SpawnPleaseOptions.js +0 -3
  372. data/node_modules/npm-check-updates/build/src/types/SpawnPleaseOptions.js.map +0 -1
  373. data/node_modules/type-fest/base.d.ts +0 -38
  374. data/node_modules/type-fest/license +0 -9
  375. data/node_modules/type-fest/source/utilities.d.ts +0 -3
  376. data/node_modules/type-fest/ts41/index.d.ts +0 -9
@@ -1,947 +0,0 @@
1
- module.exports = minimatch
2
- minimatch.Minimatch = Minimatch
3
-
4
- var path = (function () { try { return require('path') } catch (e) {}}()) || {
5
- sep: '/'
6
- }
7
- minimatch.sep = path.sep
8
-
9
- var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}
10
- var expand = require('brace-expansion')
11
-
12
- var plTypes = {
13
- '!': { open: '(?:(?!(?:', close: '))[^/]*?)'},
14
- '?': { open: '(?:', close: ')?' },
15
- '+': { open: '(?:', close: ')+' },
16
- '*': { open: '(?:', close: ')*' },
17
- '@': { open: '(?:', close: ')' }
18
- }
19
-
20
- // any single thing other than /
21
- // don't need to escape / when using new RegExp()
22
- var qmark = '[^/]'
23
-
24
- // * => any number of characters
25
- var star = qmark + '*?'
26
-
27
- // ** when dots are allowed. Anything goes, except .. and .
28
- // not (^ or / followed by one or two dots followed by $ or /),
29
- // followed by anything, any number of times.
30
- var twoStarDot = '(?:(?!(?:\\\/|^)(?:\\.{1,2})($|\\\/)).)*?'
31
-
32
- // not a ^ or / followed by a dot,
33
- // followed by anything, any number of times.
34
- var twoStarNoDot = '(?:(?!(?:\\\/|^)\\.).)*?'
35
-
36
- // characters that need to be escaped in RegExp.
37
- var reSpecials = charSet('().*{}+?[]^$\\!')
38
-
39
- // "abc" -> { a:true, b:true, c:true }
40
- function charSet (s) {
41
- return s.split('').reduce(function (set, c) {
42
- set[c] = true
43
- return set
44
- }, {})
45
- }
46
-
47
- // normalizes slashes.
48
- var slashSplit = /\/+/
49
-
50
- minimatch.filter = filter
51
- function filter (pattern, options) {
52
- options = options || {}
53
- return function (p, i, list) {
54
- return minimatch(p, pattern, options)
55
- }
56
- }
57
-
58
- function ext (a, b) {
59
- b = b || {}
60
- var t = {}
61
- Object.keys(a).forEach(function (k) {
62
- t[k] = a[k]
63
- })
64
- Object.keys(b).forEach(function (k) {
65
- t[k] = b[k]
66
- })
67
- return t
68
- }
69
-
70
- minimatch.defaults = function (def) {
71
- if (!def || typeof def !== 'object' || !Object.keys(def).length) {
72
- return minimatch
73
- }
74
-
75
- var orig = minimatch
76
-
77
- var m = function minimatch (p, pattern, options) {
78
- return orig(p, pattern, ext(def, options))
79
- }
80
-
81
- m.Minimatch = function Minimatch (pattern, options) {
82
- return new orig.Minimatch(pattern, ext(def, options))
83
- }
84
- m.Minimatch.defaults = function defaults (options) {
85
- return orig.defaults(ext(def, options)).Minimatch
86
- }
87
-
88
- m.filter = function filter (pattern, options) {
89
- return orig.filter(pattern, ext(def, options))
90
- }
91
-
92
- m.defaults = function defaults (options) {
93
- return orig.defaults(ext(def, options))
94
- }
95
-
96
- m.makeRe = function makeRe (pattern, options) {
97
- return orig.makeRe(pattern, ext(def, options))
98
- }
99
-
100
- m.braceExpand = function braceExpand (pattern, options) {
101
- return orig.braceExpand(pattern, ext(def, options))
102
- }
103
-
104
- m.match = function (list, pattern, options) {
105
- return orig.match(list, pattern, ext(def, options))
106
- }
107
-
108
- return m
109
- }
110
-
111
- Minimatch.defaults = function (def) {
112
- return minimatch.defaults(def).Minimatch
113
- }
114
-
115
- function minimatch (p, pattern, options) {
116
- assertValidPattern(pattern)
117
-
118
- if (!options) options = {}
119
-
120
- // shortcut: comments match nothing.
121
- if (!options.nocomment && pattern.charAt(0) === '#') {
122
- return false
123
- }
124
-
125
- return new Minimatch(pattern, options).match(p)
126
- }
127
-
128
- function Minimatch (pattern, options) {
129
- if (!(this instanceof Minimatch)) {
130
- return new Minimatch(pattern, options)
131
- }
132
-
133
- assertValidPattern(pattern)
134
-
135
- if (!options) options = {}
136
-
137
- pattern = pattern.trim()
138
-
139
- // windows support: need to use /, not \
140
- if (!options.allowWindowsEscape && path.sep !== '/') {
141
- pattern = pattern.split(path.sep).join('/')
142
- }
143
-
144
- this.options = options
145
- this.set = []
146
- this.pattern = pattern
147
- this.regexp = null
148
- this.negate = false
149
- this.comment = false
150
- this.empty = false
151
- this.partial = !!options.partial
152
-
153
- // make the set of regexps etc.
154
- this.make()
155
- }
156
-
157
- Minimatch.prototype.debug = function () {}
158
-
159
- Minimatch.prototype.make = make
160
- function make () {
161
- var pattern = this.pattern
162
- var options = this.options
163
-
164
- // empty patterns and comments match nothing.
165
- if (!options.nocomment && pattern.charAt(0) === '#') {
166
- this.comment = true
167
- return
168
- }
169
- if (!pattern) {
170
- this.empty = true
171
- return
172
- }
173
-
174
- // step 1: figure out negation, etc.
175
- this.parseNegate()
176
-
177
- // step 2: expand braces
178
- var set = this.globSet = this.braceExpand()
179
-
180
- if (options.debug) this.debug = function debug() { console.error.apply(console, arguments) }
181
-
182
- this.debug(this.pattern, set)
183
-
184
- // step 3: now we have a set, so turn each one into a series of path-portion
185
- // matching patterns.
186
- // These will be regexps, except in the case of "**", which is
187
- // set to the GLOBSTAR object for globstar behavior,
188
- // and will not contain any / characters
189
- set = this.globParts = set.map(function (s) {
190
- return s.split(slashSplit)
191
- })
192
-
193
- this.debug(this.pattern, set)
194
-
195
- // glob --> regexps
196
- set = set.map(function (s, si, set) {
197
- return s.map(this.parse, this)
198
- }, this)
199
-
200
- this.debug(this.pattern, set)
201
-
202
- // filter out everything that didn't compile properly.
203
- set = set.filter(function (s) {
204
- return s.indexOf(false) === -1
205
- })
206
-
207
- this.debug(this.pattern, set)
208
-
209
- this.set = set
210
- }
211
-
212
- Minimatch.prototype.parseNegate = parseNegate
213
- function parseNegate () {
214
- var pattern = this.pattern
215
- var negate = false
216
- var options = this.options
217
- var negateOffset = 0
218
-
219
- if (options.nonegate) return
220
-
221
- for (var i = 0, l = pattern.length
222
- ; i < l && pattern.charAt(i) === '!'
223
- ; i++) {
224
- negate = !negate
225
- negateOffset++
226
- }
227
-
228
- if (negateOffset) this.pattern = pattern.substr(negateOffset)
229
- this.negate = negate
230
- }
231
-
232
- // Brace expansion:
233
- // a{b,c}d -> abd acd
234
- // a{b,}c -> abc ac
235
- // a{0..3}d -> a0d a1d a2d a3d
236
- // a{b,c{d,e}f}g -> abg acdfg acefg
237
- // a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg
238
- //
239
- // Invalid sets are not expanded.
240
- // a{2..}b -> a{2..}b
241
- // a{b}c -> a{b}c
242
- minimatch.braceExpand = function (pattern, options) {
243
- return braceExpand(pattern, options)
244
- }
245
-
246
- Minimatch.prototype.braceExpand = braceExpand
247
-
248
- function braceExpand (pattern, options) {
249
- if (!options) {
250
- if (this instanceof Minimatch) {
251
- options = this.options
252
- } else {
253
- options = {}
254
- }
255
- }
256
-
257
- pattern = typeof pattern === 'undefined'
258
- ? this.pattern : pattern
259
-
260
- assertValidPattern(pattern)
261
-
262
- // Thanks to Yeting Li <https://github.com/yetingli> for
263
- // improving this regexp to avoid a ReDOS vulnerability.
264
- if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
265
- // shortcut. no need to expand.
266
- return [pattern]
267
- }
268
-
269
- return expand(pattern)
270
- }
271
-
272
- var MAX_PATTERN_LENGTH = 1024 * 64
273
- var assertValidPattern = function (pattern) {
274
- if (typeof pattern !== 'string') {
275
- throw new TypeError('invalid pattern')
276
- }
277
-
278
- if (pattern.length > MAX_PATTERN_LENGTH) {
279
- throw new TypeError('pattern is too long')
280
- }
281
- }
282
-
283
- // parse a component of the expanded set.
284
- // At this point, no pattern may contain "/" in it
285
- // so we're going to return a 2d array, where each entry is the full
286
- // pattern, split on '/', and then turned into a regular expression.
287
- // A regexp is made at the end which joins each array with an
288
- // escaped /, and another full one which joins each regexp with |.
289
- //
290
- // Following the lead of Bash 4.1, note that "**" only has special meaning
291
- // when it is the *only* thing in a path portion. Otherwise, any series
292
- // of * is equivalent to a single *. Globstar behavior is enabled by
293
- // default, and can be disabled by setting options.noglobstar.
294
- Minimatch.prototype.parse = parse
295
- var SUBPARSE = {}
296
- function parse (pattern, isSub) {
297
- assertValidPattern(pattern)
298
-
299
- var options = this.options
300
-
301
- // shortcuts
302
- if (pattern === '**') {
303
- if (!options.noglobstar)
304
- return GLOBSTAR
305
- else
306
- pattern = '*'
307
- }
308
- if (pattern === '') return ''
309
-
310
- var re = ''
311
- var hasMagic = !!options.nocase
312
- var escaping = false
313
- // ? => one single character
314
- var patternListStack = []
315
- var negativeLists = []
316
- var stateChar
317
- var inClass = false
318
- var reClassStart = -1
319
- var classStart = -1
320
- // . and .. never match anything that doesn't start with .,
321
- // even when options.dot is set.
322
- var patternStart = pattern.charAt(0) === '.' ? '' // anything
323
- // not (start or / followed by . or .. followed by / or end)
324
- : options.dot ? '(?!(?:^|\\\/)\\.{1,2}(?:$|\\\/))'
325
- : '(?!\\.)'
326
- var self = this
327
-
328
- function clearStateChar () {
329
- if (stateChar) {
330
- // we had some state-tracking character
331
- // that wasn't consumed by this pass.
332
- switch (stateChar) {
333
- case '*':
334
- re += star
335
- hasMagic = true
336
- break
337
- case '?':
338
- re += qmark
339
- hasMagic = true
340
- break
341
- default:
342
- re += '\\' + stateChar
343
- break
344
- }
345
- self.debug('clearStateChar %j %j', stateChar, re)
346
- stateChar = false
347
- }
348
- }
349
-
350
- for (var i = 0, len = pattern.length, c
351
- ; (i < len) && (c = pattern.charAt(i))
352
- ; i++) {
353
- this.debug('%s\t%s %s %j', pattern, i, re, c)
354
-
355
- // skip over any that are escaped.
356
- if (escaping && reSpecials[c]) {
357
- re += '\\' + c
358
- escaping = false
359
- continue
360
- }
361
-
362
- switch (c) {
363
- /* istanbul ignore next */
364
- case '/': {
365
- // completely not allowed, even escaped.
366
- // Should already be path-split by now.
367
- return false
368
- }
369
-
370
- case '\\':
371
- clearStateChar()
372
- escaping = true
373
- continue
374
-
375
- // the various stateChar values
376
- // for the "extglob" stuff.
377
- case '?':
378
- case '*':
379
- case '+':
380
- case '@':
381
- case '!':
382
- this.debug('%s\t%s %s %j <-- stateChar', pattern, i, re, c)
383
-
384
- // all of those are literals inside a class, except that
385
- // the glob [!a] means [^a] in regexp
386
- if (inClass) {
387
- this.debug(' in class')
388
- if (c === '!' && i === classStart + 1) c = '^'
389
- re += c
390
- continue
391
- }
392
-
393
- // if we already have a stateChar, then it means
394
- // that there was something like ** or +? in there.
395
- // Handle the stateChar, then proceed with this one.
396
- self.debug('call clearStateChar %j', stateChar)
397
- clearStateChar()
398
- stateChar = c
399
- // if extglob is disabled, then +(asdf|foo) isn't a thing.
400
- // just clear the statechar *now*, rather than even diving into
401
- // the patternList stuff.
402
- if (options.noext) clearStateChar()
403
- continue
404
-
405
- case '(':
406
- if (inClass) {
407
- re += '('
408
- continue
409
- }
410
-
411
- if (!stateChar) {
412
- re += '\\('
413
- continue
414
- }
415
-
416
- patternListStack.push({
417
- type: stateChar,
418
- start: i - 1,
419
- reStart: re.length,
420
- open: plTypes[stateChar].open,
421
- close: plTypes[stateChar].close
422
- })
423
- // negation is (?:(?!js)[^/]*)
424
- re += stateChar === '!' ? '(?:(?!(?:' : '(?:'
425
- this.debug('plType %j %j', stateChar, re)
426
- stateChar = false
427
- continue
428
-
429
- case ')':
430
- if (inClass || !patternListStack.length) {
431
- re += '\\)'
432
- continue
433
- }
434
-
435
- clearStateChar()
436
- hasMagic = true
437
- var pl = patternListStack.pop()
438
- // negation is (?:(?!js)[^/]*)
439
- // The others are (?:<pattern>)<type>
440
- re += pl.close
441
- if (pl.type === '!') {
442
- negativeLists.push(pl)
443
- }
444
- pl.reEnd = re.length
445
- continue
446
-
447
- case '|':
448
- if (inClass || !patternListStack.length || escaping) {
449
- re += '\\|'
450
- escaping = false
451
- continue
452
- }
453
-
454
- clearStateChar()
455
- re += '|'
456
- continue
457
-
458
- // these are mostly the same in regexp and glob
459
- case '[':
460
- // swallow any state-tracking char before the [
461
- clearStateChar()
462
-
463
- if (inClass) {
464
- re += '\\' + c
465
- continue
466
- }
467
-
468
- inClass = true
469
- classStart = i
470
- reClassStart = re.length
471
- re += c
472
- continue
473
-
474
- case ']':
475
- // a right bracket shall lose its special
476
- // meaning and represent itself in
477
- // a bracket expression if it occurs
478
- // first in the list. -- POSIX.2 2.8.3.2
479
- if (i === classStart + 1 || !inClass) {
480
- re += '\\' + c
481
- escaping = false
482
- continue
483
- }
484
-
485
- // handle the case where we left a class open.
486
- // "[z-a]" is valid, equivalent to "\[z-a\]"
487
- // split where the last [ was, make sure we don't have
488
- // an invalid re. if so, re-walk the contents of the
489
- // would-be class to re-translate any characters that
490
- // were passed through as-is
491
- // TODO: It would probably be faster to determine this
492
- // without a try/catch and a new RegExp, but it's tricky
493
- // to do safely. For now, this is safe and works.
494
- var cs = pattern.substring(classStart + 1, i)
495
- try {
496
- RegExp('[' + cs + ']')
497
- } catch (er) {
498
- // not a valid class!
499
- var sp = this.parse(cs, SUBPARSE)
500
- re = re.substr(0, reClassStart) + '\\[' + sp[0] + '\\]'
501
- hasMagic = hasMagic || sp[1]
502
- inClass = false
503
- continue
504
- }
505
-
506
- // finish up the class.
507
- hasMagic = true
508
- inClass = false
509
- re += c
510
- continue
511
-
512
- default:
513
- // swallow any state char that wasn't consumed
514
- clearStateChar()
515
-
516
- if (escaping) {
517
- // no need
518
- escaping = false
519
- } else if (reSpecials[c]
520
- && !(c === '^' && inClass)) {
521
- re += '\\'
522
- }
523
-
524
- re += c
525
-
526
- } // switch
527
- } // for
528
-
529
- // handle the case where we left a class open.
530
- // "[abc" is valid, equivalent to "\[abc"
531
- if (inClass) {
532
- // split where the last [ was, and escape it
533
- // this is a huge pita. We now have to re-walk
534
- // the contents of the would-be class to re-translate
535
- // any characters that were passed through as-is
536
- cs = pattern.substr(classStart + 1)
537
- sp = this.parse(cs, SUBPARSE)
538
- re = re.substr(0, reClassStart) + '\\[' + sp[0]
539
- hasMagic = hasMagic || sp[1]
540
- }
541
-
542
- // handle the case where we had a +( thing at the *end*
543
- // of the pattern.
544
- // each pattern list stack adds 3 chars, and we need to go through
545
- // and escape any | chars that were passed through as-is for the regexp.
546
- // Go through and escape them, taking care not to double-escape any
547
- // | chars that were already escaped.
548
- for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
549
- var tail = re.slice(pl.reStart + pl.open.length)
550
- this.debug('setting tail', re, pl)
551
- // maybe some even number of \, then maybe 1 \, followed by a |
552
- tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, function (_, $1, $2) {
553
- if (!$2) {
554
- // the | isn't already escaped, so escape it.
555
- $2 = '\\'
556
- }
557
-
558
- // need to escape all those slashes *again*, without escaping the
559
- // one that we need for escaping the | character. As it works out,
560
- // escaping an even number of slashes can be done by simply repeating
561
- // it exactly after itself. That's why this trick works.
562
- //
563
- // I am sorry that you have to see this.
564
- return $1 + $1 + $2 + '|'
565
- })
566
-
567
- this.debug('tail=%j\n %s', tail, tail, pl, re)
568
- var t = pl.type === '*' ? star
569
- : pl.type === '?' ? qmark
570
- : '\\' + pl.type
571
-
572
- hasMagic = true
573
- re = re.slice(0, pl.reStart) + t + '\\(' + tail
574
- }
575
-
576
- // handle trailing things that only matter at the very end.
577
- clearStateChar()
578
- if (escaping) {
579
- // trailing \\
580
- re += '\\\\'
581
- }
582
-
583
- // only need to apply the nodot start if the re starts with
584
- // something that could conceivably capture a dot
585
- var addPatternStart = false
586
- switch (re.charAt(0)) {
587
- case '[': case '.': case '(': addPatternStart = true
588
- }
589
-
590
- // Hack to work around lack of negative lookbehind in JS
591
- // A pattern like: *.!(x).!(y|z) needs to ensure that a name
592
- // like 'a.xyz.yz' doesn't match. So, the first negative
593
- // lookahead, has to look ALL the way ahead, to the end of
594
- // the pattern.
595
- for (var n = negativeLists.length - 1; n > -1; n--) {
596
- var nl = negativeLists[n]
597
-
598
- var nlBefore = re.slice(0, nl.reStart)
599
- var nlFirst = re.slice(nl.reStart, nl.reEnd - 8)
600
- var nlLast = re.slice(nl.reEnd - 8, nl.reEnd)
601
- var nlAfter = re.slice(nl.reEnd)
602
-
603
- nlLast += nlAfter
604
-
605
- // Handle nested stuff like *(*.js|!(*.json)), where open parens
606
- // mean that we should *not* include the ) in the bit that is considered
607
- // "after" the negated section.
608
- var openParensBefore = nlBefore.split('(').length - 1
609
- var cleanAfter = nlAfter
610
- for (i = 0; i < openParensBefore; i++) {
611
- cleanAfter = cleanAfter.replace(/\)[+*?]?/, '')
612
- }
613
- nlAfter = cleanAfter
614
-
615
- var dollar = ''
616
- if (nlAfter === '' && isSub !== SUBPARSE) {
617
- dollar = '$'
618
- }
619
- var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast
620
- re = newRe
621
- }
622
-
623
- // if the re is not "" at this point, then we need to make sure
624
- // it doesn't match against an empty path part.
625
- // Otherwise a/* will match a/, which it should not.
626
- if (re !== '' && hasMagic) {
627
- re = '(?=.)' + re
628
- }
629
-
630
- if (addPatternStart) {
631
- re = patternStart + re
632
- }
633
-
634
- // parsing just a piece of a larger pattern.
635
- if (isSub === SUBPARSE) {
636
- return [re, hasMagic]
637
- }
638
-
639
- // skip the regexp for non-magical patterns
640
- // unescape anything in it, though, so that it'll be
641
- // an exact match against a file etc.
642
- if (!hasMagic) {
643
- return globUnescape(pattern)
644
- }
645
-
646
- var flags = options.nocase ? 'i' : ''
647
- try {
648
- var regExp = new RegExp('^' + re + '$', flags)
649
- } catch (er) /* istanbul ignore next - should be impossible */ {
650
- // If it was an invalid regular expression, then it can't match
651
- // anything. This trick looks for a character after the end of
652
- // the string, which is of course impossible, except in multi-line
653
- // mode, but it's not a /m regex.
654
- return new RegExp('$.')
655
- }
656
-
657
- regExp._glob = pattern
658
- regExp._src = re
659
-
660
- return regExp
661
- }
662
-
663
- minimatch.makeRe = function (pattern, options) {
664
- return new Minimatch(pattern, options || {}).makeRe()
665
- }
666
-
667
- Minimatch.prototype.makeRe = makeRe
668
- function makeRe () {
669
- if (this.regexp || this.regexp === false) return this.regexp
670
-
671
- // at this point, this.set is a 2d array of partial
672
- // pattern strings, or "**".
673
- //
674
- // It's better to use .match(). This function shouldn't
675
- // be used, really, but it's pretty convenient sometimes,
676
- // when you just want to work with a regex.
677
- var set = this.set
678
-
679
- if (!set.length) {
680
- this.regexp = false
681
- return this.regexp
682
- }
683
- var options = this.options
684
-
685
- var twoStar = options.noglobstar ? star
686
- : options.dot ? twoStarDot
687
- : twoStarNoDot
688
- var flags = options.nocase ? 'i' : ''
689
-
690
- var re = set.map(function (pattern) {
691
- return pattern.map(function (p) {
692
- return (p === GLOBSTAR) ? twoStar
693
- : (typeof p === 'string') ? regExpEscape(p)
694
- : p._src
695
- }).join('\\\/')
696
- }).join('|')
697
-
698
- // must match entire pattern
699
- // ending in a * or ** will make it less strict.
700
- re = '^(?:' + re + ')$'
701
-
702
- // can match anything, as long as it's not this.
703
- if (this.negate) re = '^(?!' + re + ').*$'
704
-
705
- try {
706
- this.regexp = new RegExp(re, flags)
707
- } catch (ex) /* istanbul ignore next - should be impossible */ {
708
- this.regexp = false
709
- }
710
- return this.regexp
711
- }
712
-
713
- minimatch.match = function (list, pattern, options) {
714
- options = options || {}
715
- var mm = new Minimatch(pattern, options)
716
- list = list.filter(function (f) {
717
- return mm.match(f)
718
- })
719
- if (mm.options.nonull && !list.length) {
720
- list.push(pattern)
721
- }
722
- return list
723
- }
724
-
725
- Minimatch.prototype.match = function match (f, partial) {
726
- if (typeof partial === 'undefined') partial = this.partial
727
- this.debug('match', f, this.pattern)
728
- // short-circuit in the case of busted things.
729
- // comments, etc.
730
- if (this.comment) return false
731
- if (this.empty) return f === ''
732
-
733
- if (f === '/' && partial) return true
734
-
735
- var options = this.options
736
-
737
- // windows: need to use /, not \
738
- if (path.sep !== '/') {
739
- f = f.split(path.sep).join('/')
740
- }
741
-
742
- // treat the test path as a set of pathparts.
743
- f = f.split(slashSplit)
744
- this.debug(this.pattern, 'split', f)
745
-
746
- // just ONE of the pattern sets in this.set needs to match
747
- // in order for it to be valid. If negating, then just one
748
- // match means that we have failed.
749
- // Either way, return on the first hit.
750
-
751
- var set = this.set
752
- this.debug(this.pattern, 'set', set)
753
-
754
- // Find the basename of the path by looking for the last non-empty segment
755
- var filename
756
- var i
757
- for (i = f.length - 1; i >= 0; i--) {
758
- filename = f[i]
759
- if (filename) break
760
- }
761
-
762
- for (i = 0; i < set.length; i++) {
763
- var pattern = set[i]
764
- var file = f
765
- if (options.matchBase && pattern.length === 1) {
766
- file = [filename]
767
- }
768
- var hit = this.matchOne(file, pattern, partial)
769
- if (hit) {
770
- if (options.flipNegate) return true
771
- return !this.negate
772
- }
773
- }
774
-
775
- // didn't get any hits. this is success if it's a negative
776
- // pattern, failure otherwise.
777
- if (options.flipNegate) return false
778
- return this.negate
779
- }
780
-
781
- // set partial to true to test if, for example,
782
- // "/a/b" matches the start of "/*/b/*/d"
783
- // Partial means, if you run out of file before you run
784
- // out of pattern, then that's fine, as long as all
785
- // the parts match.
786
- Minimatch.prototype.matchOne = function (file, pattern, partial) {
787
- var options = this.options
788
-
789
- this.debug('matchOne',
790
- { 'this': this, file: file, pattern: pattern })
791
-
792
- this.debug('matchOne', file.length, pattern.length)
793
-
794
- for (var fi = 0,
795
- pi = 0,
796
- fl = file.length,
797
- pl = pattern.length
798
- ; (fi < fl) && (pi < pl)
799
- ; fi++, pi++) {
800
- this.debug('matchOne loop')
801
- var p = pattern[pi]
802
- var f = file[fi]
803
-
804
- this.debug(pattern, p, f)
805
-
806
- // should be impossible.
807
- // some invalid regexp stuff in the set.
808
- /* istanbul ignore if */
809
- if (p === false) return false
810
-
811
- if (p === GLOBSTAR) {
812
- this.debug('GLOBSTAR', [pattern, p, f])
813
-
814
- // "**"
815
- // a/**/b/**/c would match the following:
816
- // a/b/x/y/z/c
817
- // a/x/y/z/b/c
818
- // a/b/x/b/x/c
819
- // a/b/c
820
- // To do this, take the rest of the pattern after
821
- // the **, and see if it would match the file remainder.
822
- // If so, return success.
823
- // If not, the ** "swallows" a segment, and try again.
824
- // This is recursively awful.
825
- //
826
- // a/**/b/**/c matching a/b/x/y/z/c
827
- // - a matches a
828
- // - doublestar
829
- // - matchOne(b/x/y/z/c, b/**/c)
830
- // - b matches b
831
- // - doublestar
832
- // - matchOne(x/y/z/c, c) -> no
833
- // - matchOne(y/z/c, c) -> no
834
- // - matchOne(z/c, c) -> no
835
- // - matchOne(c, c) yes, hit
836
- var fr = fi
837
- var pr = pi + 1
838
- if (pr === pl) {
839
- this.debug('** at the end')
840
- // a ** at the end will just swallow the rest.
841
- // We have found a match.
842
- // however, it will not swallow /.x, unless
843
- // options.dot is set.
844
- // . and .. are *never* matched by **, for explosively
845
- // exponential reasons.
846
- for (; fi < fl; fi++) {
847
- if (file[fi] === '.' || file[fi] === '..' ||
848
- (!options.dot && file[fi].charAt(0) === '.')) return false
849
- }
850
- return true
851
- }
852
-
853
- // ok, let's see if we can swallow whatever we can.
854
- while (fr < fl) {
855
- var swallowee = file[fr]
856
-
857
- this.debug('\nglobstar while', file, fr, pattern, pr, swallowee)
858
-
859
- // XXX remove this slice. Just pass the start index.
860
- if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
861
- this.debug('globstar found match!', fr, fl, swallowee)
862
- // found a match.
863
- return true
864
- } else {
865
- // can't swallow "." or ".." ever.
866
- // can only swallow ".foo" when explicitly asked.
867
- if (swallowee === '.' || swallowee === '..' ||
868
- (!options.dot && swallowee.charAt(0) === '.')) {
869
- this.debug('dot detected!', file, fr, pattern, pr)
870
- break
871
- }
872
-
873
- // ** swallows a segment, and continue.
874
- this.debug('globstar swallow a segment, and continue')
875
- fr++
876
- }
877
- }
878
-
879
- // no match was found.
880
- // However, in partial mode, we can't say this is necessarily over.
881
- // If there's more *pattern* left, then
882
- /* istanbul ignore if */
883
- if (partial) {
884
- // ran out of file
885
- this.debug('\n>>> no match, partial?', file, fr, pattern, pr)
886
- if (fr === fl) return true
887
- }
888
- return false
889
- }
890
-
891
- // something other than **
892
- // non-magic patterns just have to match exactly
893
- // patterns with magic have been turned into regexps.
894
- var hit
895
- if (typeof p === 'string') {
896
- hit = f === p
897
- this.debug('string match', p, f, hit)
898
- } else {
899
- hit = f.match(p)
900
- this.debug('pattern match', p, f, hit)
901
- }
902
-
903
- if (!hit) return false
904
- }
905
-
906
- // Note: ending in / means that we'll get a final ""
907
- // at the end of the pattern. This can only match a
908
- // corresponding "" at the end of the file.
909
- // If the file ends in /, then it can only match a
910
- // a pattern that ends in /, unless the pattern just
911
- // doesn't have any more for it. But, a/b/ should *not*
912
- // match "a/b/*", even though "" matches against the
913
- // [^/]*? pattern, except in partial mode, where it might
914
- // simply not be reached yet.
915
- // However, a/b/ should still satisfy a/*
916
-
917
- // now either we fell off the end of the pattern, or we're done.
918
- if (fi === fl && pi === pl) {
919
- // ran out of pattern and filename at the same time.
920
- // an exact hit!
921
- return true
922
- } else if (fi === fl) {
923
- // ran out of file, but still had pattern left.
924
- // this is ok if we're doing the match as part of
925
- // a glob fs traversal.
926
- return partial
927
- } else /* istanbul ignore else */ if (pi === pl) {
928
- // ran out of pattern, still have file left.
929
- // this is only acceptable if we're on the very last
930
- // empty segment of a file with a trailing slash.
931
- // a/* should match a/b/
932
- return (fi === fl - 1) && (file[fi] === '')
933
- }
934
-
935
- // should be unreachable.
936
- /* istanbul ignore next */
937
- throw new Error('wtf?')
938
- }
939
-
940
- // replace stuff like \* with *
941
- function globUnescape (s) {
942
- return s.replace(/\\(.)/g, '$1')
943
- }
944
-
945
- function regExpEscape (s) {
946
- return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&')
947
- }