decidim 0.26.2 → 0.27.0.rc2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of decidim might be problematic. Click here for more details.

Files changed (1653) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +22 -4
  3. data/babel.config.json +4 -6
  4. data/decidim-core/lib/decidim/webpacker/thread_safe_compiler.rb +30 -0
  5. data/decidim-core/lib/decidim/webpacker/webpack/custom.js +15 -3
  6. data/decidim-core/lib/decidim/webpacker/webpacker.yml +1 -1
  7. data/docs/README.adoc +3 -14
  8. data/docs/modules/configure/pages/environment_variables.adoc +833 -29
  9. data/docs/modules/configure/pages/index.adoc +40 -0
  10. data/docs/modules/configure/pages/initializer.adoc +46 -11
  11. data/docs/modules/customize/assets/images/error_max_budget.png +0 -0
  12. data/docs/modules/customize/assets/images/maximum_budget.png +0 -0
  13. data/docs/modules/customize/pages/code.adoc +0 -12
  14. data/docs/modules/customize/pages/data_consent.adoc +113 -0
  15. data/docs/modules/customize/pages/index.adoc +28 -0
  16. data/docs/modules/customize/pages/logic.adoc +103 -0
  17. data/docs/modules/customize/pages/styles.adoc +2 -2
  18. data/docs/modules/develop/pages/api.adoc +3 -7
  19. data/docs/modules/develop/pages/guide_development_app.adoc +5 -3
  20. data/docs/modules/develop/pages/guide_development_with_localhost_ssl.adoc +44 -27
  21. data/docs/modules/develop/pages/guide_migrate_webpacker_app.adoc +46 -6
  22. data/docs/modules/develop/pages/maps.adoc +6 -6
  23. data/docs/modules/develop/pages/metrics.adoc +4 -0
  24. data/docs/modules/develop/pages/modules.adoc +1 -1
  25. data/docs/modules/develop/pages/newsletter_templates.adoc +1 -1
  26. data/docs/modules/develop/pages/notifications.adoc +1 -1
  27. data/docs/modules/develop/pages/releases.adoc +3 -2
  28. data/docs/modules/develop/pages/reminders.adoc +138 -0
  29. data/docs/modules/develop/pages/testing.adoc +68 -4
  30. data/docs/modules/develop/pages/{how_to_fix_metrics.adoc → troubleshooting_metrics.adoc} +0 -0
  31. data/docs/modules/install/pages/checklist.adoc +1 -1
  32. data/docs/modules/install/pages/empty-database.adoc +32 -0
  33. data/docs/modules/install/pages/index.adoc +26 -17
  34. data/docs/modules/install/pages/manual.adoc +9 -5
  35. data/docs/modules/install/pages/update.adoc +3 -3
  36. data/docs/modules/services/pages/index.adoc +12 -0
  37. data/docs/modules/services/pages/maps.adoc +2 -2
  38. data/docs/modules/services/pages/sms.adoc +32 -0
  39. data/lib/decidim/gem_manager.rb +30 -9
  40. data/lib/decidim/version.rb +1 -1
  41. data/lib/tasks/decidim_tasks.rake +2 -2
  42. data/package-lock.json +12550 -18192
  43. data/package.json +3 -3
  44. data/packages/browserslist-config/package.json +1 -1
  45. data/packages/core/node_modules/@rails/activestorage/CHANGELOG.md +306 -0
  46. data/packages/core/node_modules/@rails/activestorage/README.md +194 -0
  47. data/packages/core/node_modules/@rails/activestorage/app/assets/javascripts/activestorage.js +942 -0
  48. data/packages/core/node_modules/@rails/activestorage/package.json +41 -0
  49. data/packages/core/node_modules/@rails/activestorage/src/blob_record.js +73 -0
  50. data/packages/core/node_modules/@rails/activestorage/src/blob_upload.js +35 -0
  51. data/packages/core/node_modules/@rails/activestorage/src/direct_upload.js +48 -0
  52. data/packages/core/node_modules/@rails/activestorage/src/direct_upload_controller.js +67 -0
  53. data/packages/core/node_modules/@rails/activestorage/src/direct_uploads_controller.js +50 -0
  54. data/packages/core/node_modules/@rails/activestorage/src/file_checksum.js +53 -0
  55. data/packages/core/node_modules/@rails/activestorage/src/helpers.js +51 -0
  56. data/packages/core/node_modules/@rails/activestorage/src/index.js +11 -0
  57. data/packages/core/node_modules/@rails/activestorage/src/ujs.js +86 -0
  58. data/packages/core/package.json +9 -15
  59. data/packages/dev/package.json +1 -1
  60. data/packages/elections/package.json +5 -5
  61. data/packages/eslint-config/package.json +1 -1
  62. data/packages/stylelint-config/package.json +1 -1
  63. data/packages/webpacker/index.js +5 -4
  64. data/packages/webpacker/node_modules/@eslint/eslintrc/LICENSE +21 -0
  65. data/packages/webpacker/node_modules/@eslint/eslintrc/README.md +61 -0
  66. data/packages/webpacker/node_modules/@eslint/eslintrc/conf/config-schema.js +79 -0
  67. data/packages/webpacker/node_modules/@eslint/eslintrc/conf/environments.js +203 -0
  68. data/packages/webpacker/node_modules/@eslint/eslintrc/dist/eslintrc-universal.cjs +1092 -0
  69. data/packages/webpacker/node_modules/@eslint/eslintrc/dist/eslintrc-universal.cjs.map +1 -0
  70. data/packages/webpacker/node_modules/@eslint/eslintrc/dist/eslintrc.cjs +4295 -0
  71. data/packages/webpacker/node_modules/@eslint/eslintrc/dist/eslintrc.cjs.map +1 -0
  72. data/packages/webpacker/node_modules/@eslint/eslintrc/lib/cascading-config-array-factory.js +533 -0
  73. data/packages/webpacker/node_modules/@eslint/eslintrc/lib/config-array/config-array.js +523 -0
  74. data/packages/webpacker/node_modules/@eslint/eslintrc/lib/config-array/config-dependency.js +115 -0
  75. data/packages/webpacker/node_modules/@eslint/eslintrc/lib/config-array/extracted-config.js +145 -0
  76. data/packages/webpacker/node_modules/@eslint/eslintrc/lib/config-array/ignore-pattern.js +238 -0
  77. data/packages/webpacker/node_modules/@eslint/eslintrc/lib/config-array/index.js +19 -0
  78. data/packages/webpacker/node_modules/@eslint/eslintrc/lib/config-array/override-tester.js +225 -0
  79. data/packages/webpacker/node_modules/@eslint/eslintrc/lib/config-array-factory.js +1133 -0
  80. data/packages/webpacker/node_modules/@eslint/eslintrc/lib/flat-compat.js +307 -0
  81. data/packages/webpacker/node_modules/@eslint/eslintrc/lib/index-universal.js +29 -0
  82. data/packages/webpacker/node_modules/@eslint/eslintrc/lib/index.js +56 -0
  83. data/packages/webpacker/node_modules/@eslint/eslintrc/lib/shared/ajv.js +191 -0
  84. data/packages/webpacker/node_modules/@eslint/eslintrc/lib/shared/config-ops.js +135 -0
  85. data/packages/webpacker/node_modules/@eslint/eslintrc/lib/shared/config-validator.js +325 -0
  86. data/packages/webpacker/node_modules/@eslint/eslintrc/lib/shared/deprecation-warnings.js +63 -0
  87. data/packages/webpacker/node_modules/@eslint/eslintrc/lib/shared/naming.js +96 -0
  88. data/packages/webpacker/node_modules/@eslint/eslintrc/lib/shared/relative-module-resolver.js +42 -0
  89. data/packages/webpacker/node_modules/@eslint/eslintrc/lib/shared/types.js +149 -0
  90. data/packages/webpacker/node_modules/@eslint/eslintrc/package.json +81 -0
  91. data/packages/webpacker/node_modules/@eslint/eslintrc/universal.js +9 -0
  92. data/packages/webpacker/node_modules/@humanwhocodes/config-array/CHANGELOG.md +71 -0
  93. data/packages/webpacker/node_modules/@humanwhocodes/config-array/LICENSE +201 -0
  94. data/packages/webpacker/node_modules/@humanwhocodes/config-array/README.md +301 -0
  95. data/packages/webpacker/node_modules/@humanwhocodes/config-array/api.js +695 -0
  96. data/packages/webpacker/node_modules/@humanwhocodes/config-array/package.json +61 -0
  97. data/packages/webpacker/node_modules/@jest/console/LICENSE +21 -0
  98. data/packages/webpacker/node_modules/@jest/console/build/BufferedConsole.d.ts +37 -0
  99. data/packages/webpacker/node_modules/@jest/console/build/BufferedConsole.js +258 -0
  100. data/packages/webpacker/node_modules/@jest/console/build/CustomConsole.d.ts +41 -0
  101. data/packages/webpacker/node_modules/@jest/console/build/CustomConsole.js +240 -0
  102. data/packages/webpacker/node_modules/@jest/console/build/NullConsole.d.ts +23 -0
  103. data/packages/webpacker/node_modules/@jest/console/build/NullConsole.js +50 -0
  104. data/packages/webpacker/node_modules/@jest/console/build/getConsoleOutput.d.ts +10 -0
  105. data/packages/webpacker/node_modules/@jest/console/build/getConsoleOutput.js +101 -0
  106. data/packages/webpacker/node_modules/@jest/console/build/index.d.ts +11 -0
  107. data/packages/webpacker/node_modules/@jest/console/build/index.js +41 -0
  108. data/packages/webpacker/node_modules/@jest/console/build/types.d.ts +20 -0
  109. data/packages/webpacker/node_modules/@jest/console/build/types.js +1 -0
  110. data/packages/webpacker/node_modules/@jest/console/package.json +38 -0
  111. data/packages/webpacker/node_modules/@jest/core/LICENSE +21 -0
  112. data/packages/webpacker/node_modules/@jest/core/README.md +3 -0
  113. data/packages/webpacker/node_modules/@jest/core/build/FailedTestsCache.d.ts +12 -0
  114. data/packages/webpacker/node_modules/@jest/core/build/FailedTestsCache.js +59 -0
  115. data/packages/webpacker/node_modules/@jest/core/build/FailedTestsInteractiveMode.d.ts +31 -0
  116. data/packages/webpacker/node_modules/@jest/core/build/FailedTestsInteractiveMode.js +262 -0
  117. data/packages/webpacker/node_modules/@jest/core/build/ReporterDispatcher.d.ts +22 -0
  118. data/packages/webpacker/node_modules/@jest/core/build/ReporterDispatcher.js +104 -0
  119. data/packages/webpacker/node_modules/@jest/core/build/SearchSource.d.ts +46 -0
  120. data/packages/webpacker/node_modules/@jest/core/build/SearchSource.js +490 -0
  121. data/packages/webpacker/node_modules/@jest/core/build/SnapshotInteractiveMode.d.ts +30 -0
  122. data/packages/webpacker/node_modules/@jest/core/build/SnapshotInteractiveMode.js +327 -0
  123. data/packages/webpacker/node_modules/@jest/core/build/TestNamePatternPrompt.d.ts +17 -0
  124. data/packages/webpacker/node_modules/@jest/core/build/TestNamePatternPrompt.js +86 -0
  125. data/packages/webpacker/node_modules/@jest/core/build/TestPathPatternPrompt.d.ts +24 -0
  126. data/packages/webpacker/node_modules/@jest/core/build/TestPathPatternPrompt.js +81 -0
  127. data/packages/webpacker/node_modules/@jest/core/build/TestScheduler.d.ts +42 -0
  128. data/packages/webpacker/node_modules/@jest/core/build/TestScheduler.js +570 -0
  129. data/packages/webpacker/node_modules/@jest/core/build/TestWatcher.d.ts +23 -0
  130. data/packages/webpacker/node_modules/@jest/core/build/TestWatcher.js +64 -0
  131. data/packages/webpacker/node_modules/@jest/core/build/assets/jest_logo.png +0 -0
  132. data/packages/webpacker/node_modules/@jest/core/build/cli/index.d.ts +12 -0
  133. data/packages/webpacker/node_modules/@jest/core/build/cli/index.js +399 -0
  134. data/packages/webpacker/node_modules/@jest/core/build/collectHandles.d.ts +10 -0
  135. data/packages/webpacker/node_modules/@jest/core/build/collectHandles.js +269 -0
  136. data/packages/webpacker/node_modules/@jest/core/build/getChangedFilesPromise.d.ts +9 -0
  137. data/packages/webpacker/node_modules/@jest/core/build/getChangedFilesPromise.js +77 -0
  138. data/packages/webpacker/node_modules/@jest/core/build/getConfigsOfProjectsToRun.d.ts +8 -0
  139. data/packages/webpacker/node_modules/@jest/core/build/getConfigsOfProjectsToRun.js +28 -0
  140. data/packages/webpacker/node_modules/@jest/core/build/getNoTestFound.d.ts +9 -0
  141. data/packages/webpacker/node_modules/@jest/core/build/getNoTestFound.js +63 -0
  142. data/packages/webpacker/node_modules/@jest/core/build/getNoTestFoundFailed.d.ts +8 -0
  143. data/packages/webpacker/node_modules/@jest/core/build/getNoTestFoundFailed.js +51 -0
  144. data/packages/webpacker/node_modules/@jest/core/build/getNoTestFoundPassWithNoTests.d.ts +7 -0
  145. data/packages/webpacker/node_modules/@jest/core/build/getNoTestFoundPassWithNoTests.js +30 -0
  146. data/packages/webpacker/node_modules/@jest/core/build/getNoTestFoundRelatedToChangedFiles.d.ts +8 -0
  147. data/packages/webpacker/node_modules/@jest/core/build/getNoTestFoundRelatedToChangedFiles.js +57 -0
  148. data/packages/webpacker/node_modules/@jest/core/build/getNoTestFoundVerbose.d.ts +9 -0
  149. data/packages/webpacker/node_modules/@jest/core/build/getNoTestFoundVerbose.js +95 -0
  150. data/packages/webpacker/node_modules/@jest/core/build/getNoTestsFoundMessage.d.ts +9 -0
  151. data/packages/webpacker/node_modules/@jest/core/build/getNoTestsFoundMessage.js +52 -0
  152. data/packages/webpacker/node_modules/@jest/core/build/getProjectDisplayName.d.ts +8 -0
  153. data/packages/webpacker/node_modules/@jest/core/build/getProjectDisplayName.js +23 -0
  154. data/packages/webpacker/node_modules/@jest/core/build/getProjectNamesMissingWarning.d.ts +8 -0
  155. data/packages/webpacker/node_modules/@jest/core/build/getProjectNamesMissingWarning.js +49 -0
  156. data/packages/webpacker/node_modules/@jest/core/build/getSelectProjectsMessage.d.ts +8 -0
  157. data/packages/webpacker/node_modules/@jest/core/build/getSelectProjectsMessage.js +65 -0
  158. data/packages/webpacker/node_modules/@jest/core/build/jest.d.ts +11 -0
  159. data/packages/webpacker/node_modules/@jest/core/build/jest.js +49 -0
  160. data/packages/webpacker/node_modules/@jest/core/build/lib/activeFiltersMessage.d.ts +9 -0
  161. data/packages/webpacker/node_modules/@jest/core/build/lib/activeFiltersMessage.js +54 -0
  162. data/packages/webpacker/node_modules/@jest/core/build/lib/createContext.d.ts +10 -0
  163. data/packages/webpacker/node_modules/@jest/core/build/lib/createContext.js +35 -0
  164. data/packages/webpacker/node_modules/@jest/core/build/lib/handleDeprecationWarnings.d.ts +8 -0
  165. data/packages/webpacker/node_modules/@jest/core/build/lib/handleDeprecationWarnings.js +72 -0
  166. data/packages/webpacker/node_modules/@jest/core/build/lib/isValidPath.d.ts +8 -0
  167. data/packages/webpacker/node_modules/@jest/core/build/lib/isValidPath.js +29 -0
  168. data/packages/webpacker/node_modules/@jest/core/build/lib/logDebugMessages.d.ts +9 -0
  169. data/packages/webpacker/node_modules/@jest/core/build/lib/logDebugMessages.js +23 -0
  170. data/packages/webpacker/node_modules/@jest/core/build/lib/updateGlobalConfig.d.ts +11 -0
  171. data/packages/webpacker/node_modules/@jest/core/build/lib/updateGlobalConfig.js +121 -0
  172. data/packages/webpacker/node_modules/@jest/core/build/lib/watchPluginsHelpers.d.ts +10 -0
  173. data/packages/webpacker/node_modules/@jest/core/build/lib/watchPluginsHelpers.js +62 -0
  174. data/packages/webpacker/node_modules/@jest/core/build/plugins/FailedTestsInteractive.d.ts +17 -0
  175. data/packages/webpacker/node_modules/@jest/core/build/plugins/FailedTestsInteractive.js +135 -0
  176. data/packages/webpacker/node_modules/@jest/core/build/plugins/Quit.d.ts +18 -0
  177. data/packages/webpacker/node_modules/@jest/core/build/plugins/Quit.js +60 -0
  178. data/packages/webpacker/node_modules/@jest/core/build/plugins/TestNamePattern.d.ts +21 -0
  179. data/packages/webpacker/node_modules/@jest/core/build/plugins/TestNamePattern.js +91 -0
  180. data/packages/webpacker/node_modules/@jest/core/build/plugins/TestPathPattern.d.ts +21 -0
  181. data/packages/webpacker/node_modules/@jest/core/build/plugins/TestPathPattern.js +91 -0
  182. data/packages/webpacker/node_modules/@jest/core/build/plugins/UpdateSnapshots.d.ts +21 -0
  183. data/packages/webpacker/node_modules/@jest/core/build/plugins/UpdateSnapshots.js +70 -0
  184. data/packages/webpacker/node_modules/@jest/core/build/plugins/UpdateSnapshotsInteractive.d.ts +20 -0
  185. data/packages/webpacker/node_modules/@jest/core/build/plugins/UpdateSnapshotsInteractive.js +138 -0
  186. data/packages/webpacker/node_modules/@jest/core/build/pluralize.d.ts +7 -0
  187. data/packages/webpacker/node_modules/@jest/core/build/pluralize.js +16 -0
  188. data/packages/webpacker/node_modules/@jest/core/build/runGlobalHook.d.ts +13 -0
  189. data/packages/webpacker/node_modules/@jest/core/build/runGlobalHook.js +143 -0
  190. data/packages/webpacker/node_modules/@jest/core/build/runJest.d.ts +27 -0
  191. data/packages/webpacker/node_modules/@jest/core/build/runJest.js +423 -0
  192. data/packages/webpacker/node_modules/@jest/core/build/testSchedulerHelper.d.ts +9 -0
  193. data/packages/webpacker/node_modules/@jest/core/build/testSchedulerHelper.js +51 -0
  194. data/packages/webpacker/node_modules/@jest/core/build/types.d.ts +39 -0
  195. data/packages/webpacker/node_modules/@jest/core/build/types.js +1 -0
  196. data/packages/webpacker/node_modules/@jest/core/build/version.d.ts +7 -0
  197. data/packages/webpacker/node_modules/@jest/core/build/version.js +19 -0
  198. data/packages/webpacker/node_modules/@jest/core/build/watch.d.ts +13 -0
  199. data/packages/webpacker/node_modules/@jest/core/build/watch.js +769 -0
  200. data/packages/webpacker/node_modules/@jest/core/package.json +103 -0
  201. data/packages/webpacker/node_modules/@jest/environment/LICENSE +21 -0
  202. data/packages/webpacker/node_modules/@jest/environment/build/index.d.ts +267 -0
  203. data/packages/webpacker/node_modules/@jest/environment/build/index.js +1 -0
  204. data/packages/webpacker/node_modules/@jest/environment/package.json +32 -0
  205. data/packages/webpacker/node_modules/@jest/fake-timers/LICENSE +21 -0
  206. data/packages/webpacker/node_modules/@jest/fake-timers/build/index.d.ts +8 -0
  207. data/packages/webpacker/node_modules/@jest/fake-timers/build/index.js +25 -0
  208. data/packages/webpacker/node_modules/@jest/fake-timers/build/legacyFakeTimers.d.ts +67 -0
  209. data/packages/webpacker/node_modules/@jest/fake-timers/build/legacyFakeTimers.js +673 -0
  210. data/packages/webpacker/node_modules/@jest/fake-timers/build/modernFakeTimers.d.ts +34 -0
  211. data/packages/webpacker/node_modules/@jest/fake-timers/build/modernFakeTimers.js +181 -0
  212. data/packages/webpacker/node_modules/@jest/fake-timers/package.json +37 -0
  213. data/packages/webpacker/node_modules/@jest/globals/LICENSE +21 -0
  214. data/packages/webpacker/node_modules/@jest/globals/build/index.d.ts +23 -0
  215. data/packages/webpacker/node_modules/@jest/globals/build/index.js +25 -0
  216. data/packages/webpacker/node_modules/@jest/globals/package.json +31 -0
  217. data/packages/webpacker/node_modules/@jest/reporters/LICENSE +21 -0
  218. data/packages/webpacker/node_modules/@jest/reporters/build/BaseReporter.d.ts +19 -0
  219. data/packages/webpacker/node_modules/@jest/reporters/build/BaseReporter.js +65 -0
  220. data/packages/webpacker/node_modules/@jest/reporters/build/CoverageReporter.d.ts +24 -0
  221. data/packages/webpacker/node_modules/@jest/reporters/build/CoverageReporter.js +668 -0
  222. data/packages/webpacker/node_modules/@jest/reporters/build/CoverageWorker.d.ts +17 -0
  223. data/packages/webpacker/node_modules/@jest/reporters/build/CoverageWorker.js +103 -0
  224. data/packages/webpacker/node_modules/@jest/reporters/build/DefaultReporter.d.ts +33 -0
  225. data/packages/webpacker/node_modules/@jest/reporters/build/DefaultReporter.js +254 -0
  226. data/packages/webpacker/node_modules/@jest/reporters/build/NotifyReporter.d.ts +19 -0
  227. data/packages/webpacker/node_modules/@jest/reporters/build/NotifyReporter.js +256 -0
  228. data/packages/webpacker/node_modules/@jest/reporters/build/Status.d.ts +42 -0
  229. data/packages/webpacker/node_modules/@jest/reporters/build/Status.js +272 -0
  230. data/packages/webpacker/node_modules/@jest/reporters/build/SummaryReporter.d.ts +22 -0
  231. data/packages/webpacker/node_modules/@jest/reporters/build/SummaryReporter.js +271 -0
  232. data/packages/webpacker/node_modules/@jest/reporters/build/VerboseReporter.d.ts +27 -0
  233. data/packages/webpacker/node_modules/@jest/reporters/build/VerboseReporter.js +226 -0
  234. data/packages/webpacker/node_modules/@jest/reporters/build/generateEmptyCoverage.d.ts +19 -0
  235. data/packages/webpacker/node_modules/@jest/reporters/build/generateEmptyCoverage.js +168 -0
  236. data/packages/webpacker/node_modules/@jest/reporters/build/getResultHeader.d.ts +9 -0
  237. data/packages/webpacker/node_modules/@jest/reporters/build/getResultHeader.js +104 -0
  238. data/packages/webpacker/node_modules/@jest/reporters/build/getSnapshotStatus.d.ts +8 -0
  239. data/packages/webpacker/node_modules/@jest/reporters/build/getSnapshotStatus.js +111 -0
  240. data/packages/webpacker/node_modules/@jest/reporters/build/getSnapshotSummary.d.ts +9 -0
  241. data/packages/webpacker/node_modules/@jest/reporters/build/getSnapshotSummary.js +203 -0
  242. data/packages/webpacker/node_modules/@jest/reporters/build/getWatermarks.d.ts +9 -0
  243. data/packages/webpacker/node_modules/@jest/reporters/build/getWatermarks.js +47 -0
  244. data/packages/webpacker/node_modules/@jest/reporters/build/index.d.ts +27 -0
  245. data/packages/webpacker/node_modules/@jest/reporters/build/index.js +78 -0
  246. data/packages/webpacker/node_modules/@jest/reporters/build/types.d.ts +75 -0
  247. data/packages/webpacker/node_modules/@jest/reporters/build/types.js +1 -0
  248. data/packages/webpacker/node_modules/@jest/reporters/build/utils.d.ts +18 -0
  249. data/packages/webpacker/node_modules/@jest/reporters/build/utils.js +435 -0
  250. data/packages/webpacker/node_modules/@jest/reporters/package.json +80 -0
  251. data/packages/webpacker/node_modules/@jest/source-map/LICENSE +21 -0
  252. data/packages/webpacker/node_modules/@jest/source-map/build/getCallsite.d.ts +9 -0
  253. data/packages/webpacker/node_modules/@jest/source-map/build/getCallsite.js +108 -0
  254. data/packages/webpacker/node_modules/@jest/source-map/build/index.d.ts +8 -0
  255. data/packages/webpacker/node_modules/@jest/source-map/build/index.js +17 -0
  256. data/packages/webpacker/node_modules/@jest/source-map/build/types.d.ts +7 -0
  257. data/packages/webpacker/node_modules/@jest/source-map/build/types.js +1 -0
  258. data/packages/webpacker/node_modules/@jest/source-map/package.json +34 -0
  259. data/packages/webpacker/node_modules/@jest/test-result/LICENSE +21 -0
  260. data/packages/webpacker/node_modules/@jest/test-result/build/formatTestResults.d.ts +8 -0
  261. data/packages/webpacker/node_modules/@jest/test-result/build/formatTestResults.js +70 -0
  262. data/packages/webpacker/node_modules/@jest/test-result/build/helpers.d.ts +12 -0
  263. data/packages/webpacker/node_modules/@jest/test-result/build/helpers.js +188 -0
  264. data/packages/webpacker/node_modules/@jest/test-result/build/index.d.ts +9 -0
  265. data/packages/webpacker/node_modules/@jest/test-result/build/index.js +43 -0
  266. data/packages/webpacker/node_modules/@jest/test-result/build/types.d.ts +171 -0
  267. data/packages/webpacker/node_modules/@jest/test-result/build/types.js +1 -0
  268. data/packages/webpacker/node_modules/@jest/test-result/package.json +32 -0
  269. data/packages/webpacker/node_modules/@jest/test-sequencer/LICENSE +21 -0
  270. data/packages/webpacker/node_modules/@jest/test-sequencer/build/index.d.ts +51 -0
  271. data/packages/webpacker/node_modules/@jest/test-sequencer/build/index.js +237 -0
  272. data/packages/webpacker/node_modules/@jest/test-sequencer/package.json +35 -0
  273. data/packages/webpacker/node_modules/@jest/transform/LICENSE +21 -0
  274. data/packages/webpacker/node_modules/@jest/transform/build/ScriptTransformer.d.ts +40 -0
  275. data/packages/webpacker/node_modules/@jest/transform/build/ScriptTransformer.js +1115 -0
  276. data/packages/webpacker/node_modules/@jest/transform/build/enhanceUnexpectedTokenMessage.d.ts +12 -0
  277. data/packages/webpacker/node_modules/@jest/transform/build/enhanceUnexpectedTokenMessage.js +83 -0
  278. data/packages/webpacker/node_modules/@jest/transform/build/index.d.ts +11 -0
  279. data/packages/webpacker/node_modules/@jest/transform/build/index.js +41 -0
  280. data/packages/webpacker/node_modules/@jest/transform/build/runtimeErrorsAndWarnings.d.ts +10 -0
  281. data/packages/webpacker/node_modules/@jest/transform/build/runtimeErrorsAndWarnings.js +101 -0
  282. data/packages/webpacker/node_modules/@jest/transform/build/shouldInstrument.d.ts +9 -0
  283. data/packages/webpacker/node_modules/@jest/transform/build/shouldInstrument.js +207 -0
  284. data/packages/webpacker/node_modules/@jest/transform/build/types.d.ts +75 -0
  285. data/packages/webpacker/node_modules/@jest/transform/build/types.js +1 -0
  286. data/packages/webpacker/node_modules/@jest/transform/package.json +53 -0
  287. data/packages/webpacker/node_modules/@jest/types/LICENSE +21 -0
  288. data/packages/webpacker/node_modules/@jest/types/build/Circus.d.ts +193 -0
  289. data/packages/webpacker/node_modules/@jest/types/build/Circus.js +1 -0
  290. data/packages/webpacker/node_modules/@jest/types/build/Config.d.ts +462 -0
  291. data/packages/webpacker/node_modules/@jest/types/build/Config.js +1 -0
  292. data/packages/webpacker/node_modules/@jest/types/build/Global.d.ts +95 -0
  293. data/packages/webpacker/node_modules/@jest/types/build/Global.js +1 -0
  294. data/packages/webpacker/node_modules/@jest/types/build/TestResult.d.ts +31 -0
  295. data/packages/webpacker/node_modules/@jest/types/build/TestResult.js +1 -0
  296. data/packages/webpacker/node_modules/@jest/types/build/Transform.d.ts +11 -0
  297. data/packages/webpacker/node_modules/@jest/types/build/Transform.js +1 -0
  298. data/packages/webpacker/node_modules/@jest/types/build/index.d.ts +12 -0
  299. data/packages/webpacker/node_modules/@jest/types/build/index.js +1 -0
  300. data/packages/webpacker/node_modules/@jest/types/package.json +37 -0
  301. data/packages/webpacker/node_modules/@sinonjs/fake-timers/CHANGELOG.md +441 -0
  302. data/packages/webpacker/node_modules/@sinonjs/fake-timers/LICENSE +11 -0
  303. data/packages/webpacker/node_modules/@sinonjs/fake-timers/README.md +353 -0
  304. data/packages/webpacker/node_modules/@sinonjs/fake-timers/package.json +71 -0
  305. data/packages/webpacker/node_modules/@sinonjs/fake-timers/src/fake-timers-src.js +1728 -0
  306. data/packages/webpacker/node_modules/@types/yargs/LICENSE +21 -0
  307. data/packages/webpacker/node_modules/@types/yargs/README.md +16 -0
  308. data/packages/webpacker/node_modules/@types/yargs/helpers.d.ts +5 -0
  309. data/packages/webpacker/node_modules/@types/yargs/index.d.ts +844 -0
  310. data/packages/webpacker/node_modules/@types/yargs/package.json +62 -0
  311. data/packages/webpacker/node_modules/@types/yargs/yargs.d.ts +9 -0
  312. data/packages/webpacker/node_modules/acorn/CHANGELOG.md +788 -0
  313. data/packages/webpacker/node_modules/acorn/LICENSE +21 -0
  314. data/packages/webpacker/node_modules/acorn/README.md +280 -0
  315. data/packages/webpacker/node_modules/acorn/bin/acorn +4 -0
  316. data/packages/webpacker/node_modules/acorn/dist/acorn.d.ts +214 -0
  317. data/packages/webpacker/node_modules/acorn/dist/acorn.js +5619 -0
  318. data/packages/webpacker/node_modules/acorn/dist/acorn.mjs +5588 -0
  319. data/packages/webpacker/node_modules/acorn/dist/acorn.mjs.d.ts +2 -0
  320. data/packages/webpacker/node_modules/acorn/dist/bin.js +91 -0
  321. data/packages/webpacker/node_modules/acorn/package.json +46 -0
  322. data/packages/webpacker/node_modules/ansi-styles/index.d.ts +345 -0
  323. data/packages/webpacker/node_modules/ansi-styles/index.js +163 -0
  324. data/packages/webpacker/node_modules/ansi-styles/license +9 -0
  325. data/packages/webpacker/node_modules/ansi-styles/package.json +56 -0
  326. data/packages/webpacker/node_modules/ansi-styles/readme.md +152 -0
  327. data/packages/webpacker/node_modules/babel-jest/LICENSE +21 -0
  328. data/packages/webpacker/node_modules/babel-jest/README.md +25 -0
  329. data/packages/webpacker/node_modules/babel-jest/build/index.d.ts +10 -0
  330. data/packages/webpacker/node_modules/babel-jest/build/index.js +386 -0
  331. data/packages/webpacker/node_modules/babel-jest/build/loadBabelConfig.d.ts +7 -0
  332. data/packages/webpacker/node_modules/babel-jest/build/loadBabelConfig.js +27 -0
  333. data/packages/webpacker/node_modules/babel-jest/package.json +45 -0
  334. data/packages/webpacker/node_modules/babel-plugin-jest-hoist/LICENSE +21 -0
  335. data/packages/webpacker/node_modules/babel-plugin-jest-hoist/README.md +33 -0
  336. data/packages/webpacker/node_modules/babel-plugin-jest-hoist/build/index.d.ts +13 -0
  337. data/packages/webpacker/node_modules/babel-plugin-jest-hoist/build/index.js +389 -0
  338. data/packages/webpacker/node_modules/babel-plugin-jest-hoist/package.json +41 -0
  339. data/packages/webpacker/node_modules/babel-preset-jest/LICENSE +21 -0
  340. data/packages/webpacker/node_modules/babel-preset-jest/README.md +33 -0
  341. data/packages/webpacker/node_modules/babel-preset-jest/index.js +14 -0
  342. data/packages/webpacker/node_modules/babel-preset-jest/package.json +29 -0
  343. data/packages/webpacker/node_modules/camelcase/index.d.ts +103 -0
  344. data/packages/webpacker/node_modules/camelcase/index.js +113 -0
  345. data/packages/webpacker/node_modules/camelcase/license +9 -0
  346. data/packages/webpacker/node_modules/camelcase/package.json +44 -0
  347. data/packages/webpacker/node_modules/camelcase/readme.md +144 -0
  348. data/packages/webpacker/node_modules/chalk/index.d.ts +415 -0
  349. data/packages/webpacker/node_modules/chalk/license +9 -0
  350. data/packages/webpacker/node_modules/chalk/package.json +68 -0
  351. data/packages/webpacker/node_modules/chalk/readme.md +341 -0
  352. data/packages/webpacker/node_modules/chalk/source/index.js +229 -0
  353. data/packages/webpacker/node_modules/chalk/source/templates.js +134 -0
  354. data/packages/webpacker/node_modules/chalk/source/util.js +39 -0
  355. data/packages/webpacker/node_modules/ci-info/CHANGELOG.md +122 -0
  356. data/packages/webpacker/node_modules/ci-info/LICENSE +21 -0
  357. data/packages/webpacker/node_modules/ci-info/README.md +118 -0
  358. data/packages/webpacker/node_modules/ci-info/index.d.ts +62 -0
  359. data/packages/webpacker/node_modules/ci-info/index.js +66 -0
  360. data/packages/webpacker/node_modules/ci-info/package.json +36 -0
  361. data/packages/webpacker/node_modules/ci-info/vendors.json +210 -0
  362. data/packages/webpacker/node_modules/cjs-module-lexer/CHANGELOG.md +40 -0
  363. data/packages/webpacker/node_modules/cjs-module-lexer/LICENSE +10 -0
  364. data/packages/webpacker/node_modules/cjs-module-lexer/README.md +453 -0
  365. data/packages/webpacker/node_modules/cjs-module-lexer/dist/lexer.js +1 -0
  366. data/packages/webpacker/node_modules/cjs-module-lexer/dist/lexer.mjs +2 -0
  367. data/packages/webpacker/node_modules/cjs-module-lexer/lexer.d.ts +7 -0
  368. data/packages/webpacker/node_modules/cjs-module-lexer/lexer.js +1438 -0
  369. data/packages/webpacker/node_modules/cjs-module-lexer/package.json +43 -0
  370. data/packages/webpacker/node_modules/cliui/CHANGELOG.md +121 -0
  371. data/packages/webpacker/node_modules/cliui/LICENSE.txt +14 -0
  372. data/packages/webpacker/node_modules/cliui/README.md +141 -0
  373. data/packages/webpacker/node_modules/cliui/build/index.cjs +302 -0
  374. data/packages/webpacker/node_modules/cliui/build/lib/index.js +287 -0
  375. data/packages/webpacker/node_modules/cliui/build/lib/string-utils.js +27 -0
  376. data/packages/webpacker/node_modules/cliui/index.mjs +13 -0
  377. data/packages/webpacker/node_modules/cliui/package.json +83 -0
  378. data/packages/webpacker/node_modules/color-convert/CHANGELOG.md +54 -0
  379. data/packages/webpacker/node_modules/color-convert/LICENSE +21 -0
  380. data/packages/webpacker/node_modules/color-convert/README.md +68 -0
  381. data/packages/webpacker/node_modules/color-convert/conversions.js +839 -0
  382. data/packages/webpacker/node_modules/color-convert/index.js +81 -0
  383. data/packages/webpacker/node_modules/color-convert/package.json +48 -0
  384. data/packages/webpacker/node_modules/color-convert/route.js +97 -0
  385. data/packages/webpacker/node_modules/color-name/LICENSE +8 -0
  386. data/packages/webpacker/node_modules/color-name/README.md +11 -0
  387. data/packages/webpacker/node_modules/color-name/index.js +152 -0
  388. data/packages/webpacker/node_modules/color-name/package.json +28 -0
  389. data/packages/webpacker/node_modules/diff-sequences/LICENSE +21 -0
  390. data/packages/webpacker/node_modules/diff-sequences/README.md +404 -0
  391. data/packages/webpacker/node_modules/diff-sequences/build/index.d.ts +18 -0
  392. data/packages/webpacker/node_modules/diff-sequences/build/index.js +816 -0
  393. data/packages/webpacker/node_modules/diff-sequences/package.json +42 -0
  394. data/packages/webpacker/node_modules/diff-sequences/perf/example.md +48 -0
  395. data/packages/webpacker/node_modules/diff-sequences/perf/index.js +170 -0
  396. data/packages/webpacker/node_modules/emittery/index.d.ts +432 -0
  397. data/packages/webpacker/node_modules/emittery/index.js +408 -0
  398. data/packages/webpacker/node_modules/emittery/license +9 -0
  399. data/packages/webpacker/node_modules/emittery/package.json +66 -0
  400. data/packages/webpacker/node_modules/emittery/readme.md +409 -0
  401. data/packages/webpacker/node_modules/escape-string-regexp/index.d.ts +18 -0
  402. data/packages/webpacker/node_modules/escape-string-regexp/index.js +13 -0
  403. data/packages/webpacker/node_modules/escape-string-regexp/license +9 -0
  404. data/packages/webpacker/node_modules/escape-string-regexp/package.json +38 -0
  405. data/packages/webpacker/node_modules/escape-string-regexp/readme.md +34 -0
  406. data/packages/webpacker/node_modules/eslint/LICENSE +19 -0
  407. data/packages/webpacker/node_modules/eslint/README.md +304 -0
  408. data/packages/webpacker/node_modules/eslint/bin/eslint.js +142 -0
  409. data/packages/webpacker/node_modules/eslint/conf/config-schema.js +93 -0
  410. data/packages/webpacker/node_modules/eslint/conf/default-cli-options.js +32 -0
  411. data/packages/webpacker/node_modules/eslint/conf/eslint-all.js +31 -0
  412. data/packages/webpacker/node_modules/eslint/conf/eslint-recommended.js +76 -0
  413. data/packages/webpacker/node_modules/eslint/conf/globals.js +144 -0
  414. data/packages/webpacker/node_modules/eslint/conf/replacements.json +22 -0
  415. data/packages/webpacker/node_modules/eslint/conf/rule-type-list.json +36 -0
  416. data/packages/webpacker/node_modules/eslint/lib/api.js +26 -0
  417. data/packages/webpacker/node_modules/eslint/lib/cli-engine/cli-engine.js +1068 -0
  418. data/packages/webpacker/node_modules/eslint/lib/cli-engine/file-enumerator.js +543 -0
  419. data/packages/webpacker/node_modules/eslint/lib/cli-engine/formatters/checkstyle.js +60 -0
  420. data/packages/webpacker/node_modules/eslint/lib/cli-engine/formatters/compact.js +60 -0
  421. data/packages/webpacker/node_modules/eslint/lib/cli-engine/formatters/html.js +324 -0
  422. data/packages/webpacker/node_modules/eslint/lib/cli-engine/formatters/jslint-xml.js +41 -0
  423. data/packages/webpacker/node_modules/eslint/lib/cli-engine/formatters/json-with-metadata.js +16 -0
  424. data/packages/webpacker/node_modules/eslint/lib/cli-engine/formatters/json.js +13 -0
  425. data/packages/webpacker/node_modules/eslint/lib/cli-engine/formatters/junit.js +82 -0
  426. data/packages/webpacker/node_modules/eslint/lib/cli-engine/formatters/stylish.js +101 -0
  427. data/packages/webpacker/node_modules/eslint/lib/cli-engine/formatters/tap.js +95 -0
  428. data/packages/webpacker/node_modules/eslint/lib/cli-engine/formatters/unix.js +58 -0
  429. data/packages/webpacker/node_modules/eslint/lib/cli-engine/formatters/visualstudio.js +63 -0
  430. data/packages/webpacker/node_modules/eslint/lib/cli-engine/hash.js +35 -0
  431. data/packages/webpacker/node_modules/eslint/lib/cli-engine/index.js +7 -0
  432. data/packages/webpacker/node_modules/eslint/lib/cli-engine/lint-result-cache.js +191 -0
  433. data/packages/webpacker/node_modules/eslint/lib/cli-engine/load-rules.js +46 -0
  434. data/packages/webpacker/node_modules/eslint/lib/cli-engine/xml-escape.js +34 -0
  435. data/packages/webpacker/node_modules/eslint/lib/cli.js +344 -0
  436. data/packages/webpacker/node_modules/eslint/lib/config/default-config.js +61 -0
  437. data/packages/webpacker/node_modules/eslint/lib/config/flat-config-array.js +134 -0
  438. data/packages/webpacker/node_modules/eslint/lib/config/flat-config-helpers.js +103 -0
  439. data/packages/webpacker/node_modules/eslint/lib/config/flat-config-schema.js +457 -0
  440. data/packages/webpacker/node_modules/eslint/lib/config/rule-validator.js +157 -0
  441. data/packages/webpacker/node_modules/eslint/lib/eslint/eslint.js +712 -0
  442. data/packages/webpacker/node_modules/eslint/lib/eslint/index.js +7 -0
  443. data/packages/webpacker/node_modules/eslint/lib/linter/apply-disable-directives.js +341 -0
  444. data/packages/webpacker/node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js +844 -0
  445. data/packages/webpacker/node_modules/eslint/lib/linter/code-path-analysis/code-path-segment.js +235 -0
  446. data/packages/webpacker/node_modules/eslint/lib/linter/code-path-analysis/code-path-state.js +1483 -0
  447. data/packages/webpacker/node_modules/eslint/lib/linter/code-path-analysis/code-path.js +247 -0
  448. data/packages/webpacker/node_modules/eslint/lib/linter/code-path-analysis/debug-helpers.js +203 -0
  449. data/packages/webpacker/node_modules/eslint/lib/linter/code-path-analysis/fork-context.js +248 -0
  450. data/packages/webpacker/node_modules/eslint/lib/linter/code-path-analysis/id-generator.js +45 -0
  451. data/packages/webpacker/node_modules/eslint/lib/linter/config-comment-parser.js +145 -0
  452. data/packages/webpacker/node_modules/eslint/lib/linter/index.js +13 -0
  453. data/packages/webpacker/node_modules/eslint/lib/linter/interpolate.js +28 -0
  454. data/packages/webpacker/node_modules/eslint/lib/linter/linter.js +2004 -0
  455. data/packages/webpacker/node_modules/eslint/lib/linter/node-event-generator.js +354 -0
  456. data/packages/webpacker/node_modules/eslint/lib/linter/report-translator.js +368 -0
  457. data/packages/webpacker/node_modules/eslint/lib/linter/rule-fixer.js +140 -0
  458. data/packages/webpacker/node_modules/eslint/lib/linter/rules.js +80 -0
  459. data/packages/webpacker/node_modules/eslint/lib/linter/safe-emitter.js +52 -0
  460. data/packages/webpacker/node_modules/eslint/lib/linter/source-code-fixer.js +152 -0
  461. data/packages/webpacker/node_modules/eslint/lib/linter/timing.js +160 -0
  462. data/packages/webpacker/node_modules/eslint/lib/options.js +323 -0
  463. data/packages/webpacker/node_modules/eslint/lib/rule-tester/flat-rule-tester.js +1039 -0
  464. data/packages/webpacker/node_modules/eslint/lib/rule-tester/index.js +5 -0
  465. data/packages/webpacker/node_modules/eslint/lib/rule-tester/rule-tester.js +1008 -0
  466. data/packages/webpacker/node_modules/eslint/lib/rules/accessor-pairs.js +354 -0
  467. data/packages/webpacker/node_modules/eslint/lib/rules/array-bracket-newline.js +258 -0
  468. data/packages/webpacker/node_modules/eslint/lib/rules/array-bracket-spacing.js +241 -0
  469. data/packages/webpacker/node_modules/eslint/lib/rules/array-callback-return.js +296 -0
  470. data/packages/webpacker/node_modules/eslint/lib/rules/array-element-newline.js +301 -0
  471. data/packages/webpacker/node_modules/eslint/lib/rules/arrow-body-style.js +296 -0
  472. data/packages/webpacker/node_modules/eslint/lib/rules/arrow-parens.js +183 -0
  473. data/packages/webpacker/node_modules/eslint/lib/rules/arrow-spacing.js +161 -0
  474. data/packages/webpacker/node_modules/eslint/lib/rules/block-scoped-var.js +124 -0
  475. data/packages/webpacker/node_modules/eslint/lib/rules/block-spacing.js +171 -0
  476. data/packages/webpacker/node_modules/eslint/lib/rules/brace-style.js +194 -0
  477. data/packages/webpacker/node_modules/eslint/lib/rules/callback-return.js +187 -0
  478. data/packages/webpacker/node_modules/eslint/lib/rules/camelcase.js +398 -0
  479. data/packages/webpacker/node_modules/eslint/lib/rules/capitalized-comments.js +300 -0
  480. data/packages/webpacker/node_modules/eslint/lib/rules/class-methods-use-this.js +187 -0
  481. data/packages/webpacker/node_modules/eslint/lib/rules/comma-dangle.js +350 -0
  482. data/packages/webpacker/node_modules/eslint/lib/rules/comma-spacing.js +195 -0
  483. data/packages/webpacker/node_modules/eslint/lib/rules/comma-style.js +311 -0
  484. data/packages/webpacker/node_modules/eslint/lib/rules/complexity.js +165 -0
  485. data/packages/webpacker/node_modules/eslint/lib/rules/computed-property-spacing.js +205 -0
  486. data/packages/webpacker/node_modules/eslint/lib/rules/consistent-return.js +185 -0
  487. data/packages/webpacker/node_modules/eslint/lib/rules/consistent-this.js +151 -0
  488. data/packages/webpacker/node_modules/eslint/lib/rules/constructor-super.js +423 -0
  489. data/packages/webpacker/node_modules/eslint/lib/rules/curly.js +486 -0
  490. data/packages/webpacker/node_modules/eslint/lib/rules/default-case-last.js +44 -0
  491. data/packages/webpacker/node_modules/eslint/lib/rules/default-case.js +97 -0
  492. data/packages/webpacker/node_modules/eslint/lib/rules/default-param-last.js +62 -0
  493. data/packages/webpacker/node_modules/eslint/lib/rules/dot-location.js +105 -0
  494. data/packages/webpacker/node_modules/eslint/lib/rules/dot-notation.js +177 -0
  495. data/packages/webpacker/node_modules/eslint/lib/rules/eol-last.js +112 -0
  496. data/packages/webpacker/node_modules/eslint/lib/rules/eqeqeq.js +174 -0
  497. data/packages/webpacker/node_modules/eslint/lib/rules/for-direction.js +126 -0
  498. data/packages/webpacker/node_modules/eslint/lib/rules/func-call-spacing.js +230 -0
  499. data/packages/webpacker/node_modules/eslint/lib/rules/func-name-matching.js +253 -0
  500. data/packages/webpacker/node_modules/eslint/lib/rules/func-names.js +191 -0
  501. data/packages/webpacker/node_modules/eslint/lib/rules/func-style.js +98 -0
  502. data/packages/webpacker/node_modules/eslint/lib/rules/function-call-argument-newline.js +122 -0
  503. data/packages/webpacker/node_modules/eslint/lib/rules/function-paren-newline.js +286 -0
  504. data/packages/webpacker/node_modules/eslint/lib/rules/generator-star-spacing.js +206 -0
  505. data/packages/webpacker/node_modules/eslint/lib/rules/getter-return.js +173 -0
  506. data/packages/webpacker/node_modules/eslint/lib/rules/global-require.js +87 -0
  507. data/packages/webpacker/node_modules/eslint/lib/rules/grouped-accessor-pairs.js +224 -0
  508. data/packages/webpacker/node_modules/eslint/lib/rules/guard-for-in.js +76 -0
  509. data/packages/webpacker/node_modules/eslint/lib/rules/handle-callback-err.js +100 -0
  510. data/packages/webpacker/node_modules/eslint/lib/rules/id-blacklist.js +245 -0
  511. data/packages/webpacker/node_modules/eslint/lib/rules/id-denylist.js +227 -0
  512. data/packages/webpacker/node_modules/eslint/lib/rules/id-length.js +169 -0
  513. data/packages/webpacker/node_modules/eslint/lib/rules/id-match.js +298 -0
  514. data/packages/webpacker/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js +81 -0
  515. data/packages/webpacker/node_modules/eslint/lib/rules/indent-legacy.js +1126 -0
  516. data/packages/webpacker/node_modules/eslint/lib/rules/indent.js +1764 -0
  517. data/packages/webpacker/node_modules/eslint/lib/rules/index.js +301 -0
  518. data/packages/webpacker/node_modules/eslint/lib/rules/init-declarations.js +139 -0
  519. data/packages/webpacker/node_modules/eslint/lib/rules/jsx-quotes.js +95 -0
  520. data/packages/webpacker/node_modules/eslint/lib/rules/key-spacing.js +675 -0
  521. data/packages/webpacker/node_modules/eslint/lib/rules/keyword-spacing.js +637 -0
  522. data/packages/webpacker/node_modules/eslint/lib/rules/line-comment-position.js +122 -0
  523. data/packages/webpacker/node_modules/eslint/lib/rules/linebreak-style.js +105 -0
  524. data/packages/webpacker/node_modules/eslint/lib/rules/lines-around-comment.js +450 -0
  525. data/packages/webpacker/node_modules/eslint/lib/rules/lines-around-directive.js +201 -0
  526. data/packages/webpacker/node_modules/eslint/lib/rules/lines-between-class-members.js +181 -0
  527. data/packages/webpacker/node_modules/eslint/lib/rules/max-classes-per-file.js +89 -0
  528. data/packages/webpacker/node_modules/eslint/lib/rules/max-depth.js +156 -0
  529. data/packages/webpacker/node_modules/eslint/lib/rules/max-len.js +433 -0
  530. data/packages/webpacker/node_modules/eslint/lib/rules/max-lines-per-function.js +213 -0
  531. data/packages/webpacker/node_modules/eslint/lib/rules/max-lines.js +193 -0
  532. data/packages/webpacker/node_modules/eslint/lib/rules/max-nested-callbacks.js +117 -0
  533. data/packages/webpacker/node_modules/eslint/lib/rules/max-params.js +102 -0
  534. data/packages/webpacker/node_modules/eslint/lib/rules/max-statements-per-line.js +196 -0
  535. data/packages/webpacker/node_modules/eslint/lib/rules/max-statements.js +184 -0
  536. data/packages/webpacker/node_modules/eslint/lib/rules/multiline-comment-style.js +435 -0
  537. data/packages/webpacker/node_modules/eslint/lib/rules/multiline-ternary.js +171 -0
  538. data/packages/webpacker/node_modules/eslint/lib/rules/new-cap.js +276 -0
  539. data/packages/webpacker/node_modules/eslint/lib/rules/new-parens.js +99 -0
  540. data/packages/webpacker/node_modules/eslint/lib/rules/newline-after-var.js +255 -0
  541. data/packages/webpacker/node_modules/eslint/lib/rules/newline-before-return.js +217 -0
  542. data/packages/webpacker/node_modules/eslint/lib/rules/newline-per-chained-call.js +123 -0
  543. data/packages/webpacker/node_modules/eslint/lib/rules/no-alert.js +136 -0
  544. data/packages/webpacker/node_modules/eslint/lib/rules/no-array-constructor.js +54 -0
  545. data/packages/webpacker/node_modules/eslint/lib/rules/no-async-promise-executor.js +39 -0
  546. data/packages/webpacker/node_modules/eslint/lib/rules/no-await-in-loop.js +106 -0
  547. data/packages/webpacker/node_modules/eslint/lib/rules/no-bitwise.js +119 -0
  548. data/packages/webpacker/node_modules/eslint/lib/rules/no-buffer-constructor.js +50 -0
  549. data/packages/webpacker/node_modules/eslint/lib/rules/no-caller.js +46 -0
  550. data/packages/webpacker/node_modules/eslint/lib/rules/no-case-declarations.js +64 -0
  551. data/packages/webpacker/node_modules/eslint/lib/rules/no-catch-shadow.js +80 -0
  552. data/packages/webpacker/node_modules/eslint/lib/rules/no-class-assign.js +61 -0
  553. data/packages/webpacker/node_modules/eslint/lib/rules/no-compare-neg-zero.js +60 -0
  554. data/packages/webpacker/node_modules/eslint/lib/rules/no-cond-assign.js +159 -0
  555. data/packages/webpacker/node_modules/eslint/lib/rules/no-confusing-arrow.js +89 -0
  556. data/packages/webpacker/node_modules/eslint/lib/rules/no-console.js +134 -0
  557. data/packages/webpacker/node_modules/eslint/lib/rules/no-const-assign.js +54 -0
  558. data/packages/webpacker/node_modules/eslint/lib/rules/no-constant-condition.js +315 -0
  559. data/packages/webpacker/node_modules/eslint/lib/rules/no-constructor-return.js +62 -0
  560. data/packages/webpacker/node_modules/eslint/lib/rules/no-continue.js +39 -0
  561. data/packages/webpacker/node_modules/eslint/lib/rules/no-control-regex.js +112 -0
  562. data/packages/webpacker/node_modules/eslint/lib/rules/no-debugger.js +43 -0
  563. data/packages/webpacker/node_modules/eslint/lib/rules/no-delete-var.js +42 -0
  564. data/packages/webpacker/node_modules/eslint/lib/rules/no-div-regex.js +53 -0
  565. data/packages/webpacker/node_modules/eslint/lib/rules/no-dupe-args.js +80 -0
  566. data/packages/webpacker/node_modules/eslint/lib/rules/no-dupe-class-members.js +104 -0
  567. data/packages/webpacker/node_modules/eslint/lib/rules/no-dupe-else-if.js +122 -0
  568. data/packages/webpacker/node_modules/eslint/lib/rules/no-dupe-keys.js +142 -0
  569. data/packages/webpacker/node_modules/eslint/lib/rules/no-duplicate-case.js +71 -0
  570. data/packages/webpacker/node_modules/eslint/lib/rules/no-duplicate-imports.js +290 -0
  571. data/packages/webpacker/node_modules/eslint/lib/rules/no-else-return.js +404 -0
  572. data/packages/webpacker/node_modules/eslint/lib/rules/no-empty-character-class.js +55 -0
  573. data/packages/webpacker/node_modules/eslint/lib/rules/no-empty-function.js +167 -0
  574. data/packages/webpacker/node_modules/eslint/lib/rules/no-empty-pattern.js +43 -0
  575. data/packages/webpacker/node_modules/eslint/lib/rules/no-empty.js +86 -0
  576. data/packages/webpacker/node_modules/eslint/lib/rules/no-eq-null.js +46 -0
  577. data/packages/webpacker/node_modules/eslint/lib/rules/no-eval.js +281 -0
  578. data/packages/webpacker/node_modules/eslint/lib/rules/no-ex-assign.js +52 -0
  579. data/packages/webpacker/node_modules/eslint/lib/rules/no-extend-native.js +178 -0
  580. data/packages/webpacker/node_modules/eslint/lib/rules/no-extra-bind.js +213 -0
  581. data/packages/webpacker/node_modules/eslint/lib/rules/no-extra-boolean-cast.js +317 -0
  582. data/packages/webpacker/node_modules/eslint/lib/rules/no-extra-label.js +149 -0
  583. data/packages/webpacker/node_modules/eslint/lib/rules/no-extra-parens.js +1235 -0
  584. data/packages/webpacker/node_modules/eslint/lib/rules/no-extra-semi.js +126 -0
  585. data/packages/webpacker/node_modules/eslint/lib/rules/no-fallthrough.js +147 -0
  586. data/packages/webpacker/node_modules/eslint/lib/rules/no-floating-decimal.js +70 -0
  587. data/packages/webpacker/node_modules/eslint/lib/rules/no-func-assign.js +76 -0
  588. data/packages/webpacker/node_modules/eslint/lib/rules/no-global-assign.js +94 -0
  589. data/packages/webpacker/node_modules/eslint/lib/rules/no-implicit-coercion.js +361 -0
  590. data/packages/webpacker/node_modules/eslint/lib/rules/no-implicit-globals.js +140 -0
  591. data/packages/webpacker/node_modules/eslint/lib/rules/no-implied-eval.js +131 -0
  592. data/packages/webpacker/node_modules/eslint/lib/rules/no-import-assign.js +239 -0
  593. data/packages/webpacker/node_modules/eslint/lib/rules/no-inline-comments.js +110 -0
  594. data/packages/webpacker/node_modules/eslint/lib/rules/no-inner-declarations.js +110 -0
  595. data/packages/webpacker/node_modules/eslint/lib/rules/no-invalid-regexp.js +157 -0
  596. data/packages/webpacker/node_modules/eslint/lib/rules/no-invalid-this.js +150 -0
  597. data/packages/webpacker/node_modules/eslint/lib/rules/no-irregular-whitespace.js +259 -0
  598. data/packages/webpacker/node_modules/eslint/lib/rules/no-iterator.js +52 -0
  599. data/packages/webpacker/node_modules/eslint/lib/rules/no-label-var.js +79 -0
  600. data/packages/webpacker/node_modules/eslint/lib/rules/no-labels.js +149 -0
  601. data/packages/webpacker/node_modules/eslint/lib/rules/no-lone-blocks.js +134 -0
  602. data/packages/webpacker/node_modules/eslint/lib/rules/no-lonely-if.js +89 -0
  603. data/packages/webpacker/node_modules/eslint/lib/rules/no-loop-func.js +204 -0
  604. data/packages/webpacker/node_modules/eslint/lib/rules/no-loss-of-precision.js +206 -0
  605. data/packages/webpacker/node_modules/eslint/lib/rules/no-magic-numbers.js +226 -0
  606. data/packages/webpacker/node_modules/eslint/lib/rules/no-misleading-character-class.js +200 -0
  607. data/packages/webpacker/node_modules/eslint/lib/rules/no-mixed-operators.js +226 -0
  608. data/packages/webpacker/node_modules/eslint/lib/rules/no-mixed-requires.js +238 -0
  609. data/packages/webpacker/node_modules/eslint/lib/rules/no-mixed-spaces-and-tabs.js +113 -0
  610. data/packages/webpacker/node_modules/eslint/lib/rules/no-multi-assign.js +67 -0
  611. data/packages/webpacker/node_modules/eslint/lib/rules/no-multi-spaces.js +138 -0
  612. data/packages/webpacker/node_modules/eslint/lib/rules/no-multi-str.js +65 -0
  613. data/packages/webpacker/node_modules/eslint/lib/rules/no-multiple-empty-lines.js +151 -0
  614. data/packages/webpacker/node_modules/eslint/lib/rules/no-native-reassign.js +97 -0
  615. data/packages/webpacker/node_modules/eslint/lib/rules/no-negated-condition.js +95 -0
  616. data/packages/webpacker/node_modules/eslint/lib/rules/no-negated-in-lhs.js +46 -0
  617. data/packages/webpacker/node_modules/eslint/lib/rules/no-nested-ternary.js +44 -0
  618. data/packages/webpacker/node_modules/eslint/lib/rules/no-new-func.js +86 -0
  619. data/packages/webpacker/node_modules/eslint/lib/rules/no-new-object.js +57 -0
  620. data/packages/webpacker/node_modules/eslint/lib/rules/no-new-require.js +50 -0
  621. data/packages/webpacker/node_modules/eslint/lib/rules/no-new-symbol.js +54 -0
  622. data/packages/webpacker/node_modules/eslint/lib/rules/no-new-wrappers.js +48 -0
  623. data/packages/webpacker/node_modules/eslint/lib/rules/no-new.js +43 -0
  624. data/packages/webpacker/node_modules/eslint/lib/rules/no-nonoctal-decimal-escape.js +148 -0
  625. data/packages/webpacker/node_modules/eslint/lib/rules/no-obj-calls.js +84 -0
  626. data/packages/webpacker/node_modules/eslint/lib/rules/no-octal-escape.js +56 -0
  627. data/packages/webpacker/node_modules/eslint/lib/rules/no-octal.js +45 -0
  628. data/packages/webpacker/node_modules/eslint/lib/rules/no-param-reassign.js +229 -0
  629. data/packages/webpacker/node_modules/eslint/lib/rules/no-path-concat.js +64 -0
  630. data/packages/webpacker/node_modules/eslint/lib/rules/no-plusplus.js +105 -0
  631. data/packages/webpacker/node_modules/eslint/lib/rules/no-process-env.js +51 -0
  632. data/packages/webpacker/node_modules/eslint/lib/rules/no-process-exit.js +47 -0
  633. data/packages/webpacker/node_modules/eslint/lib/rules/no-promise-executor-return.js +121 -0
  634. data/packages/webpacker/node_modules/eslint/lib/rules/no-proto.js +48 -0
  635. data/packages/webpacker/node_modules/eslint/lib/rules/no-prototype-builtins.js +71 -0
  636. data/packages/webpacker/node_modules/eslint/lib/rules/no-redeclare.js +174 -0
  637. data/packages/webpacker/node_modules/eslint/lib/rules/no-regex-spaces.js +180 -0
  638. data/packages/webpacker/node_modules/eslint/lib/rules/no-restricted-exports.js +96 -0
  639. data/packages/webpacker/node_modules/eslint/lib/rules/no-restricted-globals.js +122 -0
  640. data/packages/webpacker/node_modules/eslint/lib/rules/no-restricted-imports.js +322 -0
  641. data/packages/webpacker/node_modules/eslint/lib/rules/no-restricted-modules.js +216 -0
  642. data/packages/webpacker/node_modules/eslint/lib/rules/no-restricted-properties.js +181 -0
  643. data/packages/webpacker/node_modules/eslint/lib/rules/no-restricted-syntax.js +70 -0
  644. data/packages/webpacker/node_modules/eslint/lib/rules/no-return-assign.js +80 -0
  645. data/packages/webpacker/node_modules/eslint/lib/rules/no-return-await.js +103 -0
  646. data/packages/webpacker/node_modules/eslint/lib/rules/no-script-url.js +61 -0
  647. data/packages/webpacker/node_modules/eslint/lib/rules/no-self-assign.js +183 -0
  648. data/packages/webpacker/node_modules/eslint/lib/rules/no-self-compare.js +60 -0
  649. data/packages/webpacker/node_modules/eslint/lib/rules/no-sequences.js +138 -0
  650. data/packages/webpacker/node_modules/eslint/lib/rules/no-setter-return.js +225 -0
  651. data/packages/webpacker/node_modules/eslint/lib/rules/no-shadow-restricted-names.js +64 -0
  652. data/packages/webpacker/node_modules/eslint/lib/rules/no-shadow.js +335 -0
  653. data/packages/webpacker/node_modules/eslint/lib/rules/no-spaced-func.js +83 -0
  654. data/packages/webpacker/node_modules/eslint/lib/rules/no-sparse-arrays.js +50 -0
  655. data/packages/webpacker/node_modules/eslint/lib/rules/no-sync.js +64 -0
  656. data/packages/webpacker/node_modules/eslint/lib/rules/no-tabs.js +78 -0
  657. data/packages/webpacker/node_modules/eslint/lib/rules/no-template-curly-in-string.js +44 -0
  658. data/packages/webpacker/node_modules/eslint/lib/rules/no-ternary.js +41 -0
  659. data/packages/webpacker/node_modules/eslint/lib/rules/no-this-before-super.js +304 -0
  660. data/packages/webpacker/node_modules/eslint/lib/rules/no-throw-literal.js +51 -0
  661. data/packages/webpacker/node_modules/eslint/lib/rules/no-trailing-spaces.js +190 -0
  662. data/packages/webpacker/node_modules/eslint/lib/rules/no-undef-init.js +75 -0
  663. data/packages/webpacker/node_modules/eslint/lib/rules/no-undef.js +78 -0
  664. data/packages/webpacker/node_modules/eslint/lib/rules/no-undefined.js +84 -0
  665. data/packages/webpacker/node_modules/eslint/lib/rules/no-underscore-dangle.js +280 -0
  666. data/packages/webpacker/node_modules/eslint/lib/rules/no-unexpected-multiline.js +120 -0
  667. data/packages/webpacker/node_modules/eslint/lib/rules/no-unmodified-loop-condition.js +360 -0
  668. data/packages/webpacker/node_modules/eslint/lib/rules/no-unneeded-ternary.js +166 -0
  669. data/packages/webpacker/node_modules/eslint/lib/rules/no-unreachable-loop.js +150 -0
  670. data/packages/webpacker/node_modules/eslint/lib/rules/no-unreachable.js +264 -0
  671. data/packages/webpacker/node_modules/eslint/lib/rules/no-unsafe-finally.js +111 -0
  672. data/packages/webpacker/node_modules/eslint/lib/rules/no-unsafe-negation.js +128 -0
  673. data/packages/webpacker/node_modules/eslint/lib/rules/no-unsafe-optional-chaining.js +205 -0
  674. data/packages/webpacker/node_modules/eslint/lib/rules/no-unused-expressions.js +189 -0
  675. data/packages/webpacker/node_modules/eslint/lib/rules/no-unused-labels.js +110 -0
  676. data/packages/webpacker/node_modules/eslint/lib/rules/no-unused-private-class-members.js +195 -0
  677. data/packages/webpacker/node_modules/eslint/lib/rules/no-unused-vars.js +690 -0
  678. data/packages/webpacker/node_modules/eslint/lib/rules/no-use-before-define.js +334 -0
  679. data/packages/webpacker/node_modules/eslint/lib/rules/no-useless-backreference.js +192 -0
  680. data/packages/webpacker/node_modules/eslint/lib/rules/no-useless-call.js +90 -0
  681. data/packages/webpacker/node_modules/eslint/lib/rules/no-useless-catch.js +57 -0
  682. data/packages/webpacker/node_modules/eslint/lib/rules/no-useless-computed-key.js +168 -0
  683. data/packages/webpacker/node_modules/eslint/lib/rules/no-useless-concat.js +115 -0
  684. data/packages/webpacker/node_modules/eslint/lib/rules/no-useless-constructor.js +189 -0
  685. data/packages/webpacker/node_modules/eslint/lib/rules/no-useless-escape.js +254 -0
  686. data/packages/webpacker/node_modules/eslint/lib/rules/no-useless-rename.js +172 -0
  687. data/packages/webpacker/node_modules/eslint/lib/rules/no-useless-return.js +305 -0
  688. data/packages/webpacker/node_modules/eslint/lib/rules/no-var.js +334 -0
  689. data/packages/webpacker/node_modules/eslint/lib/rules/no-void.js +64 -0
  690. data/packages/webpacker/node_modules/eslint/lib/rules/no-warning-comments.js +196 -0
  691. data/packages/webpacker/node_modules/eslint/lib/rules/no-whitespace-before-property.js +113 -0
  692. data/packages/webpacker/node_modules/eslint/lib/rules/no-with.js +39 -0
  693. data/packages/webpacker/node_modules/eslint/lib/rules/nonblock-statement-body-position.js +124 -0
  694. data/packages/webpacker/node_modules/eslint/lib/rules/object-curly-newline.js +321 -0
  695. data/packages/webpacker/node_modules/eslint/lib/rules/object-curly-spacing.js +308 -0
  696. data/packages/webpacker/node_modules/eslint/lib/rules/object-property-newline.js +99 -0
  697. data/packages/webpacker/node_modules/eslint/lib/rules/object-shorthand.js +504 -0
  698. data/packages/webpacker/node_modules/eslint/lib/rules/one-var-declaration-per-line.js +92 -0
  699. data/packages/webpacker/node_modules/eslint/lib/rules/one-var.js +567 -0
  700. data/packages/webpacker/node_modules/eslint/lib/rules/operator-assignment.js +207 -0
  701. data/packages/webpacker/node_modules/eslint/lib/rules/operator-linebreak.js +250 -0
  702. data/packages/webpacker/node_modules/eslint/lib/rules/padded-blocks.js +307 -0
  703. data/packages/webpacker/node_modules/eslint/lib/rules/padding-line-between-statements.js +634 -0
  704. data/packages/webpacker/node_modules/eslint/lib/rules/prefer-arrow-callback.js +380 -0
  705. data/packages/webpacker/node_modules/eslint/lib/rules/prefer-const.js +489 -0
  706. data/packages/webpacker/node_modules/eslint/lib/rules/prefer-destructuring.js +301 -0
  707. data/packages/webpacker/node_modules/eslint/lib/rules/prefer-exponentiation-operator.js +190 -0
  708. data/packages/webpacker/node_modules/eslint/lib/rules/prefer-named-capture-group.js +110 -0
  709. data/packages/webpacker/node_modules/eslint/lib/rules/prefer-numeric-literals.js +148 -0
  710. data/packages/webpacker/node_modules/eslint/lib/rules/prefer-object-has-own.js +112 -0
  711. data/packages/webpacker/node_modules/eslint/lib/rules/prefer-object-spread.js +299 -0
  712. data/packages/webpacker/node_modules/eslint/lib/rules/prefer-promise-reject-errors.js +131 -0
  713. data/packages/webpacker/node_modules/eslint/lib/rules/prefer-reflect.js +127 -0
  714. data/packages/webpacker/node_modules/eslint/lib/rules/prefer-regex-literals.js +396 -0
  715. data/packages/webpacker/node_modules/eslint/lib/rules/prefer-rest-params.js +115 -0
  716. data/packages/webpacker/node_modules/eslint/lib/rules/prefer-spread.js +87 -0
  717. data/packages/webpacker/node_modules/eslint/lib/rules/prefer-template.js +275 -0
  718. data/packages/webpacker/node_modules/eslint/lib/rules/quote-props.js +307 -0
  719. data/packages/webpacker/node_modules/eslint/lib/rules/quotes.js +347 -0
  720. data/packages/webpacker/node_modules/eslint/lib/rules/radix.js +198 -0
  721. data/packages/webpacker/node_modules/eslint/lib/rules/require-atomic-updates.js +317 -0
  722. data/packages/webpacker/node_modules/eslint/lib/rules/require-await.js +113 -0
  723. data/packages/webpacker/node_modules/eslint/lib/rules/require-jsdoc.js +122 -0
  724. data/packages/webpacker/node_modules/eslint/lib/rules/require-unicode-regexp.js +69 -0
  725. data/packages/webpacker/node_modules/eslint/lib/rules/require-yield.js +78 -0
  726. data/packages/webpacker/node_modules/eslint/lib/rules/rest-spread-spacing.js +120 -0
  727. data/packages/webpacker/node_modules/eslint/lib/rules/semi-spacing.js +245 -0
  728. data/packages/webpacker/node_modules/eslint/lib/rules/semi-style.js +155 -0
  729. data/packages/webpacker/node_modules/eslint/lib/rules/semi.js +410 -0
  730. data/packages/webpacker/node_modules/eslint/lib/rules/sort-imports.js +241 -0
  731. data/packages/webpacker/node_modules/eslint/lib/rules/sort-keys.js +187 -0
  732. data/packages/webpacker/node_modules/eslint/lib/rules/sort-vars.js +104 -0
  733. data/packages/webpacker/node_modules/eslint/lib/rules/space-before-blocks.js +201 -0
  734. data/packages/webpacker/node_modules/eslint/lib/rules/space-before-function-paren.js +164 -0
  735. data/packages/webpacker/node_modules/eslint/lib/rules/space-in-parens.js +282 -0
  736. data/packages/webpacker/node_modules/eslint/lib/rules/space-infix-ops.js +195 -0
  737. data/packages/webpacker/node_modules/eslint/lib/rules/space-unary-ops.js +321 -0
  738. data/packages/webpacker/node_modules/eslint/lib/rules/spaced-comment.js +382 -0
  739. data/packages/webpacker/node_modules/eslint/lib/rules/strict.js +277 -0
  740. data/packages/webpacker/node_modules/eslint/lib/rules/switch-colon-spacing.js +129 -0
  741. data/packages/webpacker/node_modules/eslint/lib/rules/symbol-description.js +71 -0
  742. data/packages/webpacker/node_modules/eslint/lib/rules/template-curly-spacing.js +141 -0
  743. data/packages/webpacker/node_modules/eslint/lib/rules/template-tag-spacing.js +90 -0
  744. data/packages/webpacker/node_modules/eslint/lib/rules/unicode-bom.js +73 -0
  745. data/packages/webpacker/node_modules/eslint/lib/rules/use-isnan.js +141 -0
  746. data/packages/webpacker/node_modules/eslint/lib/rules/utils/ast-utils.js +1922 -0
  747. data/packages/webpacker/node_modules/eslint/lib/rules/utils/fix-tracker.js +114 -0
  748. data/packages/webpacker/node_modules/eslint/lib/rules/utils/keywords.js +67 -0
  749. data/packages/webpacker/node_modules/eslint/lib/rules/utils/lazy-loading-rule-map.js +115 -0
  750. data/packages/webpacker/node_modules/eslint/lib/rules/utils/patterns/letters.js +36 -0
  751. data/packages/webpacker/node_modules/eslint/lib/rules/utils/unicode/index.js +11 -0
  752. data/packages/webpacker/node_modules/eslint/lib/rules/utils/unicode/is-combining-character.js +13 -0
  753. data/packages/webpacker/node_modules/eslint/lib/rules/utils/unicode/is-emoji-modifier.js +13 -0
  754. data/packages/webpacker/node_modules/eslint/lib/rules/utils/unicode/is-regional-indicator-symbol.js +13 -0
  755. data/packages/webpacker/node_modules/eslint/lib/rules/utils/unicode/is-surrogate-pair.js +14 -0
  756. data/packages/webpacker/node_modules/eslint/lib/rules/valid-jsdoc.js +516 -0
  757. data/packages/webpacker/node_modules/eslint/lib/rules/valid-typeof.js +85 -0
  758. data/packages/webpacker/node_modules/eslint/lib/rules/vars-on-top.js +157 -0
  759. data/packages/webpacker/node_modules/eslint/lib/rules/wrap-iife.js +204 -0
  760. data/packages/webpacker/node_modules/eslint/lib/rules/wrap-regex.js +59 -0
  761. data/packages/webpacker/node_modules/eslint/lib/rules/yield-star-spacing.js +127 -0
  762. data/packages/webpacker/node_modules/eslint/lib/rules/yoda.js +362 -0
  763. data/packages/webpacker/node_modules/eslint/lib/shared/ajv.js +34 -0
  764. data/packages/webpacker/node_modules/eslint/lib/shared/ast-utils.js +29 -0
  765. data/packages/webpacker/node_modules/eslint/lib/shared/config-validator.js +347 -0
  766. data/packages/webpacker/node_modules/eslint/lib/shared/deprecation-warnings.js +65 -0
  767. data/packages/webpacker/node_modules/eslint/lib/shared/logging.js +30 -0
  768. data/packages/webpacker/node_modules/eslint/lib/shared/relative-module-resolver.js +50 -0
  769. data/packages/webpacker/node_modules/eslint/lib/shared/runtime-info.js +167 -0
  770. data/packages/webpacker/node_modules/eslint/lib/shared/string-utils.js +22 -0
  771. data/packages/webpacker/node_modules/eslint/lib/shared/traverser.js +195 -0
  772. data/packages/webpacker/node_modules/eslint/lib/shared/types.js +175 -0
  773. data/packages/webpacker/node_modules/eslint/lib/source-code/index.js +5 -0
  774. data/packages/webpacker/node_modules/eslint/lib/source-code/source-code.js +593 -0
  775. data/packages/webpacker/node_modules/eslint/lib/source-code/token-store/backward-token-comment-cursor.js +57 -0
  776. data/packages/webpacker/node_modules/eslint/lib/source-code/token-store/backward-token-cursor.js +58 -0
  777. data/packages/webpacker/node_modules/eslint/lib/source-code/token-store/cursor.js +76 -0
  778. data/packages/webpacker/node_modules/eslint/lib/source-code/token-store/cursors.js +90 -0
  779. data/packages/webpacker/node_modules/eslint/lib/source-code/token-store/decorative-cursor.js +39 -0
  780. data/packages/webpacker/node_modules/eslint/lib/source-code/token-store/filter-cursor.js +43 -0
  781. data/packages/webpacker/node_modules/eslint/lib/source-code/token-store/forward-token-comment-cursor.js +57 -0
  782. data/packages/webpacker/node_modules/eslint/lib/source-code/token-store/forward-token-cursor.js +63 -0
  783. data/packages/webpacker/node_modules/eslint/lib/source-code/token-store/index.js +627 -0
  784. data/packages/webpacker/node_modules/eslint/lib/source-code/token-store/limit-cursor.js +40 -0
  785. data/packages/webpacker/node_modules/eslint/lib/source-code/token-store/padded-token-cursor.js +38 -0
  786. data/packages/webpacker/node_modules/eslint/lib/source-code/token-store/skip-cursor.js +42 -0
  787. data/packages/webpacker/node_modules/eslint/lib/source-code/token-store/utils.js +92 -0
  788. data/packages/webpacker/node_modules/eslint/lib/unsupported-api.js +23 -0
  789. data/packages/webpacker/node_modules/eslint/messages/all-files-ignored.js +16 -0
  790. data/packages/webpacker/node_modules/eslint/messages/extend-config-missing.js +13 -0
  791. data/packages/webpacker/node_modules/eslint/messages/failed-to-read-json.js +11 -0
  792. data/packages/webpacker/node_modules/eslint/messages/file-not-found.js +10 -0
  793. data/packages/webpacker/node_modules/eslint/messages/no-config-found.js +15 -0
  794. data/packages/webpacker/node_modules/eslint/messages/plugin-conflict.js +22 -0
  795. data/packages/webpacker/node_modules/eslint/messages/plugin-invalid.js +16 -0
  796. data/packages/webpacker/node_modules/eslint/messages/plugin-missing.js +19 -0
  797. data/packages/webpacker/node_modules/eslint/messages/print-config-with-directory-path.js +8 -0
  798. data/packages/webpacker/node_modules/eslint/messages/whitespace-found.js +11 -0
  799. data/packages/webpacker/node_modules/eslint/node_modules/eslint-visitor-keys/LICENSE +201 -0
  800. data/packages/webpacker/node_modules/eslint/node_modules/eslint-visitor-keys/README.md +107 -0
  801. data/packages/webpacker/node_modules/eslint/node_modules/eslint-visitor-keys/dist/eslint-visitor-keys.cjs +382 -0
  802. data/packages/webpacker/node_modules/eslint/node_modules/eslint-visitor-keys/dist/index.d.ts +18 -0
  803. data/packages/webpacker/node_modules/eslint/node_modules/eslint-visitor-keys/dist/visitor-keys.d.ts +10 -0
  804. data/packages/webpacker/node_modules/eslint/node_modules/eslint-visitor-keys/lib/index.js +65 -0
  805. data/packages/webpacker/node_modules/eslint/node_modules/eslint-visitor-keys/lib/visitor-keys.js +312 -0
  806. data/packages/webpacker/node_modules/eslint/node_modules/eslint-visitor-keys/package.json +62 -0
  807. data/packages/webpacker/node_modules/eslint/node_modules/ignore/LICENSE-MIT +21 -0
  808. data/packages/webpacker/node_modules/eslint/node_modules/ignore/README.md +412 -0
  809. data/packages/webpacker/node_modules/eslint/node_modules/ignore/index.d.ts +61 -0
  810. data/packages/webpacker/node_modules/eslint/node_modules/ignore/index.js +603 -0
  811. data/packages/webpacker/node_modules/eslint/node_modules/ignore/legacy.js +498 -0
  812. data/packages/webpacker/node_modules/eslint/node_modules/ignore/package.json +71 -0
  813. data/packages/webpacker/node_modules/eslint/package.json +150 -0
  814. data/packages/webpacker/node_modules/eslint-scope/LICENSE +22 -0
  815. data/packages/webpacker/node_modules/eslint-scope/README.md +66 -0
  816. data/packages/webpacker/node_modules/eslint-scope/dist/eslint-scope.cjs +2240 -0
  817. data/packages/webpacker/node_modules/eslint-scope/lib/definition.js +85 -0
  818. data/packages/webpacker/node_modules/eslint-scope/lib/index.js +172 -0
  819. data/packages/webpacker/node_modules/eslint-scope/lib/pattern-visitor.js +153 -0
  820. data/packages/webpacker/node_modules/eslint-scope/lib/reference.js +166 -0
  821. data/packages/webpacker/node_modules/eslint-scope/lib/referencer.js +654 -0
  822. data/packages/webpacker/node_modules/eslint-scope/lib/scope-manager.js +255 -0
  823. data/packages/webpacker/node_modules/eslint-scope/lib/scope.js +772 -0
  824. data/packages/webpacker/node_modules/eslint-scope/lib/variable.js +87 -0
  825. data/packages/webpacker/node_modules/eslint-scope/lib/version.js +3 -0
  826. data/packages/webpacker/node_modules/eslint-scope/package.json +62 -0
  827. data/packages/webpacker/node_modules/eslint-utils/LICENSE +21 -0
  828. data/packages/webpacker/node_modules/eslint-utils/README.md +38 -0
  829. data/packages/webpacker/node_modules/eslint-utils/index.js +1956 -0
  830. data/packages/webpacker/node_modules/eslint-utils/index.js.map +1 -0
  831. data/packages/webpacker/node_modules/eslint-utils/index.mjs +1914 -0
  832. data/packages/webpacker/node_modules/eslint-utils/index.mjs.map +1 -0
  833. data/packages/webpacker/node_modules/eslint-utils/package.json +78 -0
  834. data/packages/webpacker/node_modules/espree/LICENSE +25 -0
  835. data/packages/webpacker/node_modules/espree/README.md +250 -0
  836. data/packages/webpacker/node_modules/espree/dist/espree.cjs +917 -0
  837. data/packages/webpacker/node_modules/espree/espree.js +173 -0
  838. data/packages/webpacker/node_modules/espree/lib/espree.js +328 -0
  839. data/packages/webpacker/node_modules/espree/lib/features.js +27 -0
  840. data/packages/webpacker/node_modules/espree/lib/options.js +121 -0
  841. data/packages/webpacker/node_modules/espree/lib/token-translator.js +265 -0
  842. data/packages/webpacker/node_modules/espree/lib/version.js +3 -0
  843. data/packages/webpacker/node_modules/espree/node_modules/eslint-visitor-keys/LICENSE +201 -0
  844. data/packages/webpacker/node_modules/espree/node_modules/eslint-visitor-keys/README.md +107 -0
  845. data/packages/webpacker/node_modules/espree/node_modules/eslint-visitor-keys/dist/eslint-visitor-keys.cjs +382 -0
  846. data/packages/webpacker/node_modules/espree/node_modules/eslint-visitor-keys/dist/index.d.ts +18 -0
  847. data/packages/webpacker/node_modules/espree/node_modules/eslint-visitor-keys/dist/visitor-keys.d.ts +10 -0
  848. data/packages/webpacker/node_modules/espree/node_modules/eslint-visitor-keys/lib/index.js +65 -0
  849. data/packages/webpacker/node_modules/espree/node_modules/eslint-visitor-keys/lib/visitor-keys.js +312 -0
  850. data/packages/webpacker/node_modules/espree/node_modules/eslint-visitor-keys/package.json +62 -0
  851. data/packages/webpacker/node_modules/espree/package.json +86 -0
  852. data/packages/webpacker/node_modules/execa/index.d.ts +564 -0
  853. data/packages/webpacker/node_modules/execa/index.js +268 -0
  854. data/packages/webpacker/node_modules/execa/lib/command.js +52 -0
  855. data/packages/webpacker/node_modules/execa/lib/error.js +88 -0
  856. data/packages/webpacker/node_modules/execa/lib/kill.js +115 -0
  857. data/packages/webpacker/node_modules/execa/lib/promise.js +46 -0
  858. data/packages/webpacker/node_modules/execa/lib/stdio.js +52 -0
  859. data/packages/webpacker/node_modules/execa/lib/stream.js +97 -0
  860. data/packages/webpacker/node_modules/execa/license +9 -0
  861. data/packages/webpacker/node_modules/execa/package.json +74 -0
  862. data/packages/webpacker/node_modules/execa/readme.md +663 -0
  863. data/packages/webpacker/node_modules/expect/LICENSE +21 -0
  864. data/packages/webpacker/node_modules/expect/README.md +3 -0
  865. data/packages/webpacker/node_modules/expect/build/asymmetricMatchers.d.ts +75 -0
  866. data/packages/webpacker/node_modules/expect/build/asymmetricMatchers.js +432 -0
  867. data/packages/webpacker/node_modules/expect/build/extractExpectedAssertionsErrors.d.ts +10 -0
  868. data/packages/webpacker/node_modules/expect/build/extractExpectedAssertionsErrors.js +90 -0
  869. data/packages/webpacker/node_modules/expect/build/index.d.ts +15 -0
  870. data/packages/webpacker/node_modules/expect/build/index.js +485 -0
  871. data/packages/webpacker/node_modules/expect/build/jasmineUtils.d.ts +8 -0
  872. data/packages/webpacker/node_modules/expect/build/jasmineUtils.js +279 -0
  873. data/packages/webpacker/node_modules/expect/build/jestMatchersObject.d.ts +13 -0
  874. data/packages/webpacker/node_modules/expect/build/jestMatchersObject.js +120 -0
  875. data/packages/webpacker/node_modules/expect/build/matchers.d.ts +10 -0
  876. data/packages/webpacker/node_modules/expect/build/matchers.js +1370 -0
  877. data/packages/webpacker/node_modules/expect/build/print.d.ts +15 -0
  878. data/packages/webpacker/node_modules/expect/build/print.js +141 -0
  879. data/packages/webpacker/node_modules/expect/build/spyMatchers.d.ts +9 -0
  880. data/packages/webpacker/node_modules/expect/build/spyMatchers.js +1339 -0
  881. data/packages/webpacker/node_modules/expect/build/toThrowMatchers.d.ts +11 -0
  882. data/packages/webpacker/node_modules/expect/build/toThrowMatchers.js +464 -0
  883. data/packages/webpacker/node_modules/expect/build/types.d.ts +327 -0
  884. data/packages/webpacker/node_modules/expect/build/types.js +3 -0
  885. data/packages/webpacker/node_modules/expect/build/utils.d.ts +26 -0
  886. data/packages/webpacker/node_modules/expect/build/utils.js +458 -0
  887. data/packages/webpacker/node_modules/expect/package.json +42 -0
  888. data/packages/webpacker/node_modules/get-stream/buffer-stream.js +52 -0
  889. data/packages/webpacker/node_modules/get-stream/index.d.ts +105 -0
  890. data/packages/webpacker/node_modules/get-stream/index.js +61 -0
  891. data/packages/webpacker/node_modules/get-stream/license +9 -0
  892. data/packages/webpacker/node_modules/get-stream/package.json +47 -0
  893. data/packages/webpacker/node_modules/get-stream/readme.md +124 -0
  894. data/packages/webpacker/node_modules/glob-parent/LICENSE +15 -0
  895. data/packages/webpacker/node_modules/glob-parent/README.md +134 -0
  896. data/packages/webpacker/node_modules/glob-parent/index.js +75 -0
  897. data/packages/webpacker/node_modules/glob-parent/package.json +54 -0
  898. data/packages/webpacker/node_modules/globals/globals.json +1781 -0
  899. data/packages/webpacker/node_modules/globals/index.d.ts +6 -0
  900. data/packages/webpacker/node_modules/globals/index.js +2 -0
  901. data/packages/webpacker/node_modules/globals/license +9 -0
  902. data/packages/webpacker/node_modules/globals/package.json +55 -0
  903. data/packages/webpacker/node_modules/globals/readme.md +56 -0
  904. data/packages/webpacker/node_modules/has-flag/index.d.ts +39 -0
  905. data/packages/webpacker/node_modules/has-flag/index.js +8 -0
  906. data/packages/webpacker/node_modules/has-flag/license +9 -0
  907. data/packages/webpacker/node_modules/has-flag/package.json +46 -0
  908. data/packages/webpacker/node_modules/has-flag/readme.md +89 -0
  909. data/packages/webpacker/node_modules/human-signals/CHANGELOG.md +11 -0
  910. data/packages/webpacker/node_modules/human-signals/LICENSE +201 -0
  911. data/packages/webpacker/node_modules/human-signals/README.md +165 -0
  912. data/packages/webpacker/node_modules/human-signals/build/src/core.js +273 -0
  913. data/packages/webpacker/node_modules/human-signals/build/src/core.js.map +1 -0
  914. data/packages/webpacker/node_modules/human-signals/build/src/main.d.ts +52 -0
  915. data/packages/webpacker/node_modules/human-signals/build/src/main.js +71 -0
  916. data/packages/webpacker/node_modules/human-signals/build/src/main.js.map +1 -0
  917. data/packages/webpacker/node_modules/human-signals/build/src/realtime.js +19 -0
  918. data/packages/webpacker/node_modules/human-signals/build/src/realtime.js.map +1 -0
  919. data/packages/webpacker/node_modules/human-signals/build/src/signals.js +35 -0
  920. data/packages/webpacker/node_modules/human-signals/build/src/signals.js.map +1 -0
  921. data/packages/webpacker/node_modules/human-signals/package.json +64 -0
  922. data/packages/webpacker/node_modules/jest/LICENSE +21 -0
  923. data/packages/webpacker/node_modules/jest/README.md +11 -0
  924. data/packages/webpacker/node_modules/jest/bin/jest.js +13 -0
  925. data/packages/webpacker/node_modules/jest/build/jest.d.ts +8 -0
  926. data/packages/webpacker/node_modules/jest/build/jest.js +61 -0
  927. data/packages/webpacker/node_modules/jest/package.json +68 -0
  928. data/packages/webpacker/node_modules/jest-changed-files/LICENSE +21 -0
  929. data/packages/webpacker/node_modules/jest-changed-files/README.md +63 -0
  930. data/packages/webpacker/node_modules/jest-changed-files/build/git.d.ts +10 -0
  931. data/packages/webpacker/node_modules/jest-changed-files/build/git.js +179 -0
  932. data/packages/webpacker/node_modules/jest-changed-files/build/hg.d.ts +10 -0
  933. data/packages/webpacker/node_modules/jest-changed-files/build/hg.js +133 -0
  934. data/packages/webpacker/node_modules/jest-changed-files/build/index.d.ts +12 -0
  935. data/packages/webpacker/node_modules/jest-changed-files/build/index.js +86 -0
  936. data/packages/webpacker/node_modules/jest-changed-files/build/types.d.ts +28 -0
  937. data/packages/webpacker/node_modules/jest-changed-files/build/types.js +1 -0
  938. data/packages/webpacker/node_modules/jest-changed-files/package.json +31 -0
  939. data/packages/webpacker/node_modules/jest-cli/LICENSE +21 -0
  940. data/packages/webpacker/node_modules/jest-cli/README.md +11 -0
  941. data/packages/webpacker/node_modules/jest-cli/bin/jest.js +17 -0
  942. data/packages/webpacker/node_modules/jest-cli/build/cli/args.d.ts +448 -0
  943. data/packages/webpacker/node_modules/jest-cli/build/cli/args.js +710 -0
  944. data/packages/webpacker/node_modules/jest-cli/build/cli/index.d.ts +9 -0
  945. data/packages/webpacker/node_modules/jest-cli/build/cli/index.js +265 -0
  946. data/packages/webpacker/node_modules/jest-cli/build/index.d.ts +7 -0
  947. data/packages/webpacker/node_modules/jest-cli/build/index.js +13 -0
  948. data/packages/webpacker/node_modules/jest-cli/build/init/errors.d.ts +12 -0
  949. data/packages/webpacker/node_modules/jest-cli/build/init/errors.js +35 -0
  950. data/packages/webpacker/node_modules/jest-cli/build/init/generateConfigFile.d.ts +8 -0
  951. data/packages/webpacker/node_modules/jest-cli/build/init/generateConfigFile.js +104 -0
  952. data/packages/webpacker/node_modules/jest-cli/build/init/index.d.ts +7 -0
  953. data/packages/webpacker/node_modules/jest-cli/build/init/index.js +246 -0
  954. data/packages/webpacker/node_modules/jest-cli/build/init/modifyPackageJson.d.ts +12 -0
  955. data/packages/webpacker/node_modules/jest-cli/build/init/modifyPackageJson.js +28 -0
  956. data/packages/webpacker/node_modules/jest-cli/build/init/questions.d.ts +10 -0
  957. data/packages/webpacker/node_modules/jest-cli/build/init/questions.js +76 -0
  958. data/packages/webpacker/node_modules/jest-cli/build/init/types.d.ts +12 -0
  959. data/packages/webpacker/node_modules/jest-cli/build/init/types.js +1 -0
  960. data/packages/webpacker/node_modules/jest-cli/package.json +89 -0
  961. data/packages/webpacker/node_modules/jest-config/LICENSE +21 -0
  962. data/packages/webpacker/node_modules/jest-config/build/Defaults.d.ts +9 -0
  963. data/packages/webpacker/node_modules/jest-config/build/Defaults.js +125 -0
  964. data/packages/webpacker/node_modules/jest-config/build/Deprecated.d.ts +9 -0
  965. data/packages/webpacker/node_modules/jest-config/build/Deprecated.js +98 -0
  966. data/packages/webpacker/node_modules/jest-config/build/Descriptions.d.ts +11 -0
  967. data/packages/webpacker/node_modules/jest-config/build/Descriptions.js +107 -0
  968. data/packages/webpacker/node_modules/jest-config/build/ReporterValidationErrors.d.ts +19 -0
  969. data/packages/webpacker/node_modules/jest-config/build/ReporterValidationErrors.js +138 -0
  970. data/packages/webpacker/node_modules/jest-config/build/ValidConfig.d.ts +9 -0
  971. data/packages/webpacker/node_modules/jest-config/build/ValidConfig.js +199 -0
  972. data/packages/webpacker/node_modules/jest-config/build/color.d.ts +10 -0
  973. data/packages/webpacker/node_modules/jest-config/build/color.js +37 -0
  974. data/packages/webpacker/node_modules/jest-config/build/constants.d.ts +17 -0
  975. data/packages/webpacker/node_modules/jest-config/build/constants.js +104 -0
  976. data/packages/webpacker/node_modules/jest-config/build/getCacheDirectory.d.ts +9 -0
  977. data/packages/webpacker/node_modules/jest-config/build/getCacheDirectory.js +104 -0
  978. data/packages/webpacker/node_modules/jest-config/build/getMaxWorkers.d.ts +8 -0
  979. data/packages/webpacker/node_modules/jest-config/build/getMaxWorkers.js +65 -0
  980. data/packages/webpacker/node_modules/jest-config/build/index.d.ts +28 -0
  981. data/packages/webpacker/node_modules/jest-config/build/index.js +495 -0
  982. data/packages/webpacker/node_modules/jest-config/build/normalize.d.ts +13 -0
  983. data/packages/webpacker/node_modules/jest-config/build/normalize.js +1372 -0
  984. data/packages/webpacker/node_modules/jest-config/build/readConfigFileAndSetRootDir.d.ts +8 -0
  985. data/packages/webpacker/node_modules/jest-config/build/readConfigFileAndSetRootDir.js +204 -0
  986. data/packages/webpacker/node_modules/jest-config/build/resolveConfigPath.d.ts +8 -0
  987. data/packages/webpacker/node_modules/jest-config/build/resolveConfigPath.js +247 -0
  988. data/packages/webpacker/node_modules/jest-config/build/setFromArgv.d.ts +8 -0
  989. data/packages/webpacker/node_modules/jest-config/build/setFromArgv.js +68 -0
  990. data/packages/webpacker/node_modules/jest-config/build/utils.d.ts +27 -0
  991. data/packages/webpacker/node_modules/jest-config/build/utils.js +209 -0
  992. data/packages/webpacker/node_modules/jest-config/build/validatePattern.d.ts +7 -0
  993. data/packages/webpacker/node_modules/jest-config/build/validatePattern.js +25 -0
  994. data/packages/webpacker/node_modules/jest-config/package.json +68 -0
  995. data/packages/webpacker/node_modules/jest-diff/LICENSE +21 -0
  996. data/packages/webpacker/node_modules/jest-diff/README.md +671 -0
  997. data/packages/webpacker/node_modules/jest-diff/build/cleanupSemantic.d.ts +57 -0
  998. data/packages/webpacker/node_modules/jest-diff/build/cleanupSemantic.js +655 -0
  999. data/packages/webpacker/node_modules/jest-diff/build/constants.d.ts +8 -0
  1000. data/packages/webpacker/node_modules/jest-diff/build/constants.js +19 -0
  1001. data/packages/webpacker/node_modules/jest-diff/build/diffLines.d.ts +12 -0
  1002. data/packages/webpacker/node_modules/jest-diff/build/diffLines.js +220 -0
  1003. data/packages/webpacker/node_modules/jest-diff/build/diffStrings.d.ts +9 -0
  1004. data/packages/webpacker/node_modules/jest-diff/build/diffStrings.js +78 -0
  1005. data/packages/webpacker/node_modules/jest-diff/build/getAlignedDiffs.d.ts +10 -0
  1006. data/packages/webpacker/node_modules/jest-diff/build/getAlignedDiffs.js +244 -0
  1007. data/packages/webpacker/node_modules/jest-diff/build/index.d.ts +15 -0
  1008. data/packages/webpacker/node_modules/jest-diff/build/index.js +267 -0
  1009. data/packages/webpacker/node_modules/jest-diff/build/joinAlignedDiffs.d.ts +10 -0
  1010. data/packages/webpacker/node_modules/jest-diff/build/joinAlignedDiffs.js +303 -0
  1011. data/packages/webpacker/node_modules/jest-diff/build/normalizeDiffOptions.d.ts +9 -0
  1012. data/packages/webpacker/node_modules/jest-diff/build/normalizeDiffOptions.js +64 -0
  1013. data/packages/webpacker/node_modules/jest-diff/build/printDiffs.d.ts +10 -0
  1014. data/packages/webpacker/node_modules/jest-diff/build/printDiffs.js +85 -0
  1015. data/packages/webpacker/node_modules/jest-diff/build/types.d.ts +48 -0
  1016. data/packages/webpacker/node_modules/jest-diff/build/types.js +1 -0
  1017. data/packages/webpacker/node_modules/jest-diff/package.json +36 -0
  1018. data/packages/webpacker/node_modules/jest-docblock/LICENSE +21 -0
  1019. data/packages/webpacker/node_modules/jest-docblock/README.md +108 -0
  1020. data/packages/webpacker/node_modules/jest-docblock/build/index.d.ts +19 -0
  1021. data/packages/webpacker/node_modules/jest-docblock/build/index.js +153 -0
  1022. data/packages/webpacker/node_modules/jest-docblock/package.json +32 -0
  1023. data/packages/webpacker/node_modules/jest-each/LICENSE +21 -0
  1024. data/packages/webpacker/node_modules/jest-each/README.md +548 -0
  1025. data/packages/webpacker/node_modules/jest-each/build/bind.d.ts +15 -0
  1026. data/packages/webpacker/node_modules/jest-each/build/bind.js +79 -0
  1027. data/packages/webpacker/node_modules/jest-each/build/index.d.ts +79 -0
  1028. data/packages/webpacker/node_modules/jest-each/build/index.js +97 -0
  1029. data/packages/webpacker/node_modules/jest-each/build/table/array.d.ts +10 -0
  1030. data/packages/webpacker/node_modules/jest-each/build/table/array.js +151 -0
  1031. data/packages/webpacker/node_modules/jest-each/build/table/interpolation.d.ts +17 -0
  1032. data/packages/webpacker/node_modules/jest-each/build/table/interpolation.js +69 -0
  1033. data/packages/webpacker/node_modules/jest-each/build/table/template.d.ts +11 -0
  1034. data/packages/webpacker/node_modules/jest-each/build/table/template.js +45 -0
  1035. data/packages/webpacker/node_modules/jest-each/build/validation.d.ts +11 -0
  1036. data/packages/webpacker/node_modules/jest-each/build/validation.js +133 -0
  1037. data/packages/webpacker/node_modules/jest-each/package.json +41 -0
  1038. data/packages/webpacker/node_modules/jest-environment-jsdom/LICENSE +21 -0
  1039. data/packages/webpacker/node_modules/jest-environment-jsdom/build/index.d.ts +30 -0
  1040. data/packages/webpacker/node_modules/jest-environment-jsdom/build/index.js +195 -0
  1041. data/packages/webpacker/node_modules/jest-environment-jsdom/package.json +39 -0
  1042. data/packages/webpacker/node_modules/jest-environment-node/LICENSE +21 -0
  1043. data/packages/webpacker/node_modules/jest-environment-node/build/index.d.ts +29 -0
  1044. data/packages/webpacker/node_modules/jest-environment-node/build/index.js +184 -0
  1045. data/packages/webpacker/node_modules/jest-environment-node/package.json +37 -0
  1046. data/packages/webpacker/node_modules/jest-get-type/LICENSE +21 -0
  1047. data/packages/webpacker/node_modules/jest-get-type/build/index.d.ts +10 -0
  1048. data/packages/webpacker/node_modules/jest-get-type/build/index.js +57 -0
  1049. data/packages/webpacker/node_modules/jest-get-type/package.json +27 -0
  1050. data/packages/webpacker/node_modules/jest-haste-map/LICENSE +21 -0
  1051. data/packages/webpacker/node_modules/jest-haste-map/build/HasteFS.d.ts +27 -0
  1052. data/packages/webpacker/node_modules/jest-haste-map/build/HasteFS.js +179 -0
  1053. data/packages/webpacker/node_modules/jest-haste-map/build/ModuleMap.d.ts +41 -0
  1054. data/packages/webpacker/node_modules/jest-haste-map/build/ModuleMap.js +305 -0
  1055. data/packages/webpacker/node_modules/jest-haste-map/build/blacklist.d.ts +8 -0
  1056. data/packages/webpacker/node_modules/jest-haste-map/build/blacklist.js +59 -0
  1057. data/packages/webpacker/node_modules/jest-haste-map/build/constants.d.ts +9 -0
  1058. data/packages/webpacker/node_modules/jest-haste-map/build/constants.js +52 -0
  1059. data/packages/webpacker/node_modules/jest-haste-map/build/crawlers/node.d.ts +12 -0
  1060. data/packages/webpacker/node_modules/jest-haste-map/build/crawlers/node.js +309 -0
  1061. data/packages/webpacker/node_modules/jest-haste-map/build/crawlers/watchman.d.ts +13 -0
  1062. data/packages/webpacker/node_modules/jest-haste-map/build/crawlers/watchman.js +385 -0
  1063. data/packages/webpacker/node_modules/jest-haste-map/build/getMockName.d.ts +8 -0
  1064. data/packages/webpacker/node_modules/jest-haste-map/build/getMockName.js +76 -0
  1065. data/packages/webpacker/node_modules/jest-haste-map/build/index.d.ts +184 -0
  1066. data/packages/webpacker/node_modules/jest-haste-map/build/index.js +1266 -0
  1067. data/packages/webpacker/node_modules/jest-haste-map/build/lib/dependencyExtractor.d.ts +7 -0
  1068. data/packages/webpacker/node_modules/jest-haste-map/build/lib/dependencyExtractor.js +99 -0
  1069. data/packages/webpacker/node_modules/jest-haste-map/build/lib/fast_path.d.ts +8 -0
  1070. data/packages/webpacker/node_modules/jest-haste-map/build/lib/fast_path.js +81 -0
  1071. data/packages/webpacker/node_modules/jest-haste-map/build/lib/getPlatformExtension.d.ts +7 -0
  1072. data/packages/webpacker/node_modules/jest-haste-map/build/lib/getPlatformExtension.js +31 -0
  1073. data/packages/webpacker/node_modules/jest-haste-map/build/lib/isRegExpSupported.d.ts +7 -0
  1074. data/packages/webpacker/node_modules/jest-haste-map/build/lib/isRegExpSupported.js +22 -0
  1075. data/packages/webpacker/node_modules/jest-haste-map/build/lib/normalizePathSep.d.ts +8 -0
  1076. data/packages/webpacker/node_modules/jest-haste-map/build/lib/normalizePathSep.js +75 -0
  1077. data/packages/webpacker/node_modules/jest-haste-map/build/types.d.ts +126 -0
  1078. data/packages/webpacker/node_modules/jest-haste-map/build/types.js +1 -0
  1079. data/packages/webpacker/node_modules/jest-haste-map/build/watchers/FSEventsWatcher.d.ts +44 -0
  1080. data/packages/webpacker/node_modules/jest-haste-map/build/watchers/FSEventsWatcher.js +294 -0
  1081. data/packages/webpacker/node_modules/jest-haste-map/build/watchers/NodeWatcher.js +375 -0
  1082. data/packages/webpacker/node_modules/jest-haste-map/build/watchers/RecrawlWarning.js +57 -0
  1083. data/packages/webpacker/node_modules/jest-haste-map/build/watchers/WatchmanWatcher.js +418 -0
  1084. data/packages/webpacker/node_modules/jest-haste-map/build/watchers/common.js +114 -0
  1085. data/packages/webpacker/node_modules/jest-haste-map/build/worker.d.ts +9 -0
  1086. data/packages/webpacker/node_modules/jest-haste-map/build/worker.js +197 -0
  1087. data/packages/webpacker/node_modules/jest-haste-map/package.json +49 -0
  1088. data/packages/webpacker/node_modules/jest-jasmine2/LICENSE +21 -0
  1089. data/packages/webpacker/node_modules/jest-jasmine2/build/ExpectationFailed.d.ts +8 -0
  1090. data/packages/webpacker/node_modules/jest-jasmine2/build/ExpectationFailed.js +16 -0
  1091. data/packages/webpacker/node_modules/jest-jasmine2/build/PCancelable.d.ts +17 -0
  1092. data/packages/webpacker/node_modules/jest-jasmine2/build/PCancelable.js +139 -0
  1093. data/packages/webpacker/node_modules/jest-jasmine2/build/assertionErrorMessage.d.ts +10 -0
  1094. data/packages/webpacker/node_modules/jest-jasmine2/build/assertionErrorMessage.js +156 -0
  1095. data/packages/webpacker/node_modules/jest-jasmine2/build/each.d.ts +8 -0
  1096. data/packages/webpacker/node_modules/jest-jasmine2/build/each.js +44 -0
  1097. data/packages/webpacker/node_modules/jest-jasmine2/build/errorOnPrivate.d.ts +8 -0
  1098. data/packages/webpacker/node_modules/jest-jasmine2/build/errorOnPrivate.js +66 -0
  1099. data/packages/webpacker/node_modules/jest-jasmine2/build/expectationResultFactory.d.ts +16 -0
  1100. data/packages/webpacker/node_modules/jest-jasmine2/build/expectationResultFactory.js +93 -0
  1101. data/packages/webpacker/node_modules/jest-jasmine2/build/index.d.ts +12 -0
  1102. data/packages/webpacker/node_modules/jest-jasmine2/build/index.js +247 -0
  1103. data/packages/webpacker/node_modules/jest-jasmine2/build/isError.d.ts +10 -0
  1104. data/packages/webpacker/node_modules/jest-jasmine2/build/isError.js +32 -0
  1105. data/packages/webpacker/node_modules/jest-jasmine2/build/jasmine/CallTracker.d.ts +25 -0
  1106. data/packages/webpacker/node_modules/jest-jasmine2/build/jasmine/CallTracker.js +121 -0
  1107. data/packages/webpacker/node_modules/jest-jasmine2/build/jasmine/Env.d.ts +43 -0
  1108. data/packages/webpacker/node_modules/jest-jasmine2/build/jasmine/Env.js +716 -0
  1109. data/packages/webpacker/node_modules/jest-jasmine2/build/jasmine/JsApiReporter.d.ts +31 -0
  1110. data/packages/webpacker/node_modules/jest-jasmine2/build/jasmine/JsApiReporter.js +173 -0
  1111. data/packages/webpacker/node_modules/jest-jasmine2/build/jasmine/ReportDispatcher.d.ts +22 -0
  1112. data/packages/webpacker/node_modules/jest-jasmine2/build/jasmine/ReportDispatcher.js +127 -0
  1113. data/packages/webpacker/node_modules/jest-jasmine2/build/jasmine/Spec.d.ts +81 -0
  1114. data/packages/webpacker/node_modules/jest-jasmine2/build/jasmine/Spec.js +298 -0
  1115. data/packages/webpacker/node_modules/jest-jasmine2/build/jasmine/SpyStrategy.d.ts +22 -0
  1116. data/packages/webpacker/node_modules/jest-jasmine2/build/jasmine/SpyStrategy.js +143 -0
  1117. data/packages/webpacker/node_modules/jest-jasmine2/build/jasmine/Suite.d.ts +61 -0
  1118. data/packages/webpacker/node_modules/jest-jasmine2/build/jasmine/Suite.js +235 -0
  1119. data/packages/webpacker/node_modules/jest-jasmine2/build/jasmine/Timer.d.ts +14 -0
  1120. data/packages/webpacker/node_modules/jest-jasmine2/build/jasmine/Timer.js +79 -0
  1121. data/packages/webpacker/node_modules/jest-jasmine2/build/jasmine/createSpy.d.ts +13 -0
  1122. data/packages/webpacker/node_modules/jest-jasmine2/build/jasmine/createSpy.js +88 -0
  1123. data/packages/webpacker/node_modules/jest-jasmine2/build/jasmine/jasmineLight.d.ts +27 -0
  1124. data/packages/webpacker/node_modules/jest-jasmine2/build/jasmine/jasmineLight.js +171 -0
  1125. data/packages/webpacker/node_modules/jest-jasmine2/build/jasmine/spyRegistry.d.ts +18 -0
  1126. data/packages/webpacker/node_modules/jest-jasmine2/build/jasmine/spyRegistry.js +222 -0
  1127. data/packages/webpacker/node_modules/jest-jasmine2/build/jasmineAsyncInstall.d.ts +8 -0
  1128. data/packages/webpacker/node_modules/jest-jasmine2/build/jasmineAsyncInstall.js +259 -0
  1129. data/packages/webpacker/node_modules/jest-jasmine2/build/jestExpect.d.ts +9 -0
  1130. data/packages/webpacker/node_modules/jest-jasmine2/build/jestExpect.js +69 -0
  1131. data/packages/webpacker/node_modules/jest-jasmine2/build/pTimeout.d.ts +7 -0
  1132. data/packages/webpacker/node_modules/jest-jasmine2/build/pTimeout.js +78 -0
  1133. data/packages/webpacker/node_modules/jest-jasmine2/build/queueRunner.d.ts +29 -0
  1134. data/packages/webpacker/node_modules/jest-jasmine2/build/queueRunner.js +127 -0
  1135. data/packages/webpacker/node_modules/jest-jasmine2/build/reporter.d.ts +31 -0
  1136. data/packages/webpacker/node_modules/jest-jasmine2/build/reporter.js +250 -0
  1137. data/packages/webpacker/node_modules/jest-jasmine2/build/setup_jest_globals.d.ts +16 -0
  1138. data/packages/webpacker/node_modules/jest-jasmine2/build/setup_jest_globals.js +121 -0
  1139. data/packages/webpacker/node_modules/jest-jasmine2/build/treeProcessor.d.ts +26 -0
  1140. data/packages/webpacker/node_modules/jest-jasmine2/build/treeProcessor.js +82 -0
  1141. data/packages/webpacker/node_modules/jest-jasmine2/build/types.d.ts +82 -0
  1142. data/packages/webpacker/node_modules/jest-jasmine2/build/types.js +7 -0
  1143. data/packages/webpacker/node_modules/jest-jasmine2/package.json +48 -0
  1144. data/packages/webpacker/node_modules/jest-leak-detector/LICENSE +21 -0
  1145. data/packages/webpacker/node_modules/jest-leak-detector/README.md +27 -0
  1146. data/packages/webpacker/node_modules/jest-leak-detector/build/index.d.ts +12 -0
  1147. data/packages/webpacker/node_modules/jest-leak-detector/build/index.js +135 -0
  1148. data/packages/webpacker/node_modules/jest-leak-detector/package.json +34 -0
  1149. data/packages/webpacker/node_modules/jest-matcher-utils/LICENSE +21 -0
  1150. data/packages/webpacker/node_modules/jest-matcher-utils/README.md +24 -0
  1151. data/packages/webpacker/node_modules/jest-matcher-utils/build/Replaceable.d.ts +17 -0
  1152. data/packages/webpacker/node_modules/jest-matcher-utils/build/Replaceable.js +82 -0
  1153. data/packages/webpacker/node_modules/jest-matcher-utils/build/deepCyclicCopyReplaceable.d.ts +7 -0
  1154. data/packages/webpacker/node_modules/jest-matcher-utils/build/deepCyclicCopyReplaceable.js +110 -0
  1155. data/packages/webpacker/node_modules/jest-matcher-utils/build/index.d.ts +53 -0
  1156. data/packages/webpacker/node_modules/jest-matcher-utils/build/index.js +590 -0
  1157. data/packages/webpacker/node_modules/jest-matcher-utils/package.json +37 -0
  1158. data/packages/webpacker/node_modules/jest-message-util/LICENSE +21 -0
  1159. data/packages/webpacker/node_modules/jest-message-util/build/index.d.ts +23 -0
  1160. data/packages/webpacker/node_modules/jest-message-util/build/index.js +501 -0
  1161. data/packages/webpacker/node_modules/jest-message-util/build/types.d.ts +10 -0
  1162. data/packages/webpacker/node_modules/jest-message-util/build/types.js +1 -0
  1163. data/packages/webpacker/node_modules/jest-message-util/package.json +42 -0
  1164. data/packages/webpacker/node_modules/jest-mock/LICENSE +21 -0
  1165. data/packages/webpacker/node_modules/jest-mock/README.md +92 -0
  1166. data/packages/webpacker/node_modules/jest-mock/build/index.d.ts +185 -0
  1167. data/packages/webpacker/node_modules/jest-mock/build/index.js +964 -0
  1168. data/packages/webpacker/node_modules/jest-mock/package.json +30 -0
  1169. data/packages/webpacker/node_modules/jest-regex-util/LICENSE +21 -0
  1170. data/packages/webpacker/node_modules/jest-regex-util/build/index.d.ts +10 -0
  1171. data/packages/webpacker/node_modules/jest-regex-util/build/index.js +48 -0
  1172. data/packages/webpacker/node_modules/jest-regex-util/package.json +29 -0
  1173. data/packages/webpacker/node_modules/jest-resolve/LICENSE +21 -0
  1174. data/packages/webpacker/node_modules/jest-resolve/build/ModuleNotFoundError.d.ts +18 -0
  1175. data/packages/webpacker/node_modules/jest-resolve/build/ModuleNotFoundError.js +146 -0
  1176. data/packages/webpacker/node_modules/jest-resolve/build/defaultResolver.d.ts +29 -0
  1177. data/packages/webpacker/node_modules/jest-resolve/build/defaultResolver.js +123 -0
  1178. data/packages/webpacker/node_modules/jest-resolve/build/fileWalkers.d.ts +14 -0
  1179. data/packages/webpacker/node_modules/jest-resolve/build/fileWalkers.js +214 -0
  1180. data/packages/webpacker/node_modules/jest-resolve/build/index.d.ts +10 -0
  1181. data/packages/webpacker/node_modules/jest-resolve/build/index.js +36 -0
  1182. data/packages/webpacker/node_modules/jest-resolve/build/isBuiltinModule.d.ts +7 -0
  1183. data/packages/webpacker/node_modules/jest-resolve/build/isBuiltinModule.js +36 -0
  1184. data/packages/webpacker/node_modules/jest-resolve/build/nodeModulesPaths.d.ts +15 -0
  1185. data/packages/webpacker/node_modules/jest-resolve/build/nodeModulesPaths.js +128 -0
  1186. data/packages/webpacker/node_modules/jest-resolve/build/resolver.d.ts +58 -0
  1187. data/packages/webpacker/node_modules/jest-resolve/build/resolver.js +595 -0
  1188. data/packages/webpacker/node_modules/jest-resolve/build/shouldLoadAsEsm.d.ts +9 -0
  1189. data/packages/webpacker/node_modules/jest-resolve/build/shouldLoadAsEsm.js +112 -0
  1190. data/packages/webpacker/node_modules/jest-resolve/build/types.d.ts +23 -0
  1191. data/packages/webpacker/node_modules/jest-resolve/build/types.js +1 -0
  1192. data/packages/webpacker/node_modules/jest-resolve/build/utils.d.ts +51 -0
  1193. data/packages/webpacker/node_modules/jest-resolve/build/utils.js +269 -0
  1194. data/packages/webpacker/node_modules/jest-resolve/package.json +42 -0
  1195. data/packages/webpacker/node_modules/jest-resolve-dependencies/LICENSE +21 -0
  1196. data/packages/webpacker/node_modules/jest-resolve-dependencies/build/index.d.ts +27 -0
  1197. data/packages/webpacker/node_modules/jest-resolve-dependencies/build/index.js +238 -0
  1198. data/packages/webpacker/node_modules/jest-resolve-dependencies/package.json +37 -0
  1199. data/packages/webpacker/node_modules/jest-runner/LICENSE +21 -0
  1200. data/packages/webpacker/node_modules/jest-runner/build/index.d.ts +24 -0
  1201. data/packages/webpacker/node_modules/jest-runner/build/index.js +300 -0
  1202. data/packages/webpacker/node_modules/jest-runner/build/runTest.d.ts +12 -0
  1203. data/packages/webpacker/node_modules/jest-runner/build/runTest.js +494 -0
  1204. data/packages/webpacker/node_modules/jest-runner/build/testWorker.d.ts +26 -0
  1205. data/packages/webpacker/node_modules/jest-runner/build/testWorker.js +150 -0
  1206. data/packages/webpacker/node_modules/jest-runner/build/types.d.ts +41 -0
  1207. data/packages/webpacker/node_modules/jest-runner/build/types.js +15 -0
  1208. data/packages/webpacker/node_modules/jest-runner/package.json +55 -0
  1209. data/packages/webpacker/node_modules/jest-runtime/LICENSE +21 -0
  1210. data/packages/webpacker/node_modules/jest-runtime/build/helpers.d.ts +10 -0
  1211. data/packages/webpacker/node_modules/jest-runtime/build/helpers.js +157 -0
  1212. data/packages/webpacker/node_modules/jest-runtime/build/index.d.ts +142 -0
  1213. data/packages/webpacker/node_modules/jest-runtime/build/index.js +2454 -0
  1214. data/packages/webpacker/node_modules/jest-runtime/build/types.d.ts +15 -0
  1215. data/packages/webpacker/node_modules/jest-runtime/build/types.js +1 -0
  1216. data/packages/webpacker/node_modules/jest-runtime/package.json +57 -0
  1217. data/packages/webpacker/node_modules/jest-serializer/LICENSE +21 -0
  1218. data/packages/webpacker/node_modules/jest-serializer/README.md +47 -0
  1219. data/packages/webpacker/node_modules/jest-serializer/build/index.d.ts +20 -0
  1220. data/packages/webpacker/node_modules/jest-serializer/build/index.js +109 -0
  1221. data/packages/webpacker/node_modules/jest-serializer/package.json +33 -0
  1222. data/packages/webpacker/node_modules/jest-serializer/v8.d.ts +11 -0
  1223. data/packages/webpacker/node_modules/jest-snapshot/LICENSE +21 -0
  1224. data/packages/webpacker/node_modules/jest-snapshot/build/InlineSnapshots.d.ts +15 -0
  1225. data/packages/webpacker/node_modules/jest-snapshot/build/InlineSnapshots.js +503 -0
  1226. data/packages/webpacker/node_modules/jest-snapshot/build/SnapshotResolver.d.ts +18 -0
  1227. data/packages/webpacker/node_modules/jest-snapshot/build/SnapshotResolver.js +179 -0
  1228. data/packages/webpacker/node_modules/jest-snapshot/build/State.d.ts +62 -0
  1229. data/packages/webpacker/node_modules/jest-snapshot/build/State.js +389 -0
  1230. data/packages/webpacker/node_modules/jest-snapshot/build/colors.d.ts +15 -0
  1231. data/packages/webpacker/node_modules/jest-snapshot/build/colors.js +38 -0
  1232. data/packages/webpacker/node_modules/jest-snapshot/build/dedentLines.d.ts +7 -0
  1233. data/packages/webpacker/node_modules/jest-snapshot/build/dedentLines.js +149 -0
  1234. data/packages/webpacker/node_modules/jest-snapshot/build/index.d.ts +34 -0
  1235. data/packages/webpacker/node_modules/jest-snapshot/build/index.js +645 -0
  1236. data/packages/webpacker/node_modules/jest-snapshot/build/mockSerializer.d.ts +11 -0
  1237. data/packages/webpacker/node_modules/jest-snapshot/build/mockSerializer.js +52 -0
  1238. data/packages/webpacker/node_modules/jest-snapshot/build/plugins.d.ts +9 -0
  1239. data/packages/webpacker/node_modules/jest-snapshot/build/plugins.js +48 -0
  1240. data/packages/webpacker/node_modules/jest-snapshot/build/printSnapshot.d.ts +24 -0
  1241. data/packages/webpacker/node_modules/jest-snapshot/build/printSnapshot.js +407 -0
  1242. data/packages/webpacker/node_modules/jest-snapshot/build/types.d.ts +25 -0
  1243. data/packages/webpacker/node_modules/jest-snapshot/build/types.js +1 -0
  1244. data/packages/webpacker/node_modules/jest-snapshot/build/utils.d.ts +28 -0
  1245. data/packages/webpacker/node_modules/jest-snapshot/build/utils.js +460 -0
  1246. data/packages/webpacker/node_modules/jest-snapshot/package.json +61 -0
  1247. data/packages/webpacker/node_modules/jest-util/LICENSE +21 -0
  1248. data/packages/webpacker/node_modules/jest-util/build/ErrorWithStack.d.ts +9 -0
  1249. data/packages/webpacker/node_modules/jest-util/build/ErrorWithStack.js +33 -0
  1250. data/packages/webpacker/node_modules/jest-util/build/clearLine.d.ts +8 -0
  1251. data/packages/webpacker/node_modules/jest-util/build/clearLine.js +18 -0
  1252. data/packages/webpacker/node_modules/jest-util/build/convertDescriptorToString.d.ts +7 -0
  1253. data/packages/webpacker/node_modules/jest-util/build/convertDescriptorToString.js +41 -0
  1254. data/packages/webpacker/node_modules/jest-util/build/createDirectory.d.ts +8 -0
  1255. data/packages/webpacker/node_modules/jest-util/build/createDirectory.js +76 -0
  1256. data/packages/webpacker/node_modules/jest-util/build/createProcessObject.d.ts +8 -0
  1257. data/packages/webpacker/node_modules/jest-util/build/createProcessObject.js +126 -0
  1258. data/packages/webpacker/node_modules/jest-util/build/deepCyclicCopy.d.ts +11 -0
  1259. data/packages/webpacker/node_modules/jest-util/build/deepCyclicCopy.js +84 -0
  1260. data/packages/webpacker/node_modules/jest-util/build/formatTime.d.ts +7 -0
  1261. data/packages/webpacker/node_modules/jest-util/build/formatTime.js +24 -0
  1262. data/packages/webpacker/node_modules/jest-util/build/globsToMatcher.d.ts +27 -0
  1263. data/packages/webpacker/node_modules/jest-util/build/globsToMatcher.js +108 -0
  1264. data/packages/webpacker/node_modules/jest-util/build/index.d.ts +25 -0
  1265. data/packages/webpacker/node_modules/jest-util/build/index.js +209 -0
  1266. data/packages/webpacker/node_modules/jest-util/build/installCommonGlobals.d.ts +8 -0
  1267. data/packages/webpacker/node_modules/jest-util/build/installCommonGlobals.js +123 -0
  1268. data/packages/webpacker/node_modules/jest-util/build/interopRequireDefault.d.ts +7 -0
  1269. data/packages/webpacker/node_modules/jest-util/build/interopRequireDefault.js +22 -0
  1270. data/packages/webpacker/node_modules/jest-util/build/isInteractive.d.ts +8 -0
  1271. data/packages/webpacker/node_modules/jest-util/build/isInteractive.js +27 -0
  1272. data/packages/webpacker/node_modules/jest-util/build/isPromise.d.ts +8 -0
  1273. data/packages/webpacker/node_modules/jest-util/build/isPromise.js +20 -0
  1274. data/packages/webpacker/node_modules/jest-util/build/pluralize.d.ts +7 -0
  1275. data/packages/webpacker/node_modules/jest-util/build/pluralize.js +16 -0
  1276. data/packages/webpacker/node_modules/jest-util/build/preRunMessage.d.ts +9 -0
  1277. data/packages/webpacker/node_modules/jest-util/build/preRunMessage.js +48 -0
  1278. data/packages/webpacker/node_modules/jest-util/build/replacePathSepForGlob.d.ts +8 -0
  1279. data/packages/webpacker/node_modules/jest-util/build/replacePathSepForGlob.js +16 -0
  1280. data/packages/webpacker/node_modules/jest-util/build/requireOrImportModule.d.ts +8 -0
  1281. data/packages/webpacker/node_modules/jest-util/build/requireOrImportModule.js +91 -0
  1282. data/packages/webpacker/node_modules/jest-util/build/setGlobal.d.ts +7 -0
  1283. data/packages/webpacker/node_modules/jest-util/build/setGlobal.js +17 -0
  1284. data/packages/webpacker/node_modules/jest-util/build/specialChars.d.ts +14 -0
  1285. data/packages/webpacker/node_modules/jest-util/build/specialChars.js +25 -0
  1286. data/packages/webpacker/node_modules/jest-util/build/testPathPatternToRegExp.d.ts +8 -0
  1287. data/packages/webpacker/node_modules/jest-util/build/testPathPatternToRegExp.js +19 -0
  1288. data/packages/webpacker/node_modules/jest-util/build/tryRealpath.d.ts +8 -0
  1289. data/packages/webpacker/node_modules/jest-util/build/tryRealpath.js +34 -0
  1290. data/packages/webpacker/node_modules/jest-util/package.json +39 -0
  1291. data/packages/webpacker/node_modules/jest-validate/LICENSE +21 -0
  1292. data/packages/webpacker/node_modules/jest-validate/README.md +196 -0
  1293. data/packages/webpacker/node_modules/jest-validate/build/condition.d.ts +9 -0
  1294. data/packages/webpacker/node_modules/jest-validate/build/condition.js +48 -0
  1295. data/packages/webpacker/node_modules/jest-validate/build/defaultConfig.d.ts +9 -0
  1296. data/packages/webpacker/node_modules/jest-validate/build/defaultConfig.js +42 -0
  1297. data/packages/webpacker/node_modules/jest-validate/build/deprecated.d.ts +8 -0
  1298. data/packages/webpacker/node_modules/jest-validate/build/deprecated.js +32 -0
  1299. data/packages/webpacker/node_modules/jest-validate/build/errors.d.ts +8 -0
  1300. data/packages/webpacker/node_modules/jest-validate/build/errors.js +75 -0
  1301. data/packages/webpacker/node_modules/jest-validate/build/exampleConfig.d.ts +9 -0
  1302. data/packages/webpacker/node_modules/jest-validate/build/exampleConfig.js +36 -0
  1303. data/packages/webpacker/node_modules/jest-validate/build/index.d.ts +11 -0
  1304. data/packages/webpacker/node_modules/jest-validate/build/index.js +61 -0
  1305. data/packages/webpacker/node_modules/jest-validate/build/types.d.ts +26 -0
  1306. data/packages/webpacker/node_modules/jest-validate/build/types.js +1 -0
  1307. data/packages/webpacker/node_modules/jest-validate/build/utils.d.ts +18 -0
  1308. data/packages/webpacker/node_modules/jest-validate/build/utils.js +129 -0
  1309. data/packages/webpacker/node_modules/jest-validate/build/validate.d.ts +13 -0
  1310. data/packages/webpacker/node_modules/jest-validate/build/validate.js +131 -0
  1311. data/packages/webpacker/node_modules/jest-validate/build/validateCLIOptions.d.ts +14 -0
  1312. data/packages/webpacker/node_modules/jest-validate/build/validateCLIOptions.js +141 -0
  1313. data/packages/webpacker/node_modules/jest-validate/build/warnings.d.ts +8 -0
  1314. data/packages/webpacker/node_modules/jest-validate/build/warnings.js +48 -0
  1315. data/packages/webpacker/node_modules/jest-validate/package.json +37 -0
  1316. data/packages/webpacker/node_modules/jest-watcher/LICENSE +21 -0
  1317. data/packages/webpacker/node_modules/jest-watcher/build/BaseWatchPlugin.d.ts +22 -0
  1318. data/packages/webpacker/node_modules/jest-watcher/build/BaseWatchPlugin.js +52 -0
  1319. data/packages/webpacker/node_modules/jest-watcher/build/JestHooks.d.ts +18 -0
  1320. data/packages/webpacker/node_modules/jest-watcher/build/JestHooks.js +91 -0
  1321. data/packages/webpacker/node_modules/jest-watcher/build/PatternPrompt.d.ts +20 -0
  1322. data/packages/webpacker/node_modules/jest-watcher/build/PatternPrompt.js +113 -0
  1323. data/packages/webpacker/node_modules/jest-watcher/build/constants.d.ts +18 -0
  1324. data/packages/webpacker/node_modules/jest-watcher/build/constants.js +27 -0
  1325. data/packages/webpacker/node_modules/jest-watcher/build/index.d.ts +13 -0
  1326. data/packages/webpacker/node_modules/jest-watcher/build/index.js +75 -0
  1327. data/packages/webpacker/node_modules/jest-watcher/build/lib/Prompt.d.ts +25 -0
  1328. data/packages/webpacker/node_modules/jest-watcher/build/lib/Prompt.js +158 -0
  1329. data/packages/webpacker/node_modules/jest-watcher/build/lib/colorize.d.ts +7 -0
  1330. data/packages/webpacker/node_modules/jest-watcher/build/lib/colorize.js +34 -0
  1331. data/packages/webpacker/node_modules/jest-watcher/build/lib/formatTestNameByPattern.d.ts +7 -0
  1332. data/packages/webpacker/node_modules/jest-watcher/build/lib/formatTestNameByPattern.js +81 -0
  1333. data/packages/webpacker/node_modules/jest-watcher/build/lib/patternModeHelpers.d.ts +9 -0
  1334. data/packages/webpacker/node_modules/jest-watcher/build/lib/patternModeHelpers.js +68 -0
  1335. data/packages/webpacker/node_modules/jest-watcher/build/lib/scroll.d.ts +12 -0
  1336. data/packages/webpacker/node_modules/jest-watcher/build/lib/scroll.js +34 -0
  1337. data/packages/webpacker/node_modules/jest-watcher/build/types.d.ts +60 -0
  1338. data/packages/webpacker/node_modules/jest-watcher/build/types.js +1 -0
  1339. data/packages/webpacker/node_modules/jest-watcher/package.json +40 -0
  1340. data/packages/webpacker/node_modules/jest-worker/LICENSE +21 -0
  1341. data/packages/webpacker/node_modules/jest-worker/README.md +247 -0
  1342. data/packages/webpacker/node_modules/jest-worker/build/Farm.d.ts +29 -0
  1343. data/packages/webpacker/node_modules/jest-worker/build/Farm.js +206 -0
  1344. data/packages/webpacker/node_modules/jest-worker/build/FifoQueue.d.ts +18 -0
  1345. data/packages/webpacker/node_modules/jest-worker/build/FifoQueue.js +171 -0
  1346. data/packages/webpacker/node_modules/jest-worker/build/PriorityQueue.d.ts +41 -0
  1347. data/packages/webpacker/node_modules/jest-worker/build/PriorityQueue.js +188 -0
  1348. data/packages/webpacker/node_modules/jest-worker/build/WorkerPool.d.ts +13 -0
  1349. data/packages/webpacker/node_modules/jest-worker/build/WorkerPool.js +49 -0
  1350. data/packages/webpacker/node_modules/jest-worker/build/base/BaseWorkerPool.d.ts +21 -0
  1351. data/packages/webpacker/node_modules/jest-worker/build/base/BaseWorkerPool.js +201 -0
  1352. data/packages/webpacker/node_modules/jest-worker/build/index.d.ts +49 -0
  1353. data/packages/webpacker/node_modules/jest-worker/build/index.js +223 -0
  1354. data/packages/webpacker/node_modules/jest-worker/build/types.d.ts +143 -0
  1355. data/packages/webpacker/node_modules/jest-worker/build/types.js +39 -0
  1356. data/packages/webpacker/node_modules/jest-worker/build/workers/ChildProcessWorker.d.ts +51 -0
  1357. data/packages/webpacker/node_modules/jest-worker/build/workers/ChildProcessWorker.js +333 -0
  1358. data/packages/webpacker/node_modules/jest-worker/build/workers/NodeThreadsWorker.d.ts +34 -0
  1359. data/packages/webpacker/node_modules/jest-worker/build/workers/NodeThreadsWorker.js +344 -0
  1360. data/packages/webpacker/node_modules/jest-worker/build/workers/messageParent.d.ts +8 -0
  1361. data/packages/webpacker/node_modules/jest-worker/build/workers/messageParent.js +38 -0
  1362. data/packages/webpacker/node_modules/jest-worker/build/workers/processChild.d.ts +7 -0
  1363. data/packages/webpacker/node_modules/jest-worker/build/workers/processChild.js +148 -0
  1364. data/packages/webpacker/node_modules/jest-worker/build/workers/threadChild.d.ts +7 -0
  1365. data/packages/webpacker/node_modules/jest-worker/build/workers/threadChild.js +159 -0
  1366. data/packages/webpacker/node_modules/jest-worker/node_modules/supports-color/browser.js +24 -0
  1367. data/packages/webpacker/node_modules/jest-worker/node_modules/supports-color/index.js +152 -0
  1368. data/packages/webpacker/node_modules/jest-worker/node_modules/supports-color/license +9 -0
  1369. data/packages/webpacker/node_modules/jest-worker/node_modules/supports-color/package.json +58 -0
  1370. data/packages/webpacker/node_modules/jest-worker/node_modules/supports-color/readme.md +77 -0
  1371. data/packages/webpacker/node_modules/jest-worker/package.json +38 -0
  1372. data/packages/webpacker/node_modules/pretty-format/LICENSE +21 -0
  1373. data/packages/webpacker/node_modules/pretty-format/README.md +458 -0
  1374. data/packages/webpacker/node_modules/pretty-format/build/collections.d.ts +32 -0
  1375. data/packages/webpacker/node_modules/pretty-format/build/collections.js +187 -0
  1376. data/packages/webpacker/node_modules/pretty-format/build/index.d.ts +25 -0
  1377. data/packages/webpacker/node_modules/pretty-format/build/index.js +597 -0
  1378. data/packages/webpacker/node_modules/pretty-format/build/plugins/AsymmetricMatcher.d.ts +11 -0
  1379. data/packages/webpacker/node_modules/pretty-format/build/plugins/AsymmetricMatcher.js +117 -0
  1380. data/packages/webpacker/node_modules/pretty-format/build/plugins/ConvertAnsi.d.ts +11 -0
  1381. data/packages/webpacker/node_modules/pretty-format/build/plugins/ConvertAnsi.js +96 -0
  1382. data/packages/webpacker/node_modules/pretty-format/build/plugins/DOMCollection.d.ts +11 -0
  1383. data/packages/webpacker/node_modules/pretty-format/build/plugins/DOMCollection.js +80 -0
  1384. data/packages/webpacker/node_modules/pretty-format/build/plugins/DOMElement.d.ts +11 -0
  1385. data/packages/webpacker/node_modules/pretty-format/build/plugins/DOMElement.js +128 -0
  1386. data/packages/webpacker/node_modules/pretty-format/build/plugins/Immutable.d.ts +11 -0
  1387. data/packages/webpacker/node_modules/pretty-format/build/plugins/Immutable.js +247 -0
  1388. data/packages/webpacker/node_modules/pretty-format/build/plugins/ReactElement.d.ts +11 -0
  1389. data/packages/webpacker/node_modules/pretty-format/build/plugins/ReactElement.js +166 -0
  1390. data/packages/webpacker/node_modules/pretty-format/build/plugins/ReactTestComponent.d.ts +18 -0
  1391. data/packages/webpacker/node_modules/pretty-format/build/plugins/ReactTestComponent.js +79 -0
  1392. data/packages/webpacker/node_modules/pretty-format/build/plugins/lib/escapeHTML.d.ts +7 -0
  1393. data/packages/webpacker/node_modules/pretty-format/build/plugins/lib/escapeHTML.js +16 -0
  1394. data/packages/webpacker/node_modules/pretty-format/build/plugins/lib/markup.d.ts +13 -0
  1395. data/packages/webpacker/node_modules/pretty-format/build/plugins/lib/markup.js +153 -0
  1396. data/packages/webpacker/node_modules/pretty-format/build/types.d.ts +108 -0
  1397. data/packages/webpacker/node_modules/pretty-format/build/types.js +1 -0
  1398. data/packages/webpacker/node_modules/pretty-format/node_modules/ansi-styles/index.d.ts +167 -0
  1399. data/packages/webpacker/node_modules/pretty-format/node_modules/ansi-styles/index.js +164 -0
  1400. data/packages/webpacker/node_modules/pretty-format/node_modules/ansi-styles/license +9 -0
  1401. data/packages/webpacker/node_modules/pretty-format/node_modules/ansi-styles/package.json +52 -0
  1402. data/packages/webpacker/node_modules/pretty-format/node_modules/ansi-styles/readme.md +144 -0
  1403. data/packages/webpacker/node_modules/pretty-format/package.json +44 -0
  1404. data/packages/webpacker/node_modules/react-is/LICENSE +21 -0
  1405. data/packages/webpacker/node_modules/react-is/README.md +104 -0
  1406. data/packages/webpacker/node_modules/react-is/build-info.json +8 -0
  1407. data/packages/webpacker/node_modules/react-is/cjs/react-is.development.js +226 -0
  1408. data/packages/webpacker/node_modules/react-is/cjs/react-is.production.min.js +14 -0
  1409. data/packages/webpacker/node_modules/react-is/index.js +7 -0
  1410. data/packages/webpacker/node_modules/react-is/package.json +27 -0
  1411. data/packages/webpacker/node_modules/react-is/umd/react-is.development.js +225 -0
  1412. data/packages/webpacker/node_modules/react-is/umd/react-is.production.min.js +14 -0
  1413. data/packages/webpacker/node_modules/semver/CHANGELOG.md +111 -0
  1414. data/packages/webpacker/node_modules/semver/LICENSE +15 -0
  1415. data/packages/webpacker/node_modules/semver/README.md +566 -0
  1416. data/packages/webpacker/node_modules/semver/bin/semver.js +173 -0
  1417. data/packages/webpacker/node_modules/semver/classes/comparator.js +135 -0
  1418. data/packages/webpacker/node_modules/semver/classes/index.js +5 -0
  1419. data/packages/webpacker/node_modules/semver/classes/range.js +510 -0
  1420. data/packages/webpacker/node_modules/semver/classes/semver.js +287 -0
  1421. data/packages/webpacker/node_modules/semver/functions/clean.js +6 -0
  1422. data/packages/webpacker/node_modules/semver/functions/cmp.js +48 -0
  1423. data/packages/webpacker/node_modules/semver/functions/coerce.js +51 -0
  1424. data/packages/webpacker/node_modules/semver/functions/compare-build.js +7 -0
  1425. data/packages/webpacker/node_modules/semver/functions/compare-loose.js +3 -0
  1426. data/packages/webpacker/node_modules/semver/functions/compare.js +5 -0
  1427. data/packages/webpacker/node_modules/semver/functions/diff.js +23 -0
  1428. data/packages/webpacker/node_modules/semver/functions/eq.js +3 -0
  1429. data/packages/webpacker/node_modules/semver/functions/gt.js +3 -0
  1430. data/packages/webpacker/node_modules/semver/functions/gte.js +3 -0
  1431. data/packages/webpacker/node_modules/semver/functions/inc.js +15 -0
  1432. data/packages/webpacker/node_modules/semver/functions/lt.js +3 -0
  1433. data/packages/webpacker/node_modules/semver/functions/lte.js +3 -0
  1434. data/packages/webpacker/node_modules/semver/functions/major.js +3 -0
  1435. data/packages/webpacker/node_modules/semver/functions/minor.js +3 -0
  1436. data/packages/webpacker/node_modules/semver/functions/neq.js +3 -0
  1437. data/packages/webpacker/node_modules/semver/functions/parse.js +33 -0
  1438. data/packages/webpacker/node_modules/semver/functions/patch.js +3 -0
  1439. data/packages/webpacker/node_modules/semver/functions/prerelease.js +6 -0
  1440. data/packages/webpacker/node_modules/semver/functions/rcompare.js +3 -0
  1441. data/packages/webpacker/node_modules/semver/functions/rsort.js +3 -0
  1442. data/packages/webpacker/node_modules/semver/functions/satisfies.js +10 -0
  1443. data/packages/webpacker/node_modules/semver/functions/sort.js +3 -0
  1444. data/packages/webpacker/node_modules/semver/functions/valid.js +6 -0
  1445. data/packages/webpacker/node_modules/semver/index.js +48 -0
  1446. data/packages/webpacker/node_modules/semver/internal/constants.js +17 -0
  1447. data/packages/webpacker/node_modules/semver/internal/debug.js +9 -0
  1448. data/packages/webpacker/node_modules/semver/internal/identifiers.js +23 -0
  1449. data/packages/webpacker/node_modules/semver/internal/parse-options.js +11 -0
  1450. data/packages/webpacker/node_modules/semver/internal/re.js +182 -0
  1451. data/packages/webpacker/node_modules/semver/package.json +41 -0
  1452. data/packages/webpacker/node_modules/semver/preload.js +2 -0
  1453. data/packages/webpacker/node_modules/semver/range.bnf +16 -0
  1454. data/packages/webpacker/node_modules/semver/ranges/gtr.js +4 -0
  1455. data/packages/webpacker/node_modules/semver/ranges/intersects.js +7 -0
  1456. data/packages/webpacker/node_modules/semver/ranges/ltr.js +4 -0
  1457. data/packages/webpacker/node_modules/semver/ranges/max-satisfying.js +25 -0
  1458. data/packages/webpacker/node_modules/semver/ranges/min-satisfying.js +24 -0
  1459. data/packages/webpacker/node_modules/semver/ranges/min-version.js +60 -0
  1460. data/packages/webpacker/node_modules/semver/ranges/outside.js +80 -0
  1461. data/packages/webpacker/node_modules/semver/ranges/simplify.js +44 -0
  1462. data/packages/webpacker/node_modules/semver/ranges/subset.js +222 -0
  1463. data/packages/webpacker/node_modules/semver/ranges/to-comparators.js +8 -0
  1464. data/packages/webpacker/node_modules/semver/ranges/valid.js +11 -0
  1465. data/packages/webpacker/node_modules/source-map/CHANGELOG.md +301 -0
  1466. data/packages/webpacker/node_modules/source-map/LICENSE +28 -0
  1467. data/packages/webpacker/node_modules/source-map/README.md +742 -0
  1468. data/packages/webpacker/node_modules/source-map/dist/source-map.debug.js +3234 -0
  1469. data/packages/webpacker/node_modules/source-map/dist/source-map.js +3233 -0
  1470. data/packages/webpacker/node_modules/source-map/dist/source-map.min.js +2 -0
  1471. data/packages/webpacker/node_modules/source-map/dist/source-map.min.js.map +1 -0
  1472. data/packages/webpacker/node_modules/source-map/lib/array-set.js +121 -0
  1473. data/packages/webpacker/node_modules/source-map/lib/base64-vlq.js +140 -0
  1474. data/packages/webpacker/node_modules/source-map/lib/base64.js +67 -0
  1475. data/packages/webpacker/node_modules/source-map/lib/binary-search.js +111 -0
  1476. data/packages/webpacker/node_modules/source-map/lib/mapping-list.js +79 -0
  1477. data/packages/webpacker/node_modules/source-map/lib/quick-sort.js +114 -0
  1478. data/packages/webpacker/node_modules/source-map/lib/source-map-consumer.js +1145 -0
  1479. data/packages/webpacker/node_modules/source-map/lib/source-map-generator.js +425 -0
  1480. data/packages/webpacker/node_modules/source-map/lib/source-node.js +413 -0
  1481. data/packages/webpacker/node_modules/source-map/lib/util.js +488 -0
  1482. data/packages/webpacker/node_modules/source-map/package.json +73 -0
  1483. data/packages/webpacker/node_modules/source-map/source-map.d.ts +98 -0
  1484. data/packages/webpacker/node_modules/source-map/source-map.js +8 -0
  1485. data/packages/webpacker/node_modules/supports-color/browser.js +5 -0
  1486. data/packages/webpacker/node_modules/supports-color/index.js +135 -0
  1487. data/packages/webpacker/node_modules/supports-color/license +9 -0
  1488. data/packages/webpacker/node_modules/supports-color/package.json +53 -0
  1489. data/packages/webpacker/node_modules/supports-color/readme.md +76 -0
  1490. data/packages/webpacker/node_modules/throat/LICENSE +19 -0
  1491. data/packages/webpacker/node_modules/throat/README.md +55 -0
  1492. data/packages/webpacker/node_modules/throat/index.d.ts +32 -0
  1493. data/packages/webpacker/node_modules/throat/index.js +145 -0
  1494. data/packages/webpacker/node_modules/throat/index.js.flow +7 -0
  1495. data/packages/webpacker/node_modules/throat/package.json +47 -0
  1496. data/packages/webpacker/node_modules/type-fest/base.d.ts +38 -0
  1497. data/packages/webpacker/node_modules/type-fest/index.d.ts +2 -0
  1498. data/packages/webpacker/node_modules/type-fest/license +9 -0
  1499. data/packages/webpacker/node_modules/type-fest/package.json +58 -0
  1500. data/packages/webpacker/node_modules/type-fest/readme.md +658 -0
  1501. data/packages/webpacker/node_modules/type-fest/source/async-return-type.d.ts +23 -0
  1502. data/packages/webpacker/node_modules/type-fest/source/asyncify.d.ts +31 -0
  1503. data/packages/webpacker/node_modules/type-fest/source/basic.d.ts +67 -0
  1504. data/packages/webpacker/node_modules/type-fest/source/conditional-except.d.ts +43 -0
  1505. data/packages/webpacker/node_modules/type-fest/source/conditional-keys.d.ts +43 -0
  1506. data/packages/webpacker/node_modules/type-fest/source/conditional-pick.d.ts +42 -0
  1507. data/packages/webpacker/node_modules/type-fest/source/entries.d.ts +57 -0
  1508. data/packages/webpacker/node_modules/type-fest/source/entry.d.ts +60 -0
  1509. data/packages/webpacker/node_modules/type-fest/source/except.d.ts +22 -0
  1510. data/packages/webpacker/node_modules/type-fest/source/fixed-length-array.d.ts +38 -0
  1511. data/packages/webpacker/node_modules/type-fest/source/iterable-element.d.ts +46 -0
  1512. data/packages/webpacker/node_modules/type-fest/source/literal-union.d.ts +33 -0
  1513. data/packages/webpacker/node_modules/type-fest/source/merge-exclusive.d.ts +39 -0
  1514. data/packages/webpacker/node_modules/type-fest/source/merge.d.ts +22 -0
  1515. data/packages/webpacker/node_modules/type-fest/source/mutable.d.ts +22 -0
  1516. data/packages/webpacker/node_modules/type-fest/source/opaque.d.ts +65 -0
  1517. data/packages/webpacker/node_modules/type-fest/source/package-json.d.ts +611 -0
  1518. data/packages/webpacker/node_modules/type-fest/source/partial-deep.d.ts +72 -0
  1519. data/packages/webpacker/node_modules/type-fest/source/promisable.d.ts +23 -0
  1520. data/packages/webpacker/node_modules/type-fest/source/promise-value.d.ts +27 -0
  1521. data/packages/webpacker/node_modules/type-fest/source/readonly-deep.d.ts +59 -0
  1522. data/packages/webpacker/node_modules/type-fest/source/require-at-least-one.d.ts +33 -0
  1523. data/packages/webpacker/node_modules/type-fest/source/require-exactly-one.d.ts +35 -0
  1524. data/packages/webpacker/node_modules/type-fest/source/set-optional.d.ts +34 -0
  1525. data/packages/webpacker/node_modules/type-fest/source/set-required.d.ts +34 -0
  1526. data/packages/webpacker/node_modules/type-fest/source/set-return-type.d.ts +29 -0
  1527. data/packages/webpacker/node_modules/type-fest/source/stringified.d.ts +21 -0
  1528. data/packages/webpacker/node_modules/type-fest/source/tsconfig-json.d.ts +870 -0
  1529. data/packages/webpacker/node_modules/type-fest/source/union-to-intersection.d.ts +58 -0
  1530. data/packages/webpacker/node_modules/type-fest/source/utilities.d.ts +3 -0
  1531. data/packages/webpacker/node_modules/type-fest/source/value-of.d.ts +40 -0
  1532. data/packages/webpacker/node_modules/type-fest/ts41/camel-case.d.ts +72 -0
  1533. data/packages/webpacker/node_modules/type-fest/ts41/delimiter-case.d.ts +85 -0
  1534. data/packages/webpacker/node_modules/type-fest/ts41/index.d.ts +9 -0
  1535. data/packages/webpacker/node_modules/type-fest/ts41/kebab-case.d.ts +36 -0
  1536. data/packages/webpacker/node_modules/type-fest/ts41/pascal-case.d.ts +36 -0
  1537. data/packages/webpacker/node_modules/type-fest/ts41/snake-case.d.ts +35 -0
  1538. data/packages/webpacker/node_modules/v8-to-istanbul/CHANGELOG.md +380 -0
  1539. data/packages/webpacker/node_modules/v8-to-istanbul/LICENSE.txt +14 -0
  1540. data/packages/webpacker/node_modules/v8-to-istanbul/README.md +90 -0
  1541. data/packages/webpacker/node_modules/v8-to-istanbul/index.d.ts +25 -0
  1542. data/packages/webpacker/node_modules/v8-to-istanbul/index.js +5 -0
  1543. data/packages/webpacker/node_modules/v8-to-istanbul/lib/branch.js +28 -0
  1544. data/packages/webpacker/node_modules/v8-to-istanbul/lib/function.js +29 -0
  1545. data/packages/webpacker/node_modules/v8-to-istanbul/lib/line.js +34 -0
  1546. data/packages/webpacker/node_modules/v8-to-istanbul/lib/range.js +33 -0
  1547. data/packages/webpacker/node_modules/v8-to-istanbul/lib/source.js +245 -0
  1548. data/packages/webpacker/node_modules/v8-to-istanbul/lib/v8-to-istanbul.js +318 -0
  1549. data/packages/webpacker/node_modules/v8-to-istanbul/node_modules/source-map/CHANGELOG.md +344 -0
  1550. data/packages/webpacker/node_modules/v8-to-istanbul/node_modules/source-map/LICENSE +28 -0
  1551. data/packages/webpacker/node_modules/v8-to-istanbul/node_modules/source-map/README.md +822 -0
  1552. data/packages/webpacker/node_modules/v8-to-istanbul/node_modules/source-map/dist/source-map.js +3351 -0
  1553. data/packages/webpacker/node_modules/v8-to-istanbul/node_modules/source-map/lib/array-set.js +100 -0
  1554. data/packages/webpacker/node_modules/v8-to-istanbul/node_modules/source-map/lib/base64-vlq.js +111 -0
  1555. data/packages/webpacker/node_modules/v8-to-istanbul/node_modules/source-map/lib/base64.js +18 -0
  1556. data/packages/webpacker/node_modules/v8-to-istanbul/node_modules/source-map/lib/binary-search.js +107 -0
  1557. data/packages/webpacker/node_modules/v8-to-istanbul/node_modules/source-map/lib/mapping-list.js +80 -0
  1558. data/packages/webpacker/node_modules/v8-to-istanbul/node_modules/source-map/lib/mappings.wasm +0 -0
  1559. data/packages/webpacker/node_modules/v8-to-istanbul/node_modules/source-map/lib/read-wasm.js +40 -0
  1560. data/packages/webpacker/node_modules/v8-to-istanbul/node_modules/source-map/lib/source-map-consumer.js +1254 -0
  1561. data/packages/webpacker/node_modules/v8-to-istanbul/node_modules/source-map/lib/source-map-generator.js +413 -0
  1562. data/packages/webpacker/node_modules/v8-to-istanbul/node_modules/source-map/lib/source-node.js +404 -0
  1563. data/packages/webpacker/node_modules/v8-to-istanbul/node_modules/source-map/lib/util.js +546 -0
  1564. data/packages/webpacker/node_modules/v8-to-istanbul/node_modules/source-map/lib/wasm.js +107 -0
  1565. data/packages/webpacker/node_modules/v8-to-istanbul/node_modules/source-map/package.json +90 -0
  1566. data/packages/webpacker/node_modules/v8-to-istanbul/node_modules/source-map/source-map.d.ts +369 -0
  1567. data/packages/webpacker/node_modules/v8-to-istanbul/node_modules/source-map/source-map.js +8 -0
  1568. data/packages/webpacker/node_modules/v8-to-istanbul/package.json +48 -0
  1569. data/packages/webpacker/node_modules/wrap-ansi/index.js +216 -0
  1570. data/packages/webpacker/node_modules/wrap-ansi/license +9 -0
  1571. data/packages/webpacker/node_modules/wrap-ansi/package.json +62 -0
  1572. data/packages/webpacker/node_modules/wrap-ansi/readme.md +91 -0
  1573. data/packages/webpacker/node_modules/y18n/CHANGELOG.md +100 -0
  1574. data/packages/webpacker/node_modules/y18n/LICENSE +13 -0
  1575. data/packages/webpacker/node_modules/y18n/README.md +127 -0
  1576. data/packages/webpacker/node_modules/y18n/build/index.cjs +203 -0
  1577. data/packages/webpacker/node_modules/y18n/build/lib/cjs.js +6 -0
  1578. data/packages/webpacker/node_modules/y18n/build/lib/index.js +174 -0
  1579. data/packages/webpacker/node_modules/y18n/build/lib/platform-shims/node.js +19 -0
  1580. data/packages/webpacker/node_modules/y18n/index.mjs +8 -0
  1581. data/packages/webpacker/node_modules/y18n/package.json +70 -0
  1582. data/packages/webpacker/node_modules/yargs/CHANGELOG.md +88 -0
  1583. data/packages/webpacker/node_modules/yargs/LICENSE +21 -0
  1584. data/packages/webpacker/node_modules/yargs/README.md +202 -0
  1585. data/packages/webpacker/node_modules/yargs/browser.mjs +7 -0
  1586. data/packages/webpacker/node_modules/yargs/build/index.cjs +2920 -0
  1587. data/packages/webpacker/node_modules/yargs/build/lib/argsert.js +62 -0
  1588. data/packages/webpacker/node_modules/yargs/build/lib/command.js +382 -0
  1589. data/packages/webpacker/node_modules/yargs/build/lib/completion-templates.js +47 -0
  1590. data/packages/webpacker/node_modules/yargs/build/lib/completion.js +128 -0
  1591. data/packages/webpacker/node_modules/yargs/build/lib/middleware.js +53 -0
  1592. data/packages/webpacker/node_modules/yargs/build/lib/parse-command.js +32 -0
  1593. data/packages/webpacker/node_modules/yargs/build/lib/typings/common-types.js +9 -0
  1594. data/packages/webpacker/node_modules/yargs/build/lib/typings/yargs-parser-types.js +1 -0
  1595. data/packages/webpacker/node_modules/yargs/build/lib/usage.js +548 -0
  1596. data/packages/webpacker/node_modules/yargs/build/lib/utils/apply-extends.js +59 -0
  1597. data/packages/webpacker/node_modules/yargs/build/lib/utils/is-promise.js +5 -0
  1598. data/packages/webpacker/node_modules/yargs/build/lib/utils/levenshtein.js +26 -0
  1599. data/packages/webpacker/node_modules/yargs/build/lib/utils/obj-filter.js +10 -0
  1600. data/packages/webpacker/node_modules/yargs/build/lib/utils/process-argv.js +17 -0
  1601. data/packages/webpacker/node_modules/yargs/build/lib/utils/set-blocking.js +12 -0
  1602. data/packages/webpacker/node_modules/yargs/build/lib/utils/which-module.js +10 -0
  1603. data/packages/webpacker/node_modules/yargs/build/lib/validation.js +308 -0
  1604. data/packages/webpacker/node_modules/yargs/build/lib/yargs-factory.js +1143 -0
  1605. data/packages/webpacker/node_modules/yargs/build/lib/yerror.js +7 -0
  1606. data/packages/webpacker/node_modules/yargs/helpers/helpers.mjs +10 -0
  1607. data/packages/webpacker/node_modules/yargs/helpers/index.js +14 -0
  1608. data/packages/webpacker/node_modules/yargs/helpers/package.json +3 -0
  1609. data/packages/webpacker/node_modules/yargs/index.cjs +39 -0
  1610. data/packages/webpacker/node_modules/yargs/index.mjs +8 -0
  1611. data/packages/webpacker/node_modules/yargs/lib/platform-shims/browser.mjs +92 -0
  1612. data/packages/webpacker/node_modules/yargs/lib/platform-shims/esm.mjs +67 -0
  1613. data/packages/webpacker/node_modules/yargs/locales/be.json +46 -0
  1614. data/packages/webpacker/node_modules/yargs/locales/de.json +46 -0
  1615. data/packages/webpacker/node_modules/yargs/locales/en.json +51 -0
  1616. data/packages/webpacker/node_modules/yargs/locales/es.json +46 -0
  1617. data/packages/webpacker/node_modules/yargs/locales/fi.json +49 -0
  1618. data/packages/webpacker/node_modules/yargs/locales/fr.json +53 -0
  1619. data/packages/webpacker/node_modules/yargs/locales/hi.json +49 -0
  1620. data/packages/webpacker/node_modules/yargs/locales/hu.json +46 -0
  1621. data/packages/webpacker/node_modules/yargs/locales/id.json +50 -0
  1622. data/packages/webpacker/node_modules/yargs/locales/it.json +46 -0
  1623. data/packages/webpacker/node_modules/yargs/locales/ja.json +51 -0
  1624. data/packages/webpacker/node_modules/yargs/locales/ko.json +49 -0
  1625. data/packages/webpacker/node_modules/yargs/locales/nb.json +44 -0
  1626. data/packages/webpacker/node_modules/yargs/locales/nl.json +49 -0
  1627. data/packages/webpacker/node_modules/yargs/locales/nn.json +44 -0
  1628. data/packages/webpacker/node_modules/yargs/locales/pirate.json +13 -0
  1629. data/packages/webpacker/node_modules/yargs/locales/pl.json +49 -0
  1630. data/packages/webpacker/node_modules/yargs/locales/pt.json +45 -0
  1631. data/packages/webpacker/node_modules/yargs/locales/pt_BR.json +48 -0
  1632. data/packages/webpacker/node_modules/yargs/locales/ru.json +46 -0
  1633. data/packages/webpacker/node_modules/yargs/locales/th.json +46 -0
  1634. data/packages/webpacker/node_modules/yargs/locales/tr.json +48 -0
  1635. data/packages/webpacker/node_modules/yargs/locales/zh_CN.json +48 -0
  1636. data/packages/webpacker/node_modules/yargs/locales/zh_TW.json +47 -0
  1637. data/packages/webpacker/node_modules/yargs/package.json +122 -0
  1638. data/packages/webpacker/node_modules/yargs/yargs +9 -0
  1639. data/packages/webpacker/node_modules/yargs-parser/CHANGELOG.md +263 -0
  1640. data/packages/webpacker/node_modules/yargs-parser/LICENSE.txt +14 -0
  1641. data/packages/webpacker/node_modules/yargs-parser/README.md +518 -0
  1642. data/packages/webpacker/node_modules/yargs-parser/browser.js +29 -0
  1643. data/packages/webpacker/node_modules/yargs-parser/build/index.cjs +1042 -0
  1644. data/packages/webpacker/node_modules/yargs-parser/build/lib/index.js +59 -0
  1645. data/packages/webpacker/node_modules/yargs-parser/build/lib/string-utils.js +65 -0
  1646. data/packages/webpacker/node_modules/yargs-parser/build/lib/tokenize-arg-string.js +40 -0
  1647. data/packages/webpacker/node_modules/yargs-parser/build/lib/yargs-parser-types.js +12 -0
  1648. data/packages/webpacker/node_modules/yargs-parser/build/lib/yargs-parser.js +1037 -0
  1649. data/packages/webpacker/node_modules/yargs-parser/package.json +87 -0
  1650. data/packages/webpacker/package.json +42 -31
  1651. data/packages/webpacker/src/loaders/decidim-sass-loader.js +88 -0
  1652. data/packages/webpacker/src/override-config.js +42 -41
  1653. metadata +1657 -47
@@ -0,0 +1,1764 @@
1
+ /**
2
+ * @fileoverview This rule sets a specific indentation style and width for your code
3
+ *
4
+ * @author Teddy Katz
5
+ * @author Vitaly Puzrin
6
+ * @author Gyandeep Singh
7
+ */
8
+
9
+ "use strict";
10
+
11
+ //------------------------------------------------------------------------------
12
+ // Requirements
13
+ //------------------------------------------------------------------------------
14
+
15
+ const createTree = require("functional-red-black-tree");
16
+
17
+ const astUtils = require("./utils/ast-utils");
18
+
19
+ //------------------------------------------------------------------------------
20
+ // Rule Definition
21
+ //------------------------------------------------------------------------------
22
+
23
+ const KNOWN_NODES = new Set([
24
+ "AssignmentExpression",
25
+ "AssignmentPattern",
26
+ "ArrayExpression",
27
+ "ArrayPattern",
28
+ "ArrowFunctionExpression",
29
+ "AwaitExpression",
30
+ "BlockStatement",
31
+ "BinaryExpression",
32
+ "BreakStatement",
33
+ "CallExpression",
34
+ "CatchClause",
35
+ "ChainExpression",
36
+ "ClassBody",
37
+ "ClassDeclaration",
38
+ "ClassExpression",
39
+ "ConditionalExpression",
40
+ "ContinueStatement",
41
+ "DoWhileStatement",
42
+ "DebuggerStatement",
43
+ "EmptyStatement",
44
+ "ExperimentalRestProperty",
45
+ "ExperimentalSpreadProperty",
46
+ "ExpressionStatement",
47
+ "ForStatement",
48
+ "ForInStatement",
49
+ "ForOfStatement",
50
+ "FunctionDeclaration",
51
+ "FunctionExpression",
52
+ "Identifier",
53
+ "IfStatement",
54
+ "Literal",
55
+ "LabeledStatement",
56
+ "LogicalExpression",
57
+ "MemberExpression",
58
+ "MetaProperty",
59
+ "MethodDefinition",
60
+ "NewExpression",
61
+ "ObjectExpression",
62
+ "ObjectPattern",
63
+ "PrivateIdentifier",
64
+ "Program",
65
+ "Property",
66
+ "PropertyDefinition",
67
+ "RestElement",
68
+ "ReturnStatement",
69
+ "SequenceExpression",
70
+ "SpreadElement",
71
+ "StaticBlock",
72
+ "Super",
73
+ "SwitchCase",
74
+ "SwitchStatement",
75
+ "TaggedTemplateExpression",
76
+ "TemplateElement",
77
+ "TemplateLiteral",
78
+ "ThisExpression",
79
+ "ThrowStatement",
80
+ "TryStatement",
81
+ "UnaryExpression",
82
+ "UpdateExpression",
83
+ "VariableDeclaration",
84
+ "VariableDeclarator",
85
+ "WhileStatement",
86
+ "WithStatement",
87
+ "YieldExpression",
88
+ "JSXFragment",
89
+ "JSXOpeningFragment",
90
+ "JSXClosingFragment",
91
+ "JSXIdentifier",
92
+ "JSXNamespacedName",
93
+ "JSXMemberExpression",
94
+ "JSXEmptyExpression",
95
+ "JSXExpressionContainer",
96
+ "JSXElement",
97
+ "JSXClosingElement",
98
+ "JSXOpeningElement",
99
+ "JSXAttribute",
100
+ "JSXSpreadAttribute",
101
+ "JSXText",
102
+ "ExportDefaultDeclaration",
103
+ "ExportNamedDeclaration",
104
+ "ExportAllDeclaration",
105
+ "ExportSpecifier",
106
+ "ImportDeclaration",
107
+ "ImportSpecifier",
108
+ "ImportDefaultSpecifier",
109
+ "ImportNamespaceSpecifier",
110
+ "ImportExpression"
111
+ ]);
112
+
113
+ /*
114
+ * General rule strategy:
115
+ * 1. An OffsetStorage instance stores a map of desired offsets, where each token has a specified offset from another
116
+ * specified token or to the first column.
117
+ * 2. As the AST is traversed, modify the desired offsets of tokens accordingly. For example, when entering a
118
+ * BlockStatement, offset all of the tokens in the BlockStatement by 1 indent level from the opening curly
119
+ * brace of the BlockStatement.
120
+ * 3. After traversing the AST, calculate the expected indentation levels of every token according to the
121
+ * OffsetStorage container.
122
+ * 4. For each line, compare the expected indentation of the first token to the actual indentation in the file,
123
+ * and report the token if the two values are not equal.
124
+ */
125
+
126
+
127
+ /**
128
+ * A mutable balanced binary search tree that stores (key, value) pairs. The keys are numeric, and must be unique.
129
+ * This is intended to be a generic wrapper around a balanced binary search tree library, so that the underlying implementation
130
+ * can easily be swapped out.
131
+ */
132
+ class BinarySearchTree {
133
+
134
+ /**
135
+ * Creates an empty tree
136
+ */
137
+ constructor() {
138
+ this._rbTree = createTree();
139
+ }
140
+
141
+ /**
142
+ * Inserts an entry into the tree.
143
+ * @param {number} key The entry's key
144
+ * @param {any} value The entry's value
145
+ * @returns {void}
146
+ */
147
+ insert(key, value) {
148
+ const iterator = this._rbTree.find(key);
149
+
150
+ if (iterator.valid) {
151
+ this._rbTree = iterator.update(value);
152
+ } else {
153
+ this._rbTree = this._rbTree.insert(key, value);
154
+ }
155
+ }
156
+
157
+ /**
158
+ * Finds the entry with the largest key less than or equal to the provided key
159
+ * @param {number} key The provided key
160
+ * @returns {{key: number, value: *}|null} The found entry, or null if no such entry exists.
161
+ */
162
+ findLe(key) {
163
+ const iterator = this._rbTree.le(key);
164
+
165
+ return iterator && { key: iterator.key, value: iterator.value };
166
+ }
167
+
168
+ /**
169
+ * Deletes all of the keys in the interval [start, end)
170
+ * @param {number} start The start of the range
171
+ * @param {number} end The end of the range
172
+ * @returns {void}
173
+ */
174
+ deleteRange(start, end) {
175
+
176
+ // Exit without traversing the tree if the range has zero size.
177
+ if (start === end) {
178
+ return;
179
+ }
180
+ const iterator = this._rbTree.ge(start);
181
+
182
+ while (iterator.valid && iterator.key < end) {
183
+ this._rbTree = this._rbTree.remove(iterator.key);
184
+ iterator.next();
185
+ }
186
+ }
187
+ }
188
+
189
+ /**
190
+ * A helper class to get token-based info related to indentation
191
+ */
192
+ class TokenInfo {
193
+
194
+ /**
195
+ * @param {SourceCode} sourceCode A SourceCode object
196
+ */
197
+ constructor(sourceCode) {
198
+ this.sourceCode = sourceCode;
199
+ this.firstTokensByLineNumber = sourceCode.tokensAndComments.reduce((map, token) => {
200
+ if (!map.has(token.loc.start.line)) {
201
+ map.set(token.loc.start.line, token);
202
+ }
203
+ if (!map.has(token.loc.end.line) && sourceCode.text.slice(token.range[1] - token.loc.end.column, token.range[1]).trim()) {
204
+ map.set(token.loc.end.line, token);
205
+ }
206
+ return map;
207
+ }, new Map());
208
+ }
209
+
210
+ /**
211
+ * Gets the first token on a given token's line
212
+ * @param {Token|ASTNode} token a node or token
213
+ * @returns {Token} The first token on the given line
214
+ */
215
+ getFirstTokenOfLine(token) {
216
+ return this.firstTokensByLineNumber.get(token.loc.start.line);
217
+ }
218
+
219
+ /**
220
+ * Determines whether a token is the first token in its line
221
+ * @param {Token} token The token
222
+ * @returns {boolean} `true` if the token is the first on its line
223
+ */
224
+ isFirstTokenOfLine(token) {
225
+ return this.getFirstTokenOfLine(token) === token;
226
+ }
227
+
228
+ /**
229
+ * Get the actual indent of a token
230
+ * @param {Token} token Token to examine. This should be the first token on its line.
231
+ * @returns {string} The indentation characters that precede the token
232
+ */
233
+ getTokenIndent(token) {
234
+ return this.sourceCode.text.slice(token.range[0] - token.loc.start.column, token.range[0]);
235
+ }
236
+ }
237
+
238
+ /**
239
+ * A class to store information on desired offsets of tokens from each other
240
+ */
241
+ class OffsetStorage {
242
+
243
+ /**
244
+ * @param {TokenInfo} tokenInfo a TokenInfo instance
245
+ * @param {number} indentSize The desired size of each indentation level
246
+ * @param {string} indentType The indentation character
247
+ */
248
+ constructor(tokenInfo, indentSize, indentType) {
249
+ this._tokenInfo = tokenInfo;
250
+ this._indentSize = indentSize;
251
+ this._indentType = indentType;
252
+
253
+ this._tree = new BinarySearchTree();
254
+ this._tree.insert(0, { offset: 0, from: null, force: false });
255
+
256
+ this._lockedFirstTokens = new WeakMap();
257
+ this._desiredIndentCache = new WeakMap();
258
+ this._ignoredTokens = new WeakSet();
259
+ }
260
+
261
+ _getOffsetDescriptor(token) {
262
+ return this._tree.findLe(token.range[0]).value;
263
+ }
264
+
265
+ /**
266
+ * Sets the offset column of token B to match the offset column of token A.
267
+ * - **WARNING**: This matches a *column*, even if baseToken is not the first token on its line. In
268
+ * most cases, `setDesiredOffset` should be used instead.
269
+ * @param {Token} baseToken The first token
270
+ * @param {Token} offsetToken The second token, whose offset should be matched to the first token
271
+ * @returns {void}
272
+ */
273
+ matchOffsetOf(baseToken, offsetToken) {
274
+
275
+ /*
276
+ * lockedFirstTokens is a map from a token whose indentation is controlled by the "first" option to
277
+ * the token that it depends on. For example, with the `ArrayExpression: first` option, the first
278
+ * token of each element in the array after the first will be mapped to the first token of the first
279
+ * element. The desired indentation of each of these tokens is computed based on the desired indentation
280
+ * of the "first" element, rather than through the normal offset mechanism.
281
+ */
282
+ this._lockedFirstTokens.set(offsetToken, baseToken);
283
+ }
284
+
285
+ /**
286
+ * Sets the desired offset of a token.
287
+ *
288
+ * This uses a line-based offset collapsing behavior to handle tokens on the same line.
289
+ * For example, consider the following two cases:
290
+ *
291
+ * (
292
+ * [
293
+ * bar
294
+ * ]
295
+ * )
296
+ *
297
+ * ([
298
+ * bar
299
+ * ])
300
+ *
301
+ * Based on the first case, it's clear that the `bar` token needs to have an offset of 1 indent level (4 spaces) from
302
+ * the `[` token, and the `[` token has to have an offset of 1 indent level from the `(` token. Since the `(` token is
303
+ * the first on its line (with an indent of 0 spaces), the `bar` token needs to be offset by 2 indent levels (8 spaces)
304
+ * from the start of its line.
305
+ *
306
+ * However, in the second case `bar` should only be indented by 4 spaces. This is because the offset of 1 indent level
307
+ * between the `(` and the `[` tokens gets "collapsed" because the two tokens are on the same line. As a result, the
308
+ * `(` token is mapped to the `[` token with an offset of 0, and the rule correctly decides that `bar` should be indented
309
+ * by 1 indent level from the start of the line.
310
+ *
311
+ * This is useful because rule listeners can usually just call `setDesiredOffset` for all the tokens in the node,
312
+ * without needing to check which lines those tokens are on.
313
+ *
314
+ * Note that since collapsing only occurs when two tokens are on the same line, there are a few cases where non-intuitive
315
+ * behavior can occur. For example, consider the following cases:
316
+ *
317
+ * foo(
318
+ * ).
319
+ * bar(
320
+ * baz
321
+ * )
322
+ *
323
+ * foo(
324
+ * ).bar(
325
+ * baz
326
+ * )
327
+ *
328
+ * Based on the first example, it would seem that `bar` should be offset by 1 indent level from `foo`, and `baz`
329
+ * should be offset by 1 indent level from `bar`. However, this is not correct, because it would result in `baz`
330
+ * being indented by 2 indent levels in the second case (since `foo`, `bar`, and `baz` are all on separate lines, no
331
+ * collapsing would occur).
332
+ *
333
+ * Instead, the correct way would be to offset `baz` by 1 level from `bar`, offset `bar` by 1 level from the `)`, and
334
+ * offset the `)` by 0 levels from `foo`. This ensures that the offset between `bar` and the `)` are correctly collapsed
335
+ * in the second case.
336
+ * @param {Token} token The token
337
+ * @param {Token} fromToken The token that `token` should be offset from
338
+ * @param {number} offset The desired indent level
339
+ * @returns {void}
340
+ */
341
+ setDesiredOffset(token, fromToken, offset) {
342
+ return this.setDesiredOffsets(token.range, fromToken, offset);
343
+ }
344
+
345
+ /**
346
+ * Sets the desired offset of all tokens in a range
347
+ * It's common for node listeners in this file to need to apply the same offset to a large, contiguous range of tokens.
348
+ * Moreover, the offset of any given token is usually updated multiple times (roughly once for each node that contains
349
+ * it). This means that the offset of each token is updated O(AST depth) times.
350
+ * It would not be performant to store and update the offsets for each token independently, because the rule would end
351
+ * up having a time complexity of O(number of tokens * AST depth), which is quite slow for large files.
352
+ *
353
+ * Instead, the offset tree is represented as a collection of contiguous offset ranges in a file. For example, the following
354
+ * list could represent the state of the offset tree at a given point:
355
+ *
356
+ * - Tokens starting in the interval [0, 15) are aligned with the beginning of the file
357
+ * - Tokens starting in the interval [15, 30) are offset by 1 indent level from the `bar` token
358
+ * - Tokens starting in the interval [30, 43) are offset by 1 indent level from the `foo` token
359
+ * - Tokens starting in the interval [43, 820) are offset by 2 indent levels from the `bar` token
360
+ * - Tokens starting in the interval [820, ∞) are offset by 1 indent level from the `baz` token
361
+ *
362
+ * The `setDesiredOffsets` methods inserts ranges like the ones above. The third line above would be inserted by using:
363
+ * `setDesiredOffsets([30, 43], fooToken, 1);`
364
+ * @param {[number, number]} range A [start, end] pair. All tokens with range[0] <= token.start < range[1] will have the offset applied.
365
+ * @param {Token} fromToken The token that this is offset from
366
+ * @param {number} offset The desired indent level
367
+ * @param {boolean} force `true` if this offset should not use the normal collapsing behavior. This should almost always be false.
368
+ * @returns {void}
369
+ */
370
+ setDesiredOffsets(range, fromToken, offset, force) {
371
+
372
+ /*
373
+ * Offset ranges are stored as a collection of nodes, where each node maps a numeric key to an offset
374
+ * descriptor. The tree for the example above would have the following nodes:
375
+ *
376
+ * * key: 0, value: { offset: 0, from: null }
377
+ * * key: 15, value: { offset: 1, from: barToken }
378
+ * * key: 30, value: { offset: 1, from: fooToken }
379
+ * * key: 43, value: { offset: 2, from: barToken }
380
+ * * key: 820, value: { offset: 1, from: bazToken }
381
+ *
382
+ * To find the offset descriptor for any given token, one needs to find the node with the largest key
383
+ * which is <= token.start. To make this operation fast, the nodes are stored in a balanced binary
384
+ * search tree indexed by key.
385
+ */
386
+
387
+ const descriptorToInsert = { offset, from: fromToken, force };
388
+
389
+ const descriptorAfterRange = this._tree.findLe(range[1]).value;
390
+
391
+ const fromTokenIsInRange = fromToken && fromToken.range[0] >= range[0] && fromToken.range[1] <= range[1];
392
+ const fromTokenDescriptor = fromTokenIsInRange && this._getOffsetDescriptor(fromToken);
393
+
394
+ // First, remove any existing nodes in the range from the tree.
395
+ this._tree.deleteRange(range[0] + 1, range[1]);
396
+
397
+ // Insert a new node into the tree for this range
398
+ this._tree.insert(range[0], descriptorToInsert);
399
+
400
+ /*
401
+ * To avoid circular offset dependencies, keep the `fromToken` token mapped to whatever it was mapped to previously,
402
+ * even if it's in the current range.
403
+ */
404
+ if (fromTokenIsInRange) {
405
+ this._tree.insert(fromToken.range[0], fromTokenDescriptor);
406
+ this._tree.insert(fromToken.range[1], descriptorToInsert);
407
+ }
408
+
409
+ /*
410
+ * To avoid modifying the offset of tokens after the range, insert another node to keep the offset of the following
411
+ * tokens the same as it was before.
412
+ */
413
+ this._tree.insert(range[1], descriptorAfterRange);
414
+ }
415
+
416
+ /**
417
+ * Gets the desired indent of a token
418
+ * @param {Token} token The token
419
+ * @returns {string} The desired indent of the token
420
+ */
421
+ getDesiredIndent(token) {
422
+ if (!this._desiredIndentCache.has(token)) {
423
+
424
+ if (this._ignoredTokens.has(token)) {
425
+
426
+ /*
427
+ * If the token is ignored, use the actual indent of the token as the desired indent.
428
+ * This ensures that no errors are reported for this token.
429
+ */
430
+ this._desiredIndentCache.set(
431
+ token,
432
+ this._tokenInfo.getTokenIndent(token)
433
+ );
434
+ } else if (this._lockedFirstTokens.has(token)) {
435
+ const firstToken = this._lockedFirstTokens.get(token);
436
+
437
+ this._desiredIndentCache.set(
438
+ token,
439
+
440
+ // (indentation for the first element's line)
441
+ this.getDesiredIndent(this._tokenInfo.getFirstTokenOfLine(firstToken)) +
442
+
443
+ // (space between the start of the first element's line and the first element)
444
+ this._indentType.repeat(firstToken.loc.start.column - this._tokenInfo.getFirstTokenOfLine(firstToken).loc.start.column)
445
+ );
446
+ } else {
447
+ const offsetInfo = this._getOffsetDescriptor(token);
448
+ const offset = (
449
+ offsetInfo.from &&
450
+ offsetInfo.from.loc.start.line === token.loc.start.line &&
451
+ !/^\s*?\n/u.test(token.value) &&
452
+ !offsetInfo.force
453
+ ) ? 0 : offsetInfo.offset * this._indentSize;
454
+
455
+ this._desiredIndentCache.set(
456
+ token,
457
+ (offsetInfo.from ? this.getDesiredIndent(offsetInfo.from) : "") + this._indentType.repeat(offset)
458
+ );
459
+ }
460
+ }
461
+ return this._desiredIndentCache.get(token);
462
+ }
463
+
464
+ /**
465
+ * Ignores a token, preventing it from being reported.
466
+ * @param {Token} token The token
467
+ * @returns {void}
468
+ */
469
+ ignoreToken(token) {
470
+ if (this._tokenInfo.isFirstTokenOfLine(token)) {
471
+ this._ignoredTokens.add(token);
472
+ }
473
+ }
474
+
475
+ /**
476
+ * Gets the first token that the given token's indentation is dependent on
477
+ * @param {Token} token The token
478
+ * @returns {Token} The token that the given token depends on, or `null` if the given token is at the top level
479
+ */
480
+ getFirstDependency(token) {
481
+ return this._getOffsetDescriptor(token).from;
482
+ }
483
+ }
484
+
485
+ const ELEMENT_LIST_SCHEMA = {
486
+ oneOf: [
487
+ {
488
+ type: "integer",
489
+ minimum: 0
490
+ },
491
+ {
492
+ enum: ["first", "off"]
493
+ }
494
+ ]
495
+ };
496
+
497
+ /** @type {import('../shared/types').Rule} */
498
+ module.exports = {
499
+ meta: {
500
+ type: "layout",
501
+
502
+ docs: {
503
+ description: "enforce consistent indentation",
504
+ recommended: false,
505
+ url: "https://eslint.org/docs/rules/indent"
506
+ },
507
+
508
+ fixable: "whitespace",
509
+
510
+ schema: [
511
+ {
512
+ oneOf: [
513
+ {
514
+ enum: ["tab"]
515
+ },
516
+ {
517
+ type: "integer",
518
+ minimum: 0
519
+ }
520
+ ]
521
+ },
522
+ {
523
+ type: "object",
524
+ properties: {
525
+ SwitchCase: {
526
+ type: "integer",
527
+ minimum: 0,
528
+ default: 0
529
+ },
530
+ VariableDeclarator: {
531
+ oneOf: [
532
+ ELEMENT_LIST_SCHEMA,
533
+ {
534
+ type: "object",
535
+ properties: {
536
+ var: ELEMENT_LIST_SCHEMA,
537
+ let: ELEMENT_LIST_SCHEMA,
538
+ const: ELEMENT_LIST_SCHEMA
539
+ },
540
+ additionalProperties: false
541
+ }
542
+ ]
543
+ },
544
+ outerIIFEBody: {
545
+ oneOf: [
546
+ {
547
+ type: "integer",
548
+ minimum: 0
549
+ },
550
+ {
551
+ enum: ["off"]
552
+ }
553
+ ]
554
+ },
555
+ MemberExpression: {
556
+ oneOf: [
557
+ {
558
+ type: "integer",
559
+ minimum: 0
560
+ },
561
+ {
562
+ enum: ["off"]
563
+ }
564
+ ]
565
+ },
566
+ FunctionDeclaration: {
567
+ type: "object",
568
+ properties: {
569
+ parameters: ELEMENT_LIST_SCHEMA,
570
+ body: {
571
+ type: "integer",
572
+ minimum: 0
573
+ }
574
+ },
575
+ additionalProperties: false
576
+ },
577
+ FunctionExpression: {
578
+ type: "object",
579
+ properties: {
580
+ parameters: ELEMENT_LIST_SCHEMA,
581
+ body: {
582
+ type: "integer",
583
+ minimum: 0
584
+ }
585
+ },
586
+ additionalProperties: false
587
+ },
588
+ StaticBlock: {
589
+ type: "object",
590
+ properties: {
591
+ body: {
592
+ type: "integer",
593
+ minimum: 0
594
+ }
595
+ },
596
+ additionalProperties: false
597
+ },
598
+ CallExpression: {
599
+ type: "object",
600
+ properties: {
601
+ arguments: ELEMENT_LIST_SCHEMA
602
+ },
603
+ additionalProperties: false
604
+ },
605
+ ArrayExpression: ELEMENT_LIST_SCHEMA,
606
+ ObjectExpression: ELEMENT_LIST_SCHEMA,
607
+ ImportDeclaration: ELEMENT_LIST_SCHEMA,
608
+ flatTernaryExpressions: {
609
+ type: "boolean",
610
+ default: false
611
+ },
612
+ offsetTernaryExpressions: {
613
+ type: "boolean",
614
+ default: false
615
+ },
616
+ ignoredNodes: {
617
+ type: "array",
618
+ items: {
619
+ type: "string",
620
+ not: {
621
+ pattern: ":exit$"
622
+ }
623
+ }
624
+ },
625
+ ignoreComments: {
626
+ type: "boolean",
627
+ default: false
628
+ }
629
+ },
630
+ additionalProperties: false
631
+ }
632
+ ],
633
+ messages: {
634
+ wrongIndentation: "Expected indentation of {{expected}} but found {{actual}}."
635
+ }
636
+ },
637
+
638
+ create(context) {
639
+ const DEFAULT_VARIABLE_INDENT = 1;
640
+ const DEFAULT_PARAMETER_INDENT = 1;
641
+ const DEFAULT_FUNCTION_BODY_INDENT = 1;
642
+
643
+ let indentType = "space";
644
+ let indentSize = 4;
645
+ const options = {
646
+ SwitchCase: 0,
647
+ VariableDeclarator: {
648
+ var: DEFAULT_VARIABLE_INDENT,
649
+ let: DEFAULT_VARIABLE_INDENT,
650
+ const: DEFAULT_VARIABLE_INDENT
651
+ },
652
+ outerIIFEBody: 1,
653
+ FunctionDeclaration: {
654
+ parameters: DEFAULT_PARAMETER_INDENT,
655
+ body: DEFAULT_FUNCTION_BODY_INDENT
656
+ },
657
+ FunctionExpression: {
658
+ parameters: DEFAULT_PARAMETER_INDENT,
659
+ body: DEFAULT_FUNCTION_BODY_INDENT
660
+ },
661
+ StaticBlock: {
662
+ body: DEFAULT_FUNCTION_BODY_INDENT
663
+ },
664
+ CallExpression: {
665
+ arguments: DEFAULT_PARAMETER_INDENT
666
+ },
667
+ MemberExpression: 1,
668
+ ArrayExpression: 1,
669
+ ObjectExpression: 1,
670
+ ImportDeclaration: 1,
671
+ flatTernaryExpressions: false,
672
+ ignoredNodes: [],
673
+ ignoreComments: false
674
+ };
675
+
676
+ if (context.options.length) {
677
+ if (context.options[0] === "tab") {
678
+ indentSize = 1;
679
+ indentType = "tab";
680
+ } else {
681
+ indentSize = context.options[0];
682
+ indentType = "space";
683
+ }
684
+
685
+ if (context.options[1]) {
686
+ Object.assign(options, context.options[1]);
687
+
688
+ if (typeof options.VariableDeclarator === "number" || options.VariableDeclarator === "first") {
689
+ options.VariableDeclarator = {
690
+ var: options.VariableDeclarator,
691
+ let: options.VariableDeclarator,
692
+ const: options.VariableDeclarator
693
+ };
694
+ }
695
+ }
696
+ }
697
+
698
+ const sourceCode = context.getSourceCode();
699
+ const tokenInfo = new TokenInfo(sourceCode);
700
+ const offsets = new OffsetStorage(tokenInfo, indentSize, indentType === "space" ? " " : "\t");
701
+ const parameterParens = new WeakSet();
702
+
703
+ /**
704
+ * Creates an error message for a line, given the expected/actual indentation.
705
+ * @param {int} expectedAmount The expected amount of indentation characters for this line
706
+ * @param {int} actualSpaces The actual number of indentation spaces that were found on this line
707
+ * @param {int} actualTabs The actual number of indentation tabs that were found on this line
708
+ * @returns {string} An error message for this line
709
+ */
710
+ function createErrorMessageData(expectedAmount, actualSpaces, actualTabs) {
711
+ const expectedStatement = `${expectedAmount} ${indentType}${expectedAmount === 1 ? "" : "s"}`; // e.g. "2 tabs"
712
+ const foundSpacesWord = `space${actualSpaces === 1 ? "" : "s"}`; // e.g. "space"
713
+ const foundTabsWord = `tab${actualTabs === 1 ? "" : "s"}`; // e.g. "tabs"
714
+ let foundStatement;
715
+
716
+ if (actualSpaces > 0) {
717
+
718
+ /*
719
+ * Abbreviate the message if the expected indentation is also spaces.
720
+ * e.g. 'Expected 4 spaces but found 2' rather than 'Expected 4 spaces but found 2 spaces'
721
+ */
722
+ foundStatement = indentType === "space" ? actualSpaces : `${actualSpaces} ${foundSpacesWord}`;
723
+ } else if (actualTabs > 0) {
724
+ foundStatement = indentType === "tab" ? actualTabs : `${actualTabs} ${foundTabsWord}`;
725
+ } else {
726
+ foundStatement = "0";
727
+ }
728
+ return {
729
+ expected: expectedStatement,
730
+ actual: foundStatement
731
+ };
732
+ }
733
+
734
+ /**
735
+ * Reports a given indent violation
736
+ * @param {Token} token Token violating the indent rule
737
+ * @param {string} neededIndent Expected indentation string
738
+ * @returns {void}
739
+ */
740
+ function report(token, neededIndent) {
741
+ const actualIndent = Array.from(tokenInfo.getTokenIndent(token));
742
+ const numSpaces = actualIndent.filter(char => char === " ").length;
743
+ const numTabs = actualIndent.filter(char => char === "\t").length;
744
+
745
+ context.report({
746
+ node: token,
747
+ messageId: "wrongIndentation",
748
+ data: createErrorMessageData(neededIndent.length, numSpaces, numTabs),
749
+ loc: {
750
+ start: { line: token.loc.start.line, column: 0 },
751
+ end: { line: token.loc.start.line, column: token.loc.start.column }
752
+ },
753
+ fix(fixer) {
754
+ const range = [token.range[0] - token.loc.start.column, token.range[0]];
755
+ const newText = neededIndent;
756
+
757
+ return fixer.replaceTextRange(range, newText);
758
+ }
759
+ });
760
+ }
761
+
762
+ /**
763
+ * Checks if a token's indentation is correct
764
+ * @param {Token} token Token to examine
765
+ * @param {string} desiredIndent Desired indentation of the string
766
+ * @returns {boolean} `true` if the token's indentation is correct
767
+ */
768
+ function validateTokenIndent(token, desiredIndent) {
769
+ const indentation = tokenInfo.getTokenIndent(token);
770
+
771
+ return indentation === desiredIndent ||
772
+
773
+ // To avoid conflicts with no-mixed-spaces-and-tabs, don't report mixed spaces and tabs.
774
+ indentation.includes(" ") && indentation.includes("\t");
775
+ }
776
+
777
+ /**
778
+ * Check to see if the node is a file level IIFE
779
+ * @param {ASTNode} node The function node to check.
780
+ * @returns {boolean} True if the node is the outer IIFE
781
+ */
782
+ function isOuterIIFE(node) {
783
+
784
+ /*
785
+ * Verify that the node is an IIFE
786
+ */
787
+ if (!node.parent || node.parent.type !== "CallExpression" || node.parent.callee !== node) {
788
+ return false;
789
+ }
790
+
791
+ /*
792
+ * Navigate legal ancestors to determine whether this IIFE is outer.
793
+ * A "legal ancestor" is an expression or statement that causes the function to get executed immediately.
794
+ * For example, `!(function(){})()` is an outer IIFE even though it is preceded by a ! operator.
795
+ */
796
+ let statement = node.parent && node.parent.parent;
797
+
798
+ while (
799
+ statement.type === "UnaryExpression" && ["!", "~", "+", "-"].indexOf(statement.operator) > -1 ||
800
+ statement.type === "AssignmentExpression" ||
801
+ statement.type === "LogicalExpression" ||
802
+ statement.type === "SequenceExpression" ||
803
+ statement.type === "VariableDeclarator"
804
+ ) {
805
+ statement = statement.parent;
806
+ }
807
+
808
+ return (statement.type === "ExpressionStatement" || statement.type === "VariableDeclaration") && statement.parent.type === "Program";
809
+ }
810
+
811
+ /**
812
+ * Counts the number of linebreaks that follow the last non-whitespace character in a string
813
+ * @param {string} string The string to check
814
+ * @returns {number} The number of JavaScript linebreaks that follow the last non-whitespace character,
815
+ * or the total number of linebreaks if the string is all whitespace.
816
+ */
817
+ function countTrailingLinebreaks(string) {
818
+ const trailingWhitespace = string.match(/\s*$/u)[0];
819
+ const linebreakMatches = trailingWhitespace.match(astUtils.createGlobalLinebreakMatcher());
820
+
821
+ return linebreakMatches === null ? 0 : linebreakMatches.length;
822
+ }
823
+
824
+ /**
825
+ * Check indentation for lists of elements (arrays, objects, function params)
826
+ * @param {ASTNode[]} elements List of elements that should be offset
827
+ * @param {Token} startToken The start token of the list that element should be aligned against, e.g. '['
828
+ * @param {Token} endToken The end token of the list, e.g. ']'
829
+ * @param {number|string} offset The amount that the elements should be offset
830
+ * @returns {void}
831
+ */
832
+ function addElementListIndent(elements, startToken, endToken, offset) {
833
+
834
+ /**
835
+ * Gets the first token of a given element, including surrounding parentheses.
836
+ * @param {ASTNode} element A node in the `elements` list
837
+ * @returns {Token} The first token of this element
838
+ */
839
+ function getFirstToken(element) {
840
+ let token = sourceCode.getTokenBefore(element);
841
+
842
+ while (astUtils.isOpeningParenToken(token) && token !== startToken) {
843
+ token = sourceCode.getTokenBefore(token);
844
+ }
845
+ return sourceCode.getTokenAfter(token);
846
+ }
847
+
848
+ // Run through all the tokens in the list, and offset them by one indent level (mainly for comments, other things will end up overridden)
849
+ offsets.setDesiredOffsets(
850
+ [startToken.range[1], endToken.range[0]],
851
+ startToken,
852
+ typeof offset === "number" ? offset : 1
853
+ );
854
+ offsets.setDesiredOffset(endToken, startToken, 0);
855
+
856
+ // If the preference is "first" but there is no first element (e.g. sparse arrays w/ empty first slot), fall back to 1 level.
857
+ if (offset === "first" && elements.length && !elements[0]) {
858
+ return;
859
+ }
860
+ elements.forEach((element, index) => {
861
+ if (!element) {
862
+
863
+ // Skip holes in arrays
864
+ return;
865
+ }
866
+ if (offset === "off") {
867
+
868
+ // Ignore the first token of every element if the "off" option is used
869
+ offsets.ignoreToken(getFirstToken(element));
870
+ }
871
+
872
+ // Offset the following elements correctly relative to the first element
873
+ if (index === 0) {
874
+ return;
875
+ }
876
+ if (offset === "first" && tokenInfo.isFirstTokenOfLine(getFirstToken(element))) {
877
+ offsets.matchOffsetOf(getFirstToken(elements[0]), getFirstToken(element));
878
+ } else {
879
+ const previousElement = elements[index - 1];
880
+ const firstTokenOfPreviousElement = previousElement && getFirstToken(previousElement);
881
+ const previousElementLastToken = previousElement && sourceCode.getLastToken(previousElement);
882
+
883
+ if (
884
+ previousElement &&
885
+ previousElementLastToken.loc.end.line - countTrailingLinebreaks(previousElementLastToken.value) > startToken.loc.end.line
886
+ ) {
887
+ offsets.setDesiredOffsets(
888
+ [previousElement.range[1], element.range[1]],
889
+ firstTokenOfPreviousElement,
890
+ 0
891
+ );
892
+ }
893
+ }
894
+ });
895
+ }
896
+
897
+ /**
898
+ * Check and decide whether to check for indentation for blockless nodes
899
+ * Scenarios are for or while statements without braces around them
900
+ * @param {ASTNode} node node to examine
901
+ * @returns {void}
902
+ */
903
+ function addBlocklessNodeIndent(node) {
904
+ if (node.type !== "BlockStatement") {
905
+ const lastParentToken = sourceCode.getTokenBefore(node, astUtils.isNotOpeningParenToken);
906
+
907
+ let firstBodyToken = sourceCode.getFirstToken(node);
908
+ let lastBodyToken = sourceCode.getLastToken(node);
909
+
910
+ while (
911
+ astUtils.isOpeningParenToken(sourceCode.getTokenBefore(firstBodyToken)) &&
912
+ astUtils.isClosingParenToken(sourceCode.getTokenAfter(lastBodyToken))
913
+ ) {
914
+ firstBodyToken = sourceCode.getTokenBefore(firstBodyToken);
915
+ lastBodyToken = sourceCode.getTokenAfter(lastBodyToken);
916
+ }
917
+
918
+ offsets.setDesiredOffsets([firstBodyToken.range[0], lastBodyToken.range[1]], lastParentToken, 1);
919
+
920
+ /*
921
+ * For blockless nodes with semicolon-first style, don't indent the semicolon.
922
+ * e.g.
923
+ * if (foo) bar()
924
+ * ; [1, 2, 3].map(foo)
925
+ */
926
+ const lastToken = sourceCode.getLastToken(node);
927
+
928
+ if (node.type !== "EmptyStatement" && astUtils.isSemicolonToken(lastToken)) {
929
+ offsets.setDesiredOffset(lastToken, lastParentToken, 0);
930
+ }
931
+ }
932
+ }
933
+
934
+ /**
935
+ * Checks the indentation for nodes that are like function calls (`CallExpression` and `NewExpression`)
936
+ * @param {ASTNode} node A CallExpression or NewExpression node
937
+ * @returns {void}
938
+ */
939
+ function addFunctionCallIndent(node) {
940
+ let openingParen;
941
+
942
+ if (node.arguments.length) {
943
+ openingParen = sourceCode.getFirstTokenBetween(node.callee, node.arguments[0], astUtils.isOpeningParenToken);
944
+ } else {
945
+ openingParen = sourceCode.getLastToken(node, 1);
946
+ }
947
+ const closingParen = sourceCode.getLastToken(node);
948
+
949
+ parameterParens.add(openingParen);
950
+ parameterParens.add(closingParen);
951
+
952
+ /*
953
+ * If `?.` token exists, set desired offset for that.
954
+ * This logic is copied from `MemberExpression`'s.
955
+ */
956
+ if (node.optional) {
957
+ const dotToken = sourceCode.getTokenAfter(node.callee, astUtils.isQuestionDotToken);
958
+ const calleeParenCount = sourceCode.getTokensBetween(node.callee, dotToken, { filter: astUtils.isClosingParenToken }).length;
959
+ const firstTokenOfCallee = calleeParenCount
960
+ ? sourceCode.getTokenBefore(node.callee, { skip: calleeParenCount - 1 })
961
+ : sourceCode.getFirstToken(node.callee);
962
+ const lastTokenOfCallee = sourceCode.getTokenBefore(dotToken);
963
+ const offsetBase = lastTokenOfCallee.loc.end.line === openingParen.loc.start.line
964
+ ? lastTokenOfCallee
965
+ : firstTokenOfCallee;
966
+
967
+ offsets.setDesiredOffset(dotToken, offsetBase, 1);
968
+ }
969
+
970
+ const offsetAfterToken = node.callee.type === "TaggedTemplateExpression" ? sourceCode.getFirstToken(node.callee.quasi) : openingParen;
971
+ const offsetToken = sourceCode.getTokenBefore(offsetAfterToken);
972
+
973
+ offsets.setDesiredOffset(openingParen, offsetToken, 0);
974
+
975
+ addElementListIndent(node.arguments, openingParen, closingParen, options.CallExpression.arguments);
976
+ }
977
+
978
+ /**
979
+ * Checks the indentation of parenthesized values, given a list of tokens in a program
980
+ * @param {Token[]} tokens A list of tokens
981
+ * @returns {void}
982
+ */
983
+ function addParensIndent(tokens) {
984
+ const parenStack = [];
985
+ const parenPairs = [];
986
+
987
+ tokens.forEach(nextToken => {
988
+
989
+ // Accumulate a list of parenthesis pairs
990
+ if (astUtils.isOpeningParenToken(nextToken)) {
991
+ parenStack.push(nextToken);
992
+ } else if (astUtils.isClosingParenToken(nextToken)) {
993
+ parenPairs.unshift({ left: parenStack.pop(), right: nextToken });
994
+ }
995
+ });
996
+
997
+ parenPairs.forEach(pair => {
998
+ const leftParen = pair.left;
999
+ const rightParen = pair.right;
1000
+
1001
+ // We only want to handle parens around expressions, so exclude parentheses that are in function parameters and function call arguments.
1002
+ if (!parameterParens.has(leftParen) && !parameterParens.has(rightParen)) {
1003
+ const parenthesizedTokens = new Set(sourceCode.getTokensBetween(leftParen, rightParen));
1004
+
1005
+ parenthesizedTokens.forEach(token => {
1006
+ if (!parenthesizedTokens.has(offsets.getFirstDependency(token))) {
1007
+ offsets.setDesiredOffset(token, leftParen, 1);
1008
+ }
1009
+ });
1010
+ }
1011
+
1012
+ offsets.setDesiredOffset(rightParen, leftParen, 0);
1013
+ });
1014
+ }
1015
+
1016
+ /**
1017
+ * Ignore all tokens within an unknown node whose offset do not depend
1018
+ * on another token's offset within the unknown node
1019
+ * @param {ASTNode} node Unknown Node
1020
+ * @returns {void}
1021
+ */
1022
+ function ignoreNode(node) {
1023
+ const unknownNodeTokens = new Set(sourceCode.getTokens(node, { includeComments: true }));
1024
+
1025
+ unknownNodeTokens.forEach(token => {
1026
+ if (!unknownNodeTokens.has(offsets.getFirstDependency(token))) {
1027
+ const firstTokenOfLine = tokenInfo.getFirstTokenOfLine(token);
1028
+
1029
+ if (token === firstTokenOfLine) {
1030
+ offsets.ignoreToken(token);
1031
+ } else {
1032
+ offsets.setDesiredOffset(token, firstTokenOfLine, 0);
1033
+ }
1034
+ }
1035
+ });
1036
+ }
1037
+
1038
+ /**
1039
+ * Check whether the given token is on the first line of a statement.
1040
+ * @param {Token} token The token to check.
1041
+ * @param {ASTNode} leafNode The expression node that the token belongs directly.
1042
+ * @returns {boolean} `true` if the token is on the first line of a statement.
1043
+ */
1044
+ function isOnFirstLineOfStatement(token, leafNode) {
1045
+ let node = leafNode;
1046
+
1047
+ while (node.parent && !node.parent.type.endsWith("Statement") && !node.parent.type.endsWith("Declaration")) {
1048
+ node = node.parent;
1049
+ }
1050
+ node = node.parent;
1051
+
1052
+ return !node || node.loc.start.line === token.loc.start.line;
1053
+ }
1054
+
1055
+ /**
1056
+ * Check whether there are any blank (whitespace-only) lines between
1057
+ * two tokens on separate lines.
1058
+ * @param {Token} firstToken The first token.
1059
+ * @param {Token} secondToken The second token.
1060
+ * @returns {boolean} `true` if the tokens are on separate lines and
1061
+ * there exists a blank line between them, `false` otherwise.
1062
+ */
1063
+ function hasBlankLinesBetween(firstToken, secondToken) {
1064
+ const firstTokenLine = firstToken.loc.end.line;
1065
+ const secondTokenLine = secondToken.loc.start.line;
1066
+
1067
+ if (firstTokenLine === secondTokenLine || firstTokenLine === secondTokenLine - 1) {
1068
+ return false;
1069
+ }
1070
+
1071
+ for (let line = firstTokenLine + 1; line < secondTokenLine; ++line) {
1072
+ if (!tokenInfo.firstTokensByLineNumber.has(line)) {
1073
+ return true;
1074
+ }
1075
+ }
1076
+
1077
+ return false;
1078
+ }
1079
+
1080
+ const ignoredNodeFirstTokens = new Set();
1081
+
1082
+ const baseOffsetListeners = {
1083
+ "ArrayExpression, ArrayPattern"(node) {
1084
+ const openingBracket = sourceCode.getFirstToken(node);
1085
+ const closingBracket = sourceCode.getTokenAfter([...node.elements].reverse().find(_ => _) || openingBracket, astUtils.isClosingBracketToken);
1086
+
1087
+ addElementListIndent(node.elements, openingBracket, closingBracket, options.ArrayExpression);
1088
+ },
1089
+
1090
+ "ObjectExpression, ObjectPattern"(node) {
1091
+ const openingCurly = sourceCode.getFirstToken(node);
1092
+ const closingCurly = sourceCode.getTokenAfter(
1093
+ node.properties.length ? node.properties[node.properties.length - 1] : openingCurly,
1094
+ astUtils.isClosingBraceToken
1095
+ );
1096
+
1097
+ addElementListIndent(node.properties, openingCurly, closingCurly, options.ObjectExpression);
1098
+ },
1099
+
1100
+ ArrowFunctionExpression(node) {
1101
+ const maybeOpeningParen = sourceCode.getFirstToken(node, { skip: node.async ? 1 : 0 });
1102
+
1103
+ if (astUtils.isOpeningParenToken(maybeOpeningParen)) {
1104
+ const openingParen = maybeOpeningParen;
1105
+ const closingParen = sourceCode.getTokenBefore(node.body, astUtils.isClosingParenToken);
1106
+
1107
+ parameterParens.add(openingParen);
1108
+ parameterParens.add(closingParen);
1109
+ addElementListIndent(node.params, openingParen, closingParen, options.FunctionExpression.parameters);
1110
+ }
1111
+
1112
+ addBlocklessNodeIndent(node.body);
1113
+ },
1114
+
1115
+ AssignmentExpression(node) {
1116
+ const operator = sourceCode.getFirstTokenBetween(node.left, node.right, token => token.value === node.operator);
1117
+
1118
+ offsets.setDesiredOffsets([operator.range[0], node.range[1]], sourceCode.getLastToken(node.left), 1);
1119
+ offsets.ignoreToken(operator);
1120
+ offsets.ignoreToken(sourceCode.getTokenAfter(operator));
1121
+ },
1122
+
1123
+ "BinaryExpression, LogicalExpression"(node) {
1124
+ const operator = sourceCode.getFirstTokenBetween(node.left, node.right, token => token.value === node.operator);
1125
+
1126
+ /*
1127
+ * For backwards compatibility, don't check BinaryExpression indents, e.g.
1128
+ * var foo = bar &&
1129
+ * baz;
1130
+ */
1131
+
1132
+ const tokenAfterOperator = sourceCode.getTokenAfter(operator);
1133
+
1134
+ offsets.ignoreToken(operator);
1135
+ offsets.ignoreToken(tokenAfterOperator);
1136
+ offsets.setDesiredOffset(tokenAfterOperator, operator, 0);
1137
+ },
1138
+
1139
+ "BlockStatement, ClassBody"(node) {
1140
+ let blockIndentLevel;
1141
+
1142
+ if (node.parent && isOuterIIFE(node.parent)) {
1143
+ blockIndentLevel = options.outerIIFEBody;
1144
+ } else if (node.parent && (node.parent.type === "FunctionExpression" || node.parent.type === "ArrowFunctionExpression")) {
1145
+ blockIndentLevel = options.FunctionExpression.body;
1146
+ } else if (node.parent && node.parent.type === "FunctionDeclaration") {
1147
+ blockIndentLevel = options.FunctionDeclaration.body;
1148
+ } else {
1149
+ blockIndentLevel = 1;
1150
+ }
1151
+
1152
+ /*
1153
+ * For blocks that aren't lone statements, ensure that the opening curly brace
1154
+ * is aligned with the parent.
1155
+ */
1156
+ if (!astUtils.STATEMENT_LIST_PARENTS.has(node.parent.type)) {
1157
+ offsets.setDesiredOffset(sourceCode.getFirstToken(node), sourceCode.getFirstToken(node.parent), 0);
1158
+ }
1159
+
1160
+ addElementListIndent(node.body, sourceCode.getFirstToken(node), sourceCode.getLastToken(node), blockIndentLevel);
1161
+ },
1162
+
1163
+ CallExpression: addFunctionCallIndent,
1164
+
1165
+ "ClassDeclaration[superClass], ClassExpression[superClass]"(node) {
1166
+ const classToken = sourceCode.getFirstToken(node);
1167
+ const extendsToken = sourceCode.getTokenBefore(node.superClass, astUtils.isNotOpeningParenToken);
1168
+
1169
+ offsets.setDesiredOffsets([extendsToken.range[0], node.body.range[0]], classToken, 1);
1170
+ },
1171
+
1172
+ ConditionalExpression(node) {
1173
+ const firstToken = sourceCode.getFirstToken(node);
1174
+
1175
+ // `flatTernaryExpressions` option is for the following style:
1176
+ // var a =
1177
+ // foo > 0 ? bar :
1178
+ // foo < 0 ? baz :
1179
+ // /*else*/ qiz ;
1180
+ if (!options.flatTernaryExpressions ||
1181
+ !astUtils.isTokenOnSameLine(node.test, node.consequent) ||
1182
+ isOnFirstLineOfStatement(firstToken, node)
1183
+ ) {
1184
+ const questionMarkToken = sourceCode.getFirstTokenBetween(node.test, node.consequent, token => token.type === "Punctuator" && token.value === "?");
1185
+ const colonToken = sourceCode.getFirstTokenBetween(node.consequent, node.alternate, token => token.type === "Punctuator" && token.value === ":");
1186
+
1187
+ const firstConsequentToken = sourceCode.getTokenAfter(questionMarkToken);
1188
+ const lastConsequentToken = sourceCode.getTokenBefore(colonToken);
1189
+ const firstAlternateToken = sourceCode.getTokenAfter(colonToken);
1190
+
1191
+ offsets.setDesiredOffset(questionMarkToken, firstToken, 1);
1192
+ offsets.setDesiredOffset(colonToken, firstToken, 1);
1193
+
1194
+ offsets.setDesiredOffset(firstConsequentToken, firstToken, firstConsequentToken.type === "Punctuator" &&
1195
+ options.offsetTernaryExpressions ? 2 : 1);
1196
+
1197
+ /*
1198
+ * The alternate and the consequent should usually have the same indentation.
1199
+ * If they share part of a line, align the alternate against the first token of the consequent.
1200
+ * This allows the alternate to be indented correctly in cases like this:
1201
+ * foo ? (
1202
+ * bar
1203
+ * ) : ( // this '(' is aligned with the '(' above, so it's considered to be aligned with `foo`
1204
+ * baz // as a result, `baz` is offset by 1 rather than 2
1205
+ * )
1206
+ */
1207
+ if (lastConsequentToken.loc.end.line === firstAlternateToken.loc.start.line) {
1208
+ offsets.setDesiredOffset(firstAlternateToken, firstConsequentToken, 0);
1209
+ } else {
1210
+
1211
+ /**
1212
+ * If the alternate and consequent do not share part of a line, offset the alternate from the first
1213
+ * token of the conditional expression. For example:
1214
+ * foo ? bar
1215
+ * : baz
1216
+ *
1217
+ * If `baz` were aligned with `bar` rather than being offset by 1 from `foo`, `baz` would end up
1218
+ * having no expected indentation.
1219
+ */
1220
+ offsets.setDesiredOffset(firstAlternateToken, firstToken, firstAlternateToken.type === "Punctuator" &&
1221
+ options.offsetTernaryExpressions ? 2 : 1);
1222
+ }
1223
+ }
1224
+ },
1225
+
1226
+ "DoWhileStatement, WhileStatement, ForInStatement, ForOfStatement": node => addBlocklessNodeIndent(node.body),
1227
+
1228
+ ExportNamedDeclaration(node) {
1229
+ if (node.declaration === null) {
1230
+ const closingCurly = sourceCode.getLastToken(node, astUtils.isClosingBraceToken);
1231
+
1232
+ // Indent the specifiers in `export {foo, bar, baz}`
1233
+ addElementListIndent(node.specifiers, sourceCode.getFirstToken(node, { skip: 1 }), closingCurly, 1);
1234
+
1235
+ if (node.source) {
1236
+
1237
+ // Indent everything after and including the `from` token in `export {foo, bar, baz} from 'qux'`
1238
+ offsets.setDesiredOffsets([closingCurly.range[1], node.range[1]], sourceCode.getFirstToken(node), 1);
1239
+ }
1240
+ }
1241
+ },
1242
+
1243
+ ForStatement(node) {
1244
+ const forOpeningParen = sourceCode.getFirstToken(node, 1);
1245
+
1246
+ if (node.init) {
1247
+ offsets.setDesiredOffsets(node.init.range, forOpeningParen, 1);
1248
+ }
1249
+ if (node.test) {
1250
+ offsets.setDesiredOffsets(node.test.range, forOpeningParen, 1);
1251
+ }
1252
+ if (node.update) {
1253
+ offsets.setDesiredOffsets(node.update.range, forOpeningParen, 1);
1254
+ }
1255
+ addBlocklessNodeIndent(node.body);
1256
+ },
1257
+
1258
+ "FunctionDeclaration, FunctionExpression"(node) {
1259
+ const closingParen = sourceCode.getTokenBefore(node.body);
1260
+ const openingParen = sourceCode.getTokenBefore(node.params.length ? node.params[0] : closingParen);
1261
+
1262
+ parameterParens.add(openingParen);
1263
+ parameterParens.add(closingParen);
1264
+ addElementListIndent(node.params, openingParen, closingParen, options[node.type].parameters);
1265
+ },
1266
+
1267
+ IfStatement(node) {
1268
+ addBlocklessNodeIndent(node.consequent);
1269
+ if (node.alternate && node.alternate.type !== "IfStatement") {
1270
+ addBlocklessNodeIndent(node.alternate);
1271
+ }
1272
+ },
1273
+
1274
+ ImportDeclaration(node) {
1275
+ if (node.specifiers.some(specifier => specifier.type === "ImportSpecifier")) {
1276
+ const openingCurly = sourceCode.getFirstToken(node, astUtils.isOpeningBraceToken);
1277
+ const closingCurly = sourceCode.getLastToken(node, astUtils.isClosingBraceToken);
1278
+
1279
+ addElementListIndent(node.specifiers.filter(specifier => specifier.type === "ImportSpecifier"), openingCurly, closingCurly, options.ImportDeclaration);
1280
+ }
1281
+
1282
+ const fromToken = sourceCode.getLastToken(node, token => token.type === "Identifier" && token.value === "from");
1283
+ const sourceToken = sourceCode.getLastToken(node, token => token.type === "String");
1284
+ const semiToken = sourceCode.getLastToken(node, token => token.type === "Punctuator" && token.value === ";");
1285
+
1286
+ if (fromToken) {
1287
+ const end = semiToken && semiToken.range[1] === sourceToken.range[1] ? node.range[1] : sourceToken.range[1];
1288
+
1289
+ offsets.setDesiredOffsets([fromToken.range[0], end], sourceCode.getFirstToken(node), 1);
1290
+ }
1291
+ },
1292
+
1293
+ ImportExpression(node) {
1294
+ const openingParen = sourceCode.getFirstToken(node, 1);
1295
+ const closingParen = sourceCode.getLastToken(node);
1296
+
1297
+ parameterParens.add(openingParen);
1298
+ parameterParens.add(closingParen);
1299
+ offsets.setDesiredOffset(openingParen, sourceCode.getTokenBefore(openingParen), 0);
1300
+
1301
+ addElementListIndent([node.source], openingParen, closingParen, options.CallExpression.arguments);
1302
+ },
1303
+
1304
+ "MemberExpression, JSXMemberExpression, MetaProperty"(node) {
1305
+ const object = node.type === "MetaProperty" ? node.meta : node.object;
1306
+ const firstNonObjectToken = sourceCode.getFirstTokenBetween(object, node.property, astUtils.isNotClosingParenToken);
1307
+ const secondNonObjectToken = sourceCode.getTokenAfter(firstNonObjectToken);
1308
+
1309
+ const objectParenCount = sourceCode.getTokensBetween(object, node.property, { filter: astUtils.isClosingParenToken }).length;
1310
+ const firstObjectToken = objectParenCount
1311
+ ? sourceCode.getTokenBefore(object, { skip: objectParenCount - 1 })
1312
+ : sourceCode.getFirstToken(object);
1313
+ const lastObjectToken = sourceCode.getTokenBefore(firstNonObjectToken);
1314
+ const firstPropertyToken = node.computed ? firstNonObjectToken : secondNonObjectToken;
1315
+
1316
+ if (node.computed) {
1317
+
1318
+ // For computed MemberExpressions, match the closing bracket with the opening bracket.
1319
+ offsets.setDesiredOffset(sourceCode.getLastToken(node), firstNonObjectToken, 0);
1320
+ offsets.setDesiredOffsets(node.property.range, firstNonObjectToken, 1);
1321
+ }
1322
+
1323
+ /*
1324
+ * If the object ends on the same line that the property starts, match against the last token
1325
+ * of the object, to ensure that the MemberExpression is not indented.
1326
+ *
1327
+ * Otherwise, match against the first token of the object, e.g.
1328
+ * foo
1329
+ * .bar
1330
+ * .baz // <-- offset by 1 from `foo`
1331
+ */
1332
+ const offsetBase = lastObjectToken.loc.end.line === firstPropertyToken.loc.start.line
1333
+ ? lastObjectToken
1334
+ : firstObjectToken;
1335
+
1336
+ if (typeof options.MemberExpression === "number") {
1337
+
1338
+ // Match the dot (for non-computed properties) or the opening bracket (for computed properties) against the object.
1339
+ offsets.setDesiredOffset(firstNonObjectToken, offsetBase, options.MemberExpression);
1340
+
1341
+ /*
1342
+ * For computed MemberExpressions, match the first token of the property against the opening bracket.
1343
+ * Otherwise, match the first token of the property against the object.
1344
+ */
1345
+ offsets.setDesiredOffset(secondNonObjectToken, node.computed ? firstNonObjectToken : offsetBase, options.MemberExpression);
1346
+ } else {
1347
+
1348
+ // If the MemberExpression option is off, ignore the dot and the first token of the property.
1349
+ offsets.ignoreToken(firstNonObjectToken);
1350
+ offsets.ignoreToken(secondNonObjectToken);
1351
+
1352
+ // To ignore the property indentation, ensure that the property tokens depend on the ignored tokens.
1353
+ offsets.setDesiredOffset(firstNonObjectToken, offsetBase, 0);
1354
+ offsets.setDesiredOffset(secondNonObjectToken, firstNonObjectToken, 0);
1355
+ }
1356
+ },
1357
+
1358
+ NewExpression(node) {
1359
+
1360
+ // Only indent the arguments if the NewExpression has parens (e.g. `new Foo(bar)` or `new Foo()`, but not `new Foo`
1361
+ if (node.arguments.length > 0 ||
1362
+ astUtils.isClosingParenToken(sourceCode.getLastToken(node)) &&
1363
+ astUtils.isOpeningParenToken(sourceCode.getLastToken(node, 1))) {
1364
+ addFunctionCallIndent(node);
1365
+ }
1366
+ },
1367
+
1368
+ Property(node) {
1369
+ if (!node.shorthand && !node.method && node.kind === "init") {
1370
+ const colon = sourceCode.getFirstTokenBetween(node.key, node.value, astUtils.isColonToken);
1371
+
1372
+ offsets.ignoreToken(sourceCode.getTokenAfter(colon));
1373
+ }
1374
+ },
1375
+
1376
+ PropertyDefinition(node) {
1377
+ const firstToken = sourceCode.getFirstToken(node);
1378
+ const maybeSemicolonToken = sourceCode.getLastToken(node);
1379
+ let keyLastToken = null;
1380
+
1381
+ // Indent key.
1382
+ if (node.computed) {
1383
+ const bracketTokenL = sourceCode.getTokenBefore(node.key, astUtils.isOpeningBracketToken);
1384
+ const bracketTokenR = keyLastToken = sourceCode.getTokenAfter(node.key, astUtils.isClosingBracketToken);
1385
+ const keyRange = [bracketTokenL.range[1], bracketTokenR.range[0]];
1386
+
1387
+ if (bracketTokenL !== firstToken) {
1388
+ offsets.setDesiredOffset(bracketTokenL, firstToken, 0);
1389
+ }
1390
+ offsets.setDesiredOffsets(keyRange, bracketTokenL, 1);
1391
+ offsets.setDesiredOffset(bracketTokenR, bracketTokenL, 0);
1392
+ } else {
1393
+ const idToken = keyLastToken = sourceCode.getFirstToken(node.key);
1394
+
1395
+ if (idToken !== firstToken) {
1396
+ offsets.setDesiredOffset(idToken, firstToken, 1);
1397
+ }
1398
+ }
1399
+
1400
+ // Indent initializer.
1401
+ if (node.value) {
1402
+ const eqToken = sourceCode.getTokenBefore(node.value, astUtils.isEqToken);
1403
+ const valueToken = sourceCode.getTokenAfter(eqToken);
1404
+
1405
+ offsets.setDesiredOffset(eqToken, keyLastToken, 1);
1406
+ offsets.setDesiredOffset(valueToken, eqToken, 1);
1407
+ if (astUtils.isSemicolonToken(maybeSemicolonToken)) {
1408
+ offsets.setDesiredOffset(maybeSemicolonToken, eqToken, 1);
1409
+ }
1410
+ } else if (astUtils.isSemicolonToken(maybeSemicolonToken)) {
1411
+ offsets.setDesiredOffset(maybeSemicolonToken, keyLastToken, 1);
1412
+ }
1413
+ },
1414
+
1415
+ StaticBlock(node) {
1416
+ const openingCurly = sourceCode.getFirstToken(node, { skip: 1 }); // skip the `static` token
1417
+ const closingCurly = sourceCode.getLastToken(node);
1418
+
1419
+ addElementListIndent(node.body, openingCurly, closingCurly, options.StaticBlock.body);
1420
+ },
1421
+
1422
+ SwitchStatement(node) {
1423
+ const openingCurly = sourceCode.getTokenAfter(node.discriminant, astUtils.isOpeningBraceToken);
1424
+ const closingCurly = sourceCode.getLastToken(node);
1425
+
1426
+ offsets.setDesiredOffsets([openingCurly.range[1], closingCurly.range[0]], openingCurly, options.SwitchCase);
1427
+
1428
+ if (node.cases.length) {
1429
+ sourceCode.getTokensBetween(
1430
+ node.cases[node.cases.length - 1],
1431
+ closingCurly,
1432
+ { includeComments: true, filter: astUtils.isCommentToken }
1433
+ ).forEach(token => offsets.ignoreToken(token));
1434
+ }
1435
+ },
1436
+
1437
+ SwitchCase(node) {
1438
+ if (!(node.consequent.length === 1 && node.consequent[0].type === "BlockStatement")) {
1439
+ const caseKeyword = sourceCode.getFirstToken(node);
1440
+ const tokenAfterCurrentCase = sourceCode.getTokenAfter(node);
1441
+
1442
+ offsets.setDesiredOffsets([caseKeyword.range[1], tokenAfterCurrentCase.range[0]], caseKeyword, 1);
1443
+ }
1444
+ },
1445
+
1446
+ TemplateLiteral(node) {
1447
+ node.expressions.forEach((expression, index) => {
1448
+ const previousQuasi = node.quasis[index];
1449
+ const nextQuasi = node.quasis[index + 1];
1450
+ const tokenToAlignFrom = previousQuasi.loc.start.line === previousQuasi.loc.end.line
1451
+ ? sourceCode.getFirstToken(previousQuasi)
1452
+ : null;
1453
+
1454
+ offsets.setDesiredOffsets([previousQuasi.range[1], nextQuasi.range[0]], tokenToAlignFrom, 1);
1455
+ offsets.setDesiredOffset(sourceCode.getFirstToken(nextQuasi), tokenToAlignFrom, 0);
1456
+ });
1457
+ },
1458
+
1459
+ VariableDeclaration(node) {
1460
+ let variableIndent = Object.prototype.hasOwnProperty.call(options.VariableDeclarator, node.kind)
1461
+ ? options.VariableDeclarator[node.kind]
1462
+ : DEFAULT_VARIABLE_INDENT;
1463
+
1464
+ const firstToken = sourceCode.getFirstToken(node),
1465
+ lastToken = sourceCode.getLastToken(node);
1466
+
1467
+ if (options.VariableDeclarator[node.kind] === "first") {
1468
+ if (node.declarations.length > 1) {
1469
+ addElementListIndent(
1470
+ node.declarations,
1471
+ firstToken,
1472
+ lastToken,
1473
+ "first"
1474
+ );
1475
+ return;
1476
+ }
1477
+
1478
+ variableIndent = DEFAULT_VARIABLE_INDENT;
1479
+ }
1480
+
1481
+ if (node.declarations[node.declarations.length - 1].loc.start.line > node.loc.start.line) {
1482
+
1483
+ /*
1484
+ * VariableDeclarator indentation is a bit different from other forms of indentation, in that the
1485
+ * indentation of an opening bracket sometimes won't match that of a closing bracket. For example,
1486
+ * the following indentations are correct:
1487
+ *
1488
+ * var foo = {
1489
+ * ok: true
1490
+ * };
1491
+ *
1492
+ * var foo = {
1493
+ * ok: true,
1494
+ * },
1495
+ * bar = 1;
1496
+ *
1497
+ * Account for when exiting the AST (after indentations have already been set for the nodes in
1498
+ * the declaration) by manually increasing the indentation level of the tokens in this declarator
1499
+ * on the same line as the start of the declaration, provided that there are declarators that
1500
+ * follow this one.
1501
+ */
1502
+ offsets.setDesiredOffsets(node.range, firstToken, variableIndent, true);
1503
+ } else {
1504
+ offsets.setDesiredOffsets(node.range, firstToken, variableIndent);
1505
+ }
1506
+
1507
+ if (astUtils.isSemicolonToken(lastToken)) {
1508
+ offsets.ignoreToken(lastToken);
1509
+ }
1510
+ },
1511
+
1512
+ VariableDeclarator(node) {
1513
+ if (node.init) {
1514
+ const equalOperator = sourceCode.getTokenBefore(node.init, astUtils.isNotOpeningParenToken);
1515
+ const tokenAfterOperator = sourceCode.getTokenAfter(equalOperator);
1516
+
1517
+ offsets.ignoreToken(equalOperator);
1518
+ offsets.ignoreToken(tokenAfterOperator);
1519
+ offsets.setDesiredOffsets([tokenAfterOperator.range[0], node.range[1]], equalOperator, 1);
1520
+ offsets.setDesiredOffset(equalOperator, sourceCode.getLastToken(node.id), 0);
1521
+ }
1522
+ },
1523
+
1524
+ "JSXAttribute[value]"(node) {
1525
+ const equalsToken = sourceCode.getFirstTokenBetween(node.name, node.value, token => token.type === "Punctuator" && token.value === "=");
1526
+
1527
+ offsets.setDesiredOffsets([equalsToken.range[0], node.value.range[1]], sourceCode.getFirstToken(node.name), 1);
1528
+ },
1529
+
1530
+ JSXElement(node) {
1531
+ if (node.closingElement) {
1532
+ addElementListIndent(node.children, sourceCode.getFirstToken(node.openingElement), sourceCode.getFirstToken(node.closingElement), 1);
1533
+ }
1534
+ },
1535
+
1536
+ JSXOpeningElement(node) {
1537
+ const firstToken = sourceCode.getFirstToken(node);
1538
+ let closingToken;
1539
+
1540
+ if (node.selfClosing) {
1541
+ closingToken = sourceCode.getLastToken(node, { skip: 1 });
1542
+ offsets.setDesiredOffset(sourceCode.getLastToken(node), closingToken, 0);
1543
+ } else {
1544
+ closingToken = sourceCode.getLastToken(node);
1545
+ }
1546
+ offsets.setDesiredOffsets(node.name.range, sourceCode.getFirstToken(node));
1547
+ addElementListIndent(node.attributes, firstToken, closingToken, 1);
1548
+ },
1549
+
1550
+ JSXClosingElement(node) {
1551
+ const firstToken = sourceCode.getFirstToken(node);
1552
+
1553
+ offsets.setDesiredOffsets(node.name.range, firstToken, 1);
1554
+ },
1555
+
1556
+ JSXFragment(node) {
1557
+ const firstOpeningToken = sourceCode.getFirstToken(node.openingFragment);
1558
+ const firstClosingToken = sourceCode.getFirstToken(node.closingFragment);
1559
+
1560
+ addElementListIndent(node.children, firstOpeningToken, firstClosingToken, 1);
1561
+ },
1562
+
1563
+ JSXOpeningFragment(node) {
1564
+ const firstToken = sourceCode.getFirstToken(node);
1565
+ const closingToken = sourceCode.getLastToken(node);
1566
+
1567
+ offsets.setDesiredOffsets(node.range, firstToken, 1);
1568
+ offsets.matchOffsetOf(firstToken, closingToken);
1569
+ },
1570
+
1571
+ JSXClosingFragment(node) {
1572
+ const firstToken = sourceCode.getFirstToken(node);
1573
+ const slashToken = sourceCode.getLastToken(node, { skip: 1 });
1574
+ const closingToken = sourceCode.getLastToken(node);
1575
+ const tokenToMatch = astUtils.isTokenOnSameLine(slashToken, closingToken) ? slashToken : closingToken;
1576
+
1577
+ offsets.setDesiredOffsets(node.range, firstToken, 1);
1578
+ offsets.matchOffsetOf(firstToken, tokenToMatch);
1579
+ },
1580
+
1581
+ JSXExpressionContainer(node) {
1582
+ const openingCurly = sourceCode.getFirstToken(node);
1583
+ const closingCurly = sourceCode.getLastToken(node);
1584
+
1585
+ offsets.setDesiredOffsets(
1586
+ [openingCurly.range[1], closingCurly.range[0]],
1587
+ openingCurly,
1588
+ 1
1589
+ );
1590
+ },
1591
+
1592
+ JSXSpreadAttribute(node) {
1593
+ const openingCurly = sourceCode.getFirstToken(node);
1594
+ const closingCurly = sourceCode.getLastToken(node);
1595
+
1596
+ offsets.setDesiredOffsets(
1597
+ [openingCurly.range[1], closingCurly.range[0]],
1598
+ openingCurly,
1599
+ 1
1600
+ );
1601
+ },
1602
+
1603
+ "*"(node) {
1604
+ const firstToken = sourceCode.getFirstToken(node);
1605
+
1606
+ // Ensure that the children of every node are indented at least as much as the first token.
1607
+ if (firstToken && !ignoredNodeFirstTokens.has(firstToken)) {
1608
+ offsets.setDesiredOffsets(node.range, firstToken, 0);
1609
+ }
1610
+ }
1611
+ };
1612
+
1613
+ const listenerCallQueue = [];
1614
+
1615
+ /*
1616
+ * To ignore the indentation of a node:
1617
+ * 1. Don't call the node's listener when entering it (if it has a listener)
1618
+ * 2. Don't set any offsets against the first token of the node.
1619
+ * 3. Call `ignoreNode` on the node sometime after exiting it and before validating offsets.
1620
+ */
1621
+ const offsetListeners = {};
1622
+
1623
+ for (const [selector, listener] of Object.entries(baseOffsetListeners)) {
1624
+
1625
+ /*
1626
+ * Offset listener calls are deferred until traversal is finished, and are called as
1627
+ * part of the final `Program:exit` listener. This is necessary because a node might
1628
+ * be matched by multiple selectors.
1629
+ *
1630
+ * Example: Suppose there is an offset listener for `Identifier`, and the user has
1631
+ * specified in configuration that `MemberExpression > Identifier` should be ignored.
1632
+ * Due to selector specificity rules, the `Identifier` listener will get called first. However,
1633
+ * if a given Identifier node is supposed to be ignored, then the `Identifier` offset listener
1634
+ * should not have been called at all. Without doing extra selector matching, we don't know
1635
+ * whether the Identifier matches the `MemberExpression > Identifier` selector until the
1636
+ * `MemberExpression > Identifier` listener is called.
1637
+ *
1638
+ * To avoid this, the `Identifier` listener isn't called until traversal finishes and all
1639
+ * ignored nodes are known.
1640
+ */
1641
+ offsetListeners[selector] = node => listenerCallQueue.push({ listener, node });
1642
+ }
1643
+
1644
+ // For each ignored node selector, set up a listener to collect it into the `ignoredNodes` set.
1645
+ const ignoredNodes = new Set();
1646
+
1647
+ /**
1648
+ * Ignores a node
1649
+ * @param {ASTNode} node The node to ignore
1650
+ * @returns {void}
1651
+ */
1652
+ function addToIgnoredNodes(node) {
1653
+ ignoredNodes.add(node);
1654
+ ignoredNodeFirstTokens.add(sourceCode.getFirstToken(node));
1655
+ }
1656
+
1657
+ const ignoredNodeListeners = options.ignoredNodes.reduce(
1658
+ (listeners, ignoredSelector) => Object.assign(listeners, { [ignoredSelector]: addToIgnoredNodes }),
1659
+ {}
1660
+ );
1661
+
1662
+ /*
1663
+ * Join the listeners, and add a listener to verify that all tokens actually have the correct indentation
1664
+ * at the end.
1665
+ *
1666
+ * Using Object.assign will cause some offset listeners to be overwritten if the same selector also appears
1667
+ * in `ignoredNodeListeners`. This isn't a problem because all of the matching nodes will be ignored,
1668
+ * so those listeners wouldn't be called anyway.
1669
+ */
1670
+ return Object.assign(
1671
+ offsetListeners,
1672
+ ignoredNodeListeners,
1673
+ {
1674
+ "*:exit"(node) {
1675
+
1676
+ // If a node's type is nonstandard, we can't tell how its children should be offset, so ignore it.
1677
+ if (!KNOWN_NODES.has(node.type)) {
1678
+ addToIgnoredNodes(node);
1679
+ }
1680
+ },
1681
+ "Program:exit"() {
1682
+
1683
+ // If ignoreComments option is enabled, ignore all comment tokens.
1684
+ if (options.ignoreComments) {
1685
+ sourceCode.getAllComments()
1686
+ .forEach(comment => offsets.ignoreToken(comment));
1687
+ }
1688
+
1689
+ // Invoke the queued offset listeners for the nodes that aren't ignored.
1690
+ listenerCallQueue
1691
+ .filter(nodeInfo => !ignoredNodes.has(nodeInfo.node))
1692
+ .forEach(nodeInfo => nodeInfo.listener(nodeInfo.node));
1693
+
1694
+ // Update the offsets for ignored nodes to prevent their child tokens from being reported.
1695
+ ignoredNodes.forEach(ignoreNode);
1696
+
1697
+ addParensIndent(sourceCode.ast.tokens);
1698
+
1699
+ /*
1700
+ * Create a Map from (tokenOrComment) => (precedingToken).
1701
+ * This is necessary because sourceCode.getTokenBefore does not handle a comment as an argument correctly.
1702
+ */
1703
+ const precedingTokens = sourceCode.ast.comments.reduce((commentMap, comment) => {
1704
+ const tokenOrCommentBefore = sourceCode.getTokenBefore(comment, { includeComments: true });
1705
+
1706
+ return commentMap.set(comment, commentMap.has(tokenOrCommentBefore) ? commentMap.get(tokenOrCommentBefore) : tokenOrCommentBefore);
1707
+ }, new WeakMap());
1708
+
1709
+ sourceCode.lines.forEach((line, lineIndex) => {
1710
+ const lineNumber = lineIndex + 1;
1711
+
1712
+ if (!tokenInfo.firstTokensByLineNumber.has(lineNumber)) {
1713
+
1714
+ // Don't check indentation on blank lines
1715
+ return;
1716
+ }
1717
+
1718
+ const firstTokenOfLine = tokenInfo.firstTokensByLineNumber.get(lineNumber);
1719
+
1720
+ if (firstTokenOfLine.loc.start.line !== lineNumber) {
1721
+
1722
+ // Don't check the indentation of multi-line tokens (e.g. template literals or block comments) twice.
1723
+ return;
1724
+ }
1725
+
1726
+ if (astUtils.isCommentToken(firstTokenOfLine)) {
1727
+ const tokenBefore = precedingTokens.get(firstTokenOfLine);
1728
+ const tokenAfter = tokenBefore ? sourceCode.getTokenAfter(tokenBefore) : sourceCode.ast.tokens[0];
1729
+ const mayAlignWithBefore = tokenBefore && !hasBlankLinesBetween(tokenBefore, firstTokenOfLine);
1730
+ const mayAlignWithAfter = tokenAfter && !hasBlankLinesBetween(firstTokenOfLine, tokenAfter);
1731
+
1732
+ /*
1733
+ * If a comment precedes a line that begins with a semicolon token, align to that token, i.e.
1734
+ *
1735
+ * let foo
1736
+ * // comment
1737
+ * ;(async () => {})()
1738
+ */
1739
+ if (tokenAfter && astUtils.isSemicolonToken(tokenAfter) && !astUtils.isTokenOnSameLine(firstTokenOfLine, tokenAfter)) {
1740
+ offsets.setDesiredOffset(firstTokenOfLine, tokenAfter, 0);
1741
+ }
1742
+
1743
+ // If a comment matches the expected indentation of the token immediately before or after, don't report it.
1744
+ if (
1745
+ mayAlignWithBefore && validateTokenIndent(firstTokenOfLine, offsets.getDesiredIndent(tokenBefore)) ||
1746
+ mayAlignWithAfter && validateTokenIndent(firstTokenOfLine, offsets.getDesiredIndent(tokenAfter))
1747
+ ) {
1748
+ return;
1749
+ }
1750
+ }
1751
+
1752
+ // If the token matches the expected indentation, don't report it.
1753
+ if (validateTokenIndent(firstTokenOfLine, offsets.getDesiredIndent(firstTokenOfLine))) {
1754
+ return;
1755
+ }
1756
+
1757
+ // Otherwise, report the token/comment.
1758
+ report(firstTokenOfLine, offsets.getDesiredIndent(firstTokenOfLine));
1759
+ });
1760
+ }
1761
+ }
1762
+ );
1763
+ }
1764
+ };