create-packer 1.34.9 → 1.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1674) hide show
  1. package/README.md +4 -4
  2. package/package.json +1 -1
  3. package/template/web-app/react-rspack/.env +2 -0
  4. package/template/web-app/react-rspack/.env.development +2 -0
  5. package/template/web-app/react-rspack/.eslintrc +120 -0
  6. package/template/web-app/react-rspack/README.md +14 -0
  7. package/template/web-app/react-rspack/domain/router/router.tsx +28 -0
  8. package/template/web-app/react-rspack/env.d.ts +17 -0
  9. package/template/web-app/react-rspack/index.html +12 -0
  10. package/template/web-app/react-rspack/package.json +83 -0
  11. package/template/web-app/react-rspack/public/rsbuild-logo.svg +1 -0
  12. package/template/web-app/react-rspack/rsbuild.config.ts +78 -0
  13. package/template/web-app/react-rspack/shared/service/home.ts +8 -0
  14. package/template/web-app/react-rspack/shared/service/request.ts +5 -0
  15. package/template/web-app/react-rspack/tsconfig.node.json +14 -0
  16. package/template/web-app/react-vite/.editorconfig +14 -0
  17. package/template/web-app/react-vite/.eslintignore +4 -0
  18. package/template/web-app/react-vite/.gitignore +28 -0
  19. package/template/web-app/react-vite/.husky/commit-msg +4 -0
  20. package/template/web-app/react-vite/.husky/pre-commit +4 -0
  21. package/template/web-app/react-vite/.prettierignore +6 -0
  22. package/template/web-app/react-vite/.prettierrc +12 -0
  23. package/template/web-app/react-vite/.stylelintignore +4 -0
  24. package/template/web-app/react-vite/.stylelintrc +24 -0
  25. package/template/web-app/react-vite/.vscode/extensions.json +8 -0
  26. package/template/web-app/react-vite/.vscode/settings.json +18 -0
  27. package/template/web-app/react-vite/commitlint.config.cjs +1 -0
  28. package/template/web-app/react-vite/domain/app/app.model.ts +7 -0
  29. package/template/web-app/react-vite/domain/app/app.styled.ts +3 -0
  30. package/template/web-app/react-vite/domain/app/components/app-context.tsx +17 -0
  31. package/template/web-app/react-vite/domain/app/components/app.tsx +24 -0
  32. package/template/web-app/react-vite/domain/app/components/index.ts +1 -0
  33. package/template/web-app/react-vite/domain/app/index.ts +2 -0
  34. package/template/web-app/react-vite/domain/router/home/ids.ts +3 -0
  35. package/template/web-app/react-vite/domain/router/home/index.ts +2 -0
  36. package/template/web-app/react-vite/domain/router/home/routes.tsx +13 -0
  37. package/template/web-app/react-vite/domain/router/ids.ts +6 -0
  38. package/template/web-app/react-vite/domain/router/index.ts +3 -0
  39. package/template/web-app/react-vite/domain/router/router.types.ts +3 -0
  40. package/template/web-app/react-vite/main.tsx +4 -0
  41. package/template/web-app/react-vite/pages/home/home.styled.ts +7 -0
  42. package/template/web-app/react-vite/pages/home/home.tsx +10 -0
  43. package/template/web-app/react-vite/pages/home/index.ts +1 -0
  44. package/template/web-app/react-vite/pages/index.tsx +18 -0
  45. package/template/web-app/react-vite/pages/not-found.tsx +3 -0
  46. package/template/web-app/react-vite/postcss.config.cjs +7 -0
  47. package/template/web-app/react-vite/scripts/createChunks.ts +26 -0
  48. package/template/web-app/react-vite/scripts/index.ts +1 -0
  49. package/template/web-app/react-vite/shared/assets/react.svg +1 -0
  50. package/template/web-app/react-vite/shared/components/index.ts +0 -0
  51. package/template/web-app/react-vite/shared/constant/index.ts +0 -0
  52. package/template/web-app/react-vite/shared/hooks/defineRouter/defineRouter.types.ts +33 -0
  53. package/template/web-app/react-vite/shared/hooks/defineRouter/deineRouter.tsx +160 -0
  54. package/template/web-app/react-vite/shared/hooks/defineRouter/index.ts +2 -0
  55. package/template/web-app/react-vite/shared/hooks/index.ts +6 -0
  56. package/template/web-app/react-vite/shared/hooks/useInterval.ts +26 -0
  57. package/template/web-app/react-vite/shared/hooks/useLoadingAction.ts +27 -0
  58. package/template/web-app/react-vite/shared/hooks/useLowPriorityState.ts +26 -0
  59. package/template/web-app/react-vite/shared/hooks/useSyncState.ts +15 -0
  60. package/template/web-app/react-vite/shared/hooks/useVisible.ts +27 -0
  61. package/template/web-app/react-vite/shared/service/api.ts +1 -0
  62. package/template/web-app/react-vite/shared/service/index.ts +3 -0
  63. package/template/web-app/react-vite/shared/theme/index.ts +1 -0
  64. package/template/web-app/react-vite/shared/theme/theme.styled.ts +56 -0
  65. package/template/web-app/react-vite/shared/tools/componentInstance.tsx +80 -0
  66. package/template/web-app/react-vite/shared/tools/index.ts +1 -0
  67. package/template/web-app/react-vite/shared/types/index.ts +1 -0
  68. package/template/web-app/react-vite/shared/types/utils.ts +2 -0
  69. package/template/web-app/react-vite/tsconfig.json +44 -0
  70. package/template/web-app/react-webpack/webpack.config.mjs +4 -5
  71. package/template/lib/react/node_modules/.bin/acorn +0 -17
  72. package/template/lib/react/node_modules/.bin/acorn.CMD +0 -12
  73. package/template/lib/react/node_modules/.bin/acorn.ps1 +0 -41
  74. package/template/lib/react/node_modules/.bin/browserslist +0 -17
  75. package/template/lib/react/node_modules/.bin/browserslist.CMD +0 -12
  76. package/template/lib/react/node_modules/.bin/browserslist.ps1 +0 -41
  77. package/template/lib/react/node_modules/.bin/esbuild +0 -17
  78. package/template/lib/react/node_modules/.bin/esbuild.CMD +0 -12
  79. package/template/lib/react/node_modules/.bin/esbuild.ps1 +0 -41
  80. package/template/lib/react/node_modules/.bin/eslint +0 -17
  81. package/template/lib/react/node_modules/.bin/eslint.CMD +0 -12
  82. package/template/lib/react/node_modules/.bin/eslint.ps1 +0 -41
  83. package/template/lib/react/node_modules/.bin/prettier +0 -17
  84. package/template/lib/react/node_modules/.bin/prettier.CMD +0 -12
  85. package/template/lib/react/node_modules/.bin/prettier.ps1 +0 -41
  86. package/template/lib/react/node_modules/.bin/sb +0 -17
  87. package/template/lib/react/node_modules/.bin/sb.CMD +0 -12
  88. package/template/lib/react/node_modules/.bin/sb.ps1 +0 -41
  89. package/template/lib/react/node_modules/.bin/storybook +0 -17
  90. package/template/lib/react/node_modules/.bin/storybook.CMD +0 -12
  91. package/template/lib/react/node_modules/.bin/storybook.ps1 +0 -41
  92. package/template/lib/react/node_modules/.bin/stylelint +0 -17
  93. package/template/lib/react/node_modules/.bin/stylelint.CMD +0 -12
  94. package/template/lib/react/node_modules/.bin/stylelint.ps1 +0 -41
  95. package/template/lib/react/node_modules/.bin/tsc +0 -17
  96. package/template/lib/react/node_modules/.bin/tsc.CMD +0 -12
  97. package/template/lib/react/node_modules/.bin/tsc.ps1 +0 -41
  98. package/template/lib/react/node_modules/.bin/tsserver +0 -17
  99. package/template/lib/react/node_modules/.bin/tsserver.CMD +0 -12
  100. package/template/lib/react/node_modules/.bin/tsserver.ps1 +0 -41
  101. package/template/lib/react/node_modules/.bin/vite +0 -17
  102. package/template/lib/react/node_modules/.bin/vite.CMD +0 -12
  103. package/template/lib/react/node_modules/.bin/vite.ps1 +0 -41
  104. package/template/lib/react/node_modules/eslint/LICENSE +0 -19
  105. package/template/lib/react/node_modules/eslint/README.md +0 -304
  106. package/template/lib/react/node_modules/eslint/bin/eslint.js +0 -173
  107. package/template/lib/react/node_modules/eslint/conf/config-schema.js +0 -93
  108. package/template/lib/react/node_modules/eslint/conf/default-cli-options.js +0 -32
  109. package/template/lib/react/node_modules/eslint/conf/globals.js +0 -154
  110. package/template/lib/react/node_modules/eslint/conf/replacements.json +0 -22
  111. package/template/lib/react/node_modules/eslint/conf/rule-type-list.json +0 -28
  112. package/template/lib/react/node_modules/eslint/lib/api.js +0 -26
  113. package/template/lib/react/node_modules/eslint/lib/cli-engine/cli-engine.js +0 -1078
  114. package/template/lib/react/node_modules/eslint/lib/cli-engine/file-enumerator.js +0 -547
  115. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/checkstyle.js +0 -60
  116. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/compact.js +0 -60
  117. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/formatters-meta.json +0 -46
  118. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/html.js +0 -351
  119. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/jslint-xml.js +0 -41
  120. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/json-with-metadata.js +0 -16
  121. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/json.js +0 -13
  122. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/junit.js +0 -82
  123. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/stylish.js +0 -101
  124. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/tap.js +0 -95
  125. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/unix.js +0 -58
  126. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/visualstudio.js +0 -63
  127. package/template/lib/react/node_modules/eslint/lib/cli-engine/hash.js +0 -35
  128. package/template/lib/react/node_modules/eslint/lib/cli-engine/index.js +0 -7
  129. package/template/lib/react/node_modules/eslint/lib/cli-engine/lint-result-cache.js +0 -203
  130. package/template/lib/react/node_modules/eslint/lib/cli-engine/load-rules.js +0 -46
  131. package/template/lib/react/node_modules/eslint/lib/cli-engine/xml-escape.js +0 -34
  132. package/template/lib/react/node_modules/eslint/lib/cli.js +0 -471
  133. package/template/lib/react/node_modules/eslint/lib/config/default-config.js +0 -67
  134. package/template/lib/react/node_modules/eslint/lib/config/flat-config-array.js +0 -274
  135. package/template/lib/react/node_modules/eslint/lib/config/flat-config-helpers.js +0 -111
  136. package/template/lib/react/node_modules/eslint/lib/config/flat-config-schema.js +0 -583
  137. package/template/lib/react/node_modules/eslint/lib/config/rule-validator.js +0 -158
  138. package/template/lib/react/node_modules/eslint/lib/eslint/eslint-helpers.js +0 -902
  139. package/template/lib/react/node_modules/eslint/lib/eslint/eslint.js +0 -700
  140. package/template/lib/react/node_modules/eslint/lib/eslint/flat-eslint.js +0 -1142
  141. package/template/lib/react/node_modules/eslint/lib/eslint/index.js +0 -9
  142. package/template/lib/react/node_modules/eslint/lib/linter/apply-disable-directives.js +0 -465
  143. package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js +0 -852
  144. package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/code-path-segment.js +0 -263
  145. package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/code-path-state.js +0 -2348
  146. package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/code-path.js +0 -342
  147. package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/debug-helpers.js +0 -203
  148. package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/fork-context.js +0 -349
  149. package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/id-generator.js +0 -45
  150. package/template/lib/react/node_modules/eslint/lib/linter/config-comment-parser.js +0 -185
  151. package/template/lib/react/node_modules/eslint/lib/linter/index.js +0 -13
  152. package/template/lib/react/node_modules/eslint/lib/linter/interpolate.js +0 -28
  153. package/template/lib/react/node_modules/eslint/lib/linter/linter.js +0 -2119
  154. package/template/lib/react/node_modules/eslint/lib/linter/node-event-generator.js +0 -354
  155. package/template/lib/react/node_modules/eslint/lib/linter/report-translator.js +0 -369
  156. package/template/lib/react/node_modules/eslint/lib/linter/rule-fixer.js +0 -140
  157. package/template/lib/react/node_modules/eslint/lib/linter/rules.js +0 -80
  158. package/template/lib/react/node_modules/eslint/lib/linter/safe-emitter.js +0 -52
  159. package/template/lib/react/node_modules/eslint/lib/linter/source-code-fixer.js +0 -152
  160. package/template/lib/react/node_modules/eslint/lib/linter/timing.js +0 -161
  161. package/template/lib/react/node_modules/eslint/lib/options.js +0 -398
  162. package/template/lib/react/node_modules/eslint/lib/rule-tester/flat-rule-tester.js +0 -1122
  163. package/template/lib/react/node_modules/eslint/lib/rule-tester/index.js +0 -5
  164. package/template/lib/react/node_modules/eslint/lib/rule-tester/rule-tester.js +0 -1206
  165. package/template/lib/react/node_modules/eslint/lib/rules/accessor-pairs.js +0 -346
  166. package/template/lib/react/node_modules/eslint/lib/rules/array-bracket-newline.js +0 -261
  167. package/template/lib/react/node_modules/eslint/lib/rules/array-bracket-spacing.js +0 -244
  168. package/template/lib/react/node_modules/eslint/lib/rules/array-callback-return.js +0 -446
  169. package/template/lib/react/node_modules/eslint/lib/rules/array-element-newline.js +0 -311
  170. package/template/lib/react/node_modules/eslint/lib/rules/arrow-body-style.js +0 -296
  171. package/template/lib/react/node_modules/eslint/lib/rules/arrow-parens.js +0 -186
  172. package/template/lib/react/node_modules/eslint/lib/rules/arrow-spacing.js +0 -164
  173. package/template/lib/react/node_modules/eslint/lib/rules/block-scoped-var.js +0 -135
  174. package/template/lib/react/node_modules/eslint/lib/rules/block-spacing.js +0 -174
  175. package/template/lib/react/node_modules/eslint/lib/rules/brace-style.js +0 -197
  176. package/template/lib/react/node_modules/eslint/lib/rules/callback-return.js +0 -187
  177. package/template/lib/react/node_modules/eslint/lib/rules/camelcase.js +0 -399
  178. package/template/lib/react/node_modules/eslint/lib/rules/capitalized-comments.js +0 -300
  179. package/template/lib/react/node_modules/eslint/lib/rules/class-methods-use-this.js +0 -187
  180. package/template/lib/react/node_modules/eslint/lib/rules/comma-dangle.js +0 -373
  181. package/template/lib/react/node_modules/eslint/lib/rules/comma-spacing.js +0 -192
  182. package/template/lib/react/node_modules/eslint/lib/rules/comma-style.js +0 -314
  183. package/template/lib/react/node_modules/eslint/lib/rules/complexity.js +0 -165
  184. package/template/lib/react/node_modules/eslint/lib/rules/computed-property-spacing.js +0 -208
  185. package/template/lib/react/node_modules/eslint/lib/rules/consistent-return.js +0 -210
  186. package/template/lib/react/node_modules/eslint/lib/rules/consistent-this.js +0 -153
  187. package/template/lib/react/node_modules/eslint/lib/rules/constructor-super.js +0 -446
  188. package/template/lib/react/node_modules/eslint/lib/rules/curly.js +0 -486
  189. package/template/lib/react/node_modules/eslint/lib/rules/default-case-last.js +0 -44
  190. package/template/lib/react/node_modules/eslint/lib/rules/default-case.js +0 -97
  191. package/template/lib/react/node_modules/eslint/lib/rules/default-param-last.js +0 -62
  192. package/template/lib/react/node_modules/eslint/lib/rules/dot-location.js +0 -108
  193. package/template/lib/react/node_modules/eslint/lib/rules/dot-notation.js +0 -176
  194. package/template/lib/react/node_modules/eslint/lib/rules/eol-last.js +0 -115
  195. package/template/lib/react/node_modules/eslint/lib/rules/eqeqeq.js +0 -174
  196. package/template/lib/react/node_modules/eslint/lib/rules/for-direction.js +0 -140
  197. package/template/lib/react/node_modules/eslint/lib/rules/func-call-spacing.js +0 -233
  198. package/template/lib/react/node_modules/eslint/lib/rules/func-name-matching.js +0 -253
  199. package/template/lib/react/node_modules/eslint/lib/rules/func-names.js +0 -191
  200. package/template/lib/react/node_modules/eslint/lib/rules/func-style.js +0 -98
  201. package/template/lib/react/node_modules/eslint/lib/rules/function-call-argument-newline.js +0 -125
  202. package/template/lib/react/node_modules/eslint/lib/rules/function-paren-newline.js +0 -292
  203. package/template/lib/react/node_modules/eslint/lib/rules/generator-star-spacing.js +0 -209
  204. package/template/lib/react/node_modules/eslint/lib/rules/getter-return.js +0 -204
  205. package/template/lib/react/node_modules/eslint/lib/rules/global-require.js +0 -90
  206. package/template/lib/react/node_modules/eslint/lib/rules/grouped-accessor-pairs.js +0 -215
  207. package/template/lib/react/node_modules/eslint/lib/rules/guard-for-in.js +0 -76
  208. package/template/lib/react/node_modules/eslint/lib/rules/handle-callback-err.js +0 -101
  209. package/template/lib/react/node_modules/eslint/lib/rules/id-blacklist.js +0 -246
  210. package/template/lib/react/node_modules/eslint/lib/rules/id-denylist.js +0 -228
  211. package/template/lib/react/node_modules/eslint/lib/rules/id-length.js +0 -177
  212. package/template/lib/react/node_modules/eslint/lib/rules/id-match.js +0 -299
  213. package/template/lib/react/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js +0 -84
  214. package/template/lib/react/node_modules/eslint/lib/rules/indent-legacy.js +0 -1126
  215. package/template/lib/react/node_modules/eslint/lib/rules/indent.js +0 -1803
  216. package/template/lib/react/node_modules/eslint/lib/rules/index.js +0 -306
  217. package/template/lib/react/node_modules/eslint/lib/rules/init-declarations.js +0 -139
  218. package/template/lib/react/node_modules/eslint/lib/rules/jsx-quotes.js +0 -98
  219. package/template/lib/react/node_modules/eslint/lib/rules/key-spacing.js +0 -687
  220. package/template/lib/react/node_modules/eslint/lib/rules/keyword-spacing.js +0 -640
  221. package/template/lib/react/node_modules/eslint/lib/rules/line-comment-position.js +0 -122
  222. package/template/lib/react/node_modules/eslint/lib/rules/linebreak-style.js +0 -108
  223. package/template/lib/react/node_modules/eslint/lib/rules/lines-around-comment.js +0 -471
  224. package/template/lib/react/node_modules/eslint/lib/rules/lines-around-directive.js +0 -201
  225. package/template/lib/react/node_modules/eslint/lib/rules/lines-between-class-members.js +0 -269
  226. package/template/lib/react/node_modules/eslint/lib/rules/logical-assignment-operators.js +0 -504
  227. package/template/lib/react/node_modules/eslint/lib/rules/max-classes-per-file.js +0 -89
  228. package/template/lib/react/node_modules/eslint/lib/rules/max-depth.js +0 -156
  229. package/template/lib/react/node_modules/eslint/lib/rules/max-len.js +0 -440
  230. package/template/lib/react/node_modules/eslint/lib/rules/max-lines-per-function.js +0 -213
  231. package/template/lib/react/node_modules/eslint/lib/rules/max-lines.js +0 -193
  232. package/template/lib/react/node_modules/eslint/lib/rules/max-nested-callbacks.js +0 -117
  233. package/template/lib/react/node_modules/eslint/lib/rules/max-params.js +0 -102
  234. package/template/lib/react/node_modules/eslint/lib/rules/max-statements-per-line.js +0 -199
  235. package/template/lib/react/node_modules/eslint/lib/rules/max-statements.js +0 -184
  236. package/template/lib/react/node_modules/eslint/lib/rules/multiline-comment-style.js +0 -474
  237. package/template/lib/react/node_modules/eslint/lib/rules/multiline-ternary.js +0 -174
  238. package/template/lib/react/node_modules/eslint/lib/rules/new-cap.js +0 -276
  239. package/template/lib/react/node_modules/eslint/lib/rules/new-parens.js +0 -93
  240. package/template/lib/react/node_modules/eslint/lib/rules/newline-after-var.js +0 -253
  241. package/template/lib/react/node_modules/eslint/lib/rules/newline-before-return.js +0 -217
  242. package/template/lib/react/node_modules/eslint/lib/rules/newline-per-chained-call.js +0 -126
  243. package/template/lib/react/node_modules/eslint/lib/rules/no-alert.js +0 -138
  244. package/template/lib/react/node_modules/eslint/lib/rules/no-array-constructor.js +0 -133
  245. package/template/lib/react/node_modules/eslint/lib/rules/no-async-promise-executor.js +0 -39
  246. package/template/lib/react/node_modules/eslint/lib/rules/no-await-in-loop.js +0 -106
  247. package/template/lib/react/node_modules/eslint/lib/rules/no-bitwise.js +0 -119
  248. package/template/lib/react/node_modules/eslint/lib/rules/no-buffer-constructor.js +0 -50
  249. package/template/lib/react/node_modules/eslint/lib/rules/no-caller.js +0 -46
  250. package/template/lib/react/node_modules/eslint/lib/rules/no-case-declarations.js +0 -64
  251. package/template/lib/react/node_modules/eslint/lib/rules/no-catch-shadow.js +0 -82
  252. package/template/lib/react/node_modules/eslint/lib/rules/no-class-assign.js +0 -63
  253. package/template/lib/react/node_modules/eslint/lib/rules/no-compare-neg-zero.js +0 -60
  254. package/template/lib/react/node_modules/eslint/lib/rules/no-cond-assign.js +0 -159
  255. package/template/lib/react/node_modules/eslint/lib/rules/no-confusing-arrow.js +0 -92
  256. package/template/lib/react/node_modules/eslint/lib/rules/no-console.js +0 -207
  257. package/template/lib/react/node_modules/eslint/lib/rules/no-const-assign.js +0 -56
  258. package/template/lib/react/node_modules/eslint/lib/rules/no-constant-binary-expression.js +0 -509
  259. package/template/lib/react/node_modules/eslint/lib/rules/no-constant-condition.js +0 -150
  260. package/template/lib/react/node_modules/eslint/lib/rules/no-constructor-return.js +0 -62
  261. package/template/lib/react/node_modules/eslint/lib/rules/no-continue.js +0 -39
  262. package/template/lib/react/node_modules/eslint/lib/rules/no-control-regex.js +0 -138
  263. package/template/lib/react/node_modules/eslint/lib/rules/no-debugger.js +0 -43
  264. package/template/lib/react/node_modules/eslint/lib/rules/no-delete-var.js +0 -42
  265. package/template/lib/react/node_modules/eslint/lib/rules/no-div-regex.js +0 -53
  266. package/template/lib/react/node_modules/eslint/lib/rules/no-dupe-args.js +0 -82
  267. package/template/lib/react/node_modules/eslint/lib/rules/no-dupe-class-members.js +0 -104
  268. package/template/lib/react/node_modules/eslint/lib/rules/no-dupe-else-if.js +0 -122
  269. package/template/lib/react/node_modules/eslint/lib/rules/no-dupe-keys.js +0 -142
  270. package/template/lib/react/node_modules/eslint/lib/rules/no-duplicate-case.js +0 -71
  271. package/template/lib/react/node_modules/eslint/lib/rules/no-duplicate-imports.js +0 -290
  272. package/template/lib/react/node_modules/eslint/lib/rules/no-else-return.js +0 -405
  273. package/template/lib/react/node_modules/eslint/lib/rules/no-empty-character-class.js +0 -76
  274. package/template/lib/react/node_modules/eslint/lib/rules/no-empty-function.js +0 -167
  275. package/template/lib/react/node_modules/eslint/lib/rules/no-empty-pattern.js +0 -78
  276. package/template/lib/react/node_modules/eslint/lib/rules/no-empty-static-block.js +0 -47
  277. package/template/lib/react/node_modules/eslint/lib/rules/no-empty.js +0 -103
  278. package/template/lib/react/node_modules/eslint/lib/rules/no-eq-null.js +0 -46
  279. package/template/lib/react/node_modules/eslint/lib/rules/no-eval.js +0 -286
  280. package/template/lib/react/node_modules/eslint/lib/rules/no-ex-assign.js +0 -54
  281. package/template/lib/react/node_modules/eslint/lib/rules/no-extend-native.js +0 -179
  282. package/template/lib/react/node_modules/eslint/lib/rules/no-extra-bind.js +0 -213
  283. package/template/lib/react/node_modules/eslint/lib/rules/no-extra-boolean-cast.js +0 -317
  284. package/template/lib/react/node_modules/eslint/lib/rules/no-extra-label.js +0 -149
  285. package/template/lib/react/node_modules/eslint/lib/rules/no-extra-parens.js +0 -1322
  286. package/template/lib/react/node_modules/eslint/lib/rules/no-extra-semi.js +0 -147
  287. package/template/lib/react/node_modules/eslint/lib/rules/no-fallthrough.js +0 -196
  288. package/template/lib/react/node_modules/eslint/lib/rules/no-floating-decimal.js +0 -73
  289. package/template/lib/react/node_modules/eslint/lib/rules/no-func-assign.js +0 -78
  290. package/template/lib/react/node_modules/eslint/lib/rules/no-global-assign.js +0 -95
  291. package/template/lib/react/node_modules/eslint/lib/rules/no-implicit-coercion.js +0 -380
  292. package/template/lib/react/node_modules/eslint/lib/rules/no-implicit-globals.js +0 -146
  293. package/template/lib/react/node_modules/eslint/lib/rules/no-implied-eval.js +0 -132
  294. package/template/lib/react/node_modules/eslint/lib/rules/no-import-assign.js +0 -241
  295. package/template/lib/react/node_modules/eslint/lib/rules/no-inline-comments.js +0 -110
  296. package/template/lib/react/node_modules/eslint/lib/rules/no-inner-declarations.js +0 -110
  297. package/template/lib/react/node_modules/eslint/lib/rules/no-invalid-regexp.js +0 -194
  298. package/template/lib/react/node_modules/eslint/lib/rules/no-invalid-this.js +0 -150
  299. package/template/lib/react/node_modules/eslint/lib/rules/no-irregular-whitespace.js +0 -276
  300. package/template/lib/react/node_modules/eslint/lib/rules/no-iterator.js +0 -52
  301. package/template/lib/react/node_modules/eslint/lib/rules/no-label-var.js +0 -80
  302. package/template/lib/react/node_modules/eslint/lib/rules/no-labels.js +0 -149
  303. package/template/lib/react/node_modules/eslint/lib/rules/no-lone-blocks.js +0 -136
  304. package/template/lib/react/node_modules/eslint/lib/rules/no-lonely-if.js +0 -88
  305. package/template/lib/react/node_modules/eslint/lib/rules/no-loop-func.js +0 -206
  306. package/template/lib/react/node_modules/eslint/lib/rules/no-loss-of-precision.js +0 -214
  307. package/template/lib/react/node_modules/eslint/lib/rules/no-magic-numbers.js +0 -243
  308. package/template/lib/react/node_modules/eslint/lib/rules/no-misleading-character-class.js +0 -300
  309. package/template/lib/react/node_modules/eslint/lib/rules/no-mixed-operators.js +0 -229
  310. package/template/lib/react/node_modules/eslint/lib/rules/no-mixed-requires.js +0 -238
  311. package/template/lib/react/node_modules/eslint/lib/rules/no-mixed-spaces-and-tabs.js +0 -116
  312. package/template/lib/react/node_modules/eslint/lib/rules/no-multi-assign.js +0 -67
  313. package/template/lib/react/node_modules/eslint/lib/rules/no-multi-spaces.js +0 -141
  314. package/template/lib/react/node_modules/eslint/lib/rules/no-multi-str.js +0 -65
  315. package/template/lib/react/node_modules/eslint/lib/rules/no-multiple-empty-lines.js +0 -154
  316. package/template/lib/react/node_modules/eslint/lib/rules/no-native-reassign.js +0 -98
  317. package/template/lib/react/node_modules/eslint/lib/rules/no-negated-condition.js +0 -95
  318. package/template/lib/react/node_modules/eslint/lib/rules/no-negated-in-lhs.js +0 -46
  319. package/template/lib/react/node_modules/eslint/lib/rules/no-nested-ternary.js +0 -44
  320. package/template/lib/react/node_modules/eslint/lib/rules/no-new-func.js +0 -87
  321. package/template/lib/react/node_modules/eslint/lib/rules/no-new-native-nonconstructor.js +0 -66
  322. package/template/lib/react/node_modules/eslint/lib/rules/no-new-object.js +0 -67
  323. package/template/lib/react/node_modules/eslint/lib/rules/no-new-require.js +0 -50
  324. package/template/lib/react/node_modules/eslint/lib/rules/no-new-symbol.js +0 -56
  325. package/template/lib/react/node_modules/eslint/lib/rules/no-new-wrappers.js +0 -60
  326. package/template/lib/react/node_modules/eslint/lib/rules/no-new.js +0 -43
  327. package/template/lib/react/node_modules/eslint/lib/rules/no-nonoctal-decimal-escape.js +0 -148
  328. package/template/lib/react/node_modules/eslint/lib/rules/no-obj-calls.js +0 -86
  329. package/template/lib/react/node_modules/eslint/lib/rules/no-object-constructor.js +0 -117
  330. package/template/lib/react/node_modules/eslint/lib/rules/no-octal-escape.js +0 -56
  331. package/template/lib/react/node_modules/eslint/lib/rules/no-octal.js +0 -45
  332. package/template/lib/react/node_modules/eslint/lib/rules/no-param-reassign.js +0 -230
  333. package/template/lib/react/node_modules/eslint/lib/rules/no-path-concat.js +0 -64
  334. package/template/lib/react/node_modules/eslint/lib/rules/no-plusplus.js +0 -105
  335. package/template/lib/react/node_modules/eslint/lib/rules/no-process-env.js +0 -51
  336. package/template/lib/react/node_modules/eslint/lib/rules/no-process-exit.js +0 -47
  337. package/template/lib/react/node_modules/eslint/lib/rules/no-promise-executor-return.js +0 -263
  338. package/template/lib/react/node_modules/eslint/lib/rules/no-proto.js +0 -48
  339. package/template/lib/react/node_modules/eslint/lib/rules/no-prototype-builtins.js +0 -159
  340. package/template/lib/react/node_modules/eslint/lib/rules/no-redeclare.js +0 -174
  341. package/template/lib/react/node_modules/eslint/lib/rules/no-regex-spaces.js +0 -197
  342. package/template/lib/react/node_modules/eslint/lib/rules/no-restricted-exports.js +0 -193
  343. package/template/lib/react/node_modules/eslint/lib/rules/no-restricted-globals.js +0 -124
  344. package/template/lib/react/node_modules/eslint/lib/rules/no-restricted-imports.js +0 -410
  345. package/template/lib/react/node_modules/eslint/lib/rules/no-restricted-modules.js +0 -213
  346. package/template/lib/react/node_modules/eslint/lib/rules/no-restricted-properties.js +0 -168
  347. package/template/lib/react/node_modules/eslint/lib/rules/no-restricted-syntax.js +0 -70
  348. package/template/lib/react/node_modules/eslint/lib/rules/no-return-assign.js +0 -80
  349. package/template/lib/react/node_modules/eslint/lib/rules/no-return-await.js +0 -135
  350. package/template/lib/react/node_modules/eslint/lib/rules/no-script-url.js +0 -61
  351. package/template/lib/react/node_modules/eslint/lib/rules/no-self-assign.js +0 -183
  352. package/template/lib/react/node_modules/eslint/lib/rules/no-self-compare.js +0 -60
  353. package/template/lib/react/node_modules/eslint/lib/rules/no-sequences.js +0 -138
  354. package/template/lib/react/node_modules/eslint/lib/rules/no-setter-return.js +0 -226
  355. package/template/lib/react/node_modules/eslint/lib/rules/no-shadow-restricted-names.js +0 -65
  356. package/template/lib/react/node_modules/eslint/lib/rules/no-shadow.js +0 -336
  357. package/template/lib/react/node_modules/eslint/lib/rules/no-spaced-func.js +0 -83
  358. package/template/lib/react/node_modules/eslint/lib/rules/no-sparse-arrays.js +0 -50
  359. package/template/lib/react/node_modules/eslint/lib/rules/no-sync.js +0 -64
  360. package/template/lib/react/node_modules/eslint/lib/rules/no-tabs.js +0 -81
  361. package/template/lib/react/node_modules/eslint/lib/rules/no-template-curly-in-string.js +0 -44
  362. package/template/lib/react/node_modules/eslint/lib/rules/no-ternary.js +0 -41
  363. package/template/lib/react/node_modules/eslint/lib/rules/no-this-before-super.js +0 -331
  364. package/template/lib/react/node_modules/eslint/lib/rules/no-throw-literal.js +0 -51
  365. package/template/lib/react/node_modules/eslint/lib/rules/no-trailing-spaces.js +0 -193
  366. package/template/lib/react/node_modules/eslint/lib/rules/no-undef-init.js +0 -75
  367. package/template/lib/react/node_modules/eslint/lib/rules/no-undef.js +0 -79
  368. package/template/lib/react/node_modules/eslint/lib/rules/no-undefined.js +0 -86
  369. package/template/lib/react/node_modules/eslint/lib/rules/no-underscore-dangle.js +0 -335
  370. package/template/lib/react/node_modules/eslint/lib/rules/no-unexpected-multiline.js +0 -120
  371. package/template/lib/react/node_modules/eslint/lib/rules/no-unmodified-loop-condition.js +0 -360
  372. package/template/lib/react/node_modules/eslint/lib/rules/no-unneeded-ternary.js +0 -166
  373. package/template/lib/react/node_modules/eslint/lib/rules/no-unreachable-loop.js +0 -185
  374. package/template/lib/react/node_modules/eslint/lib/rules/no-unreachable.js +0 -293
  375. package/template/lib/react/node_modules/eslint/lib/rules/no-unsafe-finally.js +0 -111
  376. package/template/lib/react/node_modules/eslint/lib/rules/no-unsafe-negation.js +0 -128
  377. package/template/lib/react/node_modules/eslint/lib/rules/no-unsafe-optional-chaining.js +0 -205
  378. package/template/lib/react/node_modules/eslint/lib/rules/no-unused-expressions.js +0 -186
  379. package/template/lib/react/node_modules/eslint/lib/rules/no-unused-labels.js +0 -143
  380. package/template/lib/react/node_modules/eslint/lib/rules/no-unused-private-class-members.js +0 -195
  381. package/template/lib/react/node_modules/eslint/lib/rules/no-unused-vars.js +0 -718
  382. package/template/lib/react/node_modules/eslint/lib/rules/no-use-before-define.js +0 -348
  383. package/template/lib/react/node_modules/eslint/lib/rules/no-useless-backreference.js +0 -194
  384. package/template/lib/react/node_modules/eslint/lib/rules/no-useless-call.js +0 -90
  385. package/template/lib/react/node_modules/eslint/lib/rules/no-useless-catch.js +0 -57
  386. package/template/lib/react/node_modules/eslint/lib/rules/no-useless-computed-key.js +0 -168
  387. package/template/lib/react/node_modules/eslint/lib/rules/no-useless-concat.js +0 -115
  388. package/template/lib/react/node_modules/eslint/lib/rules/no-useless-constructor.js +0 -189
  389. package/template/lib/react/node_modules/eslint/lib/rules/no-useless-escape.js +0 -333
  390. package/template/lib/react/node_modules/eslint/lib/rules/no-useless-rename.js +0 -172
  391. package/template/lib/react/node_modules/eslint/lib/rules/no-useless-return.js +0 -364
  392. package/template/lib/react/node_modules/eslint/lib/rules/no-var.js +0 -334
  393. package/template/lib/react/node_modules/eslint/lib/rules/no-void.js +0 -64
  394. package/template/lib/react/node_modules/eslint/lib/rules/no-warning-comments.js +0 -201
  395. package/template/lib/react/node_modules/eslint/lib/rules/no-whitespace-before-property.js +0 -116
  396. package/template/lib/react/node_modules/eslint/lib/rules/no-with.js +0 -39
  397. package/template/lib/react/node_modules/eslint/lib/rules/nonblock-statement-body-position.js +0 -127
  398. package/template/lib/react/node_modules/eslint/lib/rules/object-curly-newline.js +0 -324
  399. package/template/lib/react/node_modules/eslint/lib/rules/object-curly-spacing.js +0 -311
  400. package/template/lib/react/node_modules/eslint/lib/rules/object-property-newline.js +0 -102
  401. package/template/lib/react/node_modules/eslint/lib/rules/object-shorthand.js +0 -520
  402. package/template/lib/react/node_modules/eslint/lib/rules/one-var-declaration-per-line.js +0 -95
  403. package/template/lib/react/node_modules/eslint/lib/rules/one-var.js +0 -567
  404. package/template/lib/react/node_modules/eslint/lib/rules/operator-assignment.js +0 -209
  405. package/template/lib/react/node_modules/eslint/lib/rules/operator-linebreak.js +0 -253
  406. package/template/lib/react/node_modules/eslint/lib/rules/padded-blocks.js +0 -310
  407. package/template/lib/react/node_modules/eslint/lib/rules/padding-line-between-statements.js +0 -590
  408. package/template/lib/react/node_modules/eslint/lib/rules/prefer-arrow-callback.js +0 -381
  409. package/template/lib/react/node_modules/eslint/lib/rules/prefer-const.js +0 -501
  410. package/template/lib/react/node_modules/eslint/lib/rules/prefer-destructuring.js +0 -301
  411. package/template/lib/react/node_modules/eslint/lib/rules/prefer-exponentiation-operator.js +0 -191
  412. package/template/lib/react/node_modules/eslint/lib/rules/prefer-named-capture-group.js +0 -178
  413. package/template/lib/react/node_modules/eslint/lib/rules/prefer-numeric-literals.js +0 -148
  414. package/template/lib/react/node_modules/eslint/lib/rules/prefer-object-has-own.js +0 -114
  415. package/template/lib/react/node_modules/eslint/lib/rules/prefer-object-spread.js +0 -298
  416. package/template/lib/react/node_modules/eslint/lib/rules/prefer-promise-reject-errors.js +0 -132
  417. package/template/lib/react/node_modules/eslint/lib/rules/prefer-reflect.js +0 -127
  418. package/template/lib/react/node_modules/eslint/lib/rules/prefer-regex-literals.js +0 -507
  419. package/template/lib/react/node_modules/eslint/lib/rules/prefer-rest-params.js +0 -118
  420. package/template/lib/react/node_modules/eslint/lib/rules/prefer-spread.js +0 -87
  421. package/template/lib/react/node_modules/eslint/lib/rules/prefer-template.js +0 -275
  422. package/template/lib/react/node_modules/eslint/lib/rules/quote-props.js +0 -310
  423. package/template/lib/react/node_modules/eslint/lib/rules/quotes.js +0 -350
  424. package/template/lib/react/node_modules/eslint/lib/rules/radix.js +0 -198
  425. package/template/lib/react/node_modules/eslint/lib/rules/require-atomic-updates.js +0 -331
  426. package/template/lib/react/node_modules/eslint/lib/rules/require-await.js +0 -113
  427. package/template/lib/react/node_modules/eslint/lib/rules/require-jsdoc.js +0 -122
  428. package/template/lib/react/node_modules/eslint/lib/rules/require-unicode-regexp.js +0 -129
  429. package/template/lib/react/node_modules/eslint/lib/rules/require-yield.js +0 -77
  430. package/template/lib/react/node_modules/eslint/lib/rules/rest-spread-spacing.js +0 -123
  431. package/template/lib/react/node_modules/eslint/lib/rules/semi-spacing.js +0 -248
  432. package/template/lib/react/node_modules/eslint/lib/rules/semi-style.js +0 -158
  433. package/template/lib/react/node_modules/eslint/lib/rules/semi.js +0 -438
  434. package/template/lib/react/node_modules/eslint/lib/rules/sort-imports.js +0 -241
  435. package/template/lib/react/node_modules/eslint/lib/rules/sort-keys.js +0 -230
  436. package/template/lib/react/node_modules/eslint/lib/rules/sort-vars.js +0 -104
  437. package/template/lib/react/node_modules/eslint/lib/rules/space-before-blocks.js +0 -204
  438. package/template/lib/react/node_modules/eslint/lib/rules/space-before-function-paren.js +0 -167
  439. package/template/lib/react/node_modules/eslint/lib/rules/space-in-parens.js +0 -285
  440. package/template/lib/react/node_modules/eslint/lib/rules/space-infix-ops.js +0 -198
  441. package/template/lib/react/node_modules/eslint/lib/rules/space-unary-ops.js +0 -324
  442. package/template/lib/react/node_modules/eslint/lib/rules/spaced-comment.js +0 -385
  443. package/template/lib/react/node_modules/eslint/lib/rules/strict.js +0 -277
  444. package/template/lib/react/node_modules/eslint/lib/rules/switch-colon-spacing.js +0 -132
  445. package/template/lib/react/node_modules/eslint/lib/rules/symbol-description.js +0 -73
  446. package/template/lib/react/node_modules/eslint/lib/rules/template-curly-spacing.js +0 -144
  447. package/template/lib/react/node_modules/eslint/lib/rules/template-tag-spacing.js +0 -93
  448. package/template/lib/react/node_modules/eslint/lib/rules/unicode-bom.js +0 -73
  449. package/template/lib/react/node_modules/eslint/lib/rules/use-isnan.js +0 -141
  450. package/template/lib/react/node_modules/eslint/lib/rules/utils/ast-utils.js +0 -2282
  451. package/template/lib/react/node_modules/eslint/lib/rules/utils/fix-tracker.js +0 -114
  452. package/template/lib/react/node_modules/eslint/lib/rules/utils/keywords.js +0 -67
  453. package/template/lib/react/node_modules/eslint/lib/rules/utils/lazy-loading-rule-map.js +0 -115
  454. package/template/lib/react/node_modules/eslint/lib/rules/utils/patterns/letters.js +0 -36
  455. package/template/lib/react/node_modules/eslint/lib/rules/utils/regular-expressions.js +0 -42
  456. package/template/lib/react/node_modules/eslint/lib/rules/utils/unicode/index.js +0 -11
  457. package/template/lib/react/node_modules/eslint/lib/rules/utils/unicode/is-combining-character.js +0 -13
  458. package/template/lib/react/node_modules/eslint/lib/rules/utils/unicode/is-emoji-modifier.js +0 -13
  459. package/template/lib/react/node_modules/eslint/lib/rules/utils/unicode/is-regional-indicator-symbol.js +0 -13
  460. package/template/lib/react/node_modules/eslint/lib/rules/utils/unicode/is-surrogate-pair.js +0 -14
  461. package/template/lib/react/node_modules/eslint/lib/rules/valid-jsdoc.js +0 -516
  462. package/template/lib/react/node_modules/eslint/lib/rules/valid-typeof.js +0 -127
  463. package/template/lib/react/node_modules/eslint/lib/rules/vars-on-top.js +0 -157
  464. package/template/lib/react/node_modules/eslint/lib/rules/wrap-iife.js +0 -207
  465. package/template/lib/react/node_modules/eslint/lib/rules/wrap-regex.js +0 -61
  466. package/template/lib/react/node_modules/eslint/lib/rules/yield-star-spacing.js +0 -130
  467. package/template/lib/react/node_modules/eslint/lib/rules/yoda.js +0 -353
  468. package/template/lib/react/node_modules/eslint/lib/shared/ajv.js +0 -34
  469. package/template/lib/react/node_modules/eslint/lib/shared/ast-utils.js +0 -29
  470. package/template/lib/react/node_modules/eslint/lib/shared/config-validator.js +0 -347
  471. package/template/lib/react/node_modules/eslint/lib/shared/deprecation-warnings.js +0 -58
  472. package/template/lib/react/node_modules/eslint/lib/shared/directives.js +0 -15
  473. package/template/lib/react/node_modules/eslint/lib/shared/logging.js +0 -30
  474. package/template/lib/react/node_modules/eslint/lib/shared/relative-module-resolver.js +0 -50
  475. package/template/lib/react/node_modules/eslint/lib/shared/runtime-info.js +0 -167
  476. package/template/lib/react/node_modules/eslint/lib/shared/severity.js +0 -49
  477. package/template/lib/react/node_modules/eslint/lib/shared/string-utils.js +0 -60
  478. package/template/lib/react/node_modules/eslint/lib/shared/traverser.js +0 -195
  479. package/template/lib/react/node_modules/eslint/lib/shared/types.js +0 -216
  480. package/template/lib/react/node_modules/eslint/lib/source-code/index.js +0 -5
  481. package/template/lib/react/node_modules/eslint/lib/source-code/source-code.js +0 -1055
  482. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/backward-token-comment-cursor.js +0 -57
  483. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/backward-token-cursor.js +0 -58
  484. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/cursor.js +0 -76
  485. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/cursors.js +0 -90
  486. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/decorative-cursor.js +0 -39
  487. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/filter-cursor.js +0 -43
  488. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/forward-token-comment-cursor.js +0 -57
  489. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/forward-token-cursor.js +0 -63
  490. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/index.js +0 -627
  491. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/limit-cursor.js +0 -40
  492. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/padded-token-cursor.js +0 -38
  493. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/skip-cursor.js +0 -42
  494. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/utils.js +0 -107
  495. package/template/lib/react/node_modules/eslint/lib/unsupported-api.js +0 -30
  496. package/template/lib/react/node_modules/eslint/messages/all-files-ignored.js +0 -16
  497. package/template/lib/react/node_modules/eslint/messages/eslintrc-incompat.js +0 -98
  498. package/template/lib/react/node_modules/eslint/messages/eslintrc-plugins.js +0 -24
  499. package/template/lib/react/node_modules/eslint/messages/extend-config-missing.js +0 -13
  500. package/template/lib/react/node_modules/eslint/messages/failed-to-read-json.js +0 -11
  501. package/template/lib/react/node_modules/eslint/messages/file-not-found.js +0 -10
  502. package/template/lib/react/node_modules/eslint/messages/invalid-rule-options.js +0 -17
  503. package/template/lib/react/node_modules/eslint/messages/invalid-rule-severity.js +0 -13
  504. package/template/lib/react/node_modules/eslint/messages/no-config-found.js +0 -15
  505. package/template/lib/react/node_modules/eslint/messages/plugin-conflict.js +0 -22
  506. package/template/lib/react/node_modules/eslint/messages/plugin-invalid.js +0 -16
  507. package/template/lib/react/node_modules/eslint/messages/plugin-missing.js +0 -19
  508. package/template/lib/react/node_modules/eslint/messages/print-config-with-directory-path.js +0 -8
  509. package/template/lib/react/node_modules/eslint/messages/shared.js +0 -18
  510. package/template/lib/react/node_modules/eslint/messages/whitespace-found.js +0 -11
  511. package/template/lib/react/node_modules/eslint/node_modules/.bin/eslint +0 -17
  512. package/template/lib/react/node_modules/eslint/node_modules/.bin/eslint.CMD +0 -12
  513. package/template/lib/react/node_modules/eslint/node_modules/.bin/eslint.ps1 +0 -41
  514. package/template/lib/react/node_modules/eslint/node_modules/.bin/js-yaml +0 -17
  515. package/template/lib/react/node_modules/eslint/node_modules/.bin/js-yaml.CMD +0 -12
  516. package/template/lib/react/node_modules/eslint/node_modules/.bin/js-yaml.ps1 +0 -41
  517. package/template/lib/react/node_modules/eslint/package.json +0 -179
  518. package/template/lib/react/node_modules/eslint-import-resolver-typescript/LICENSE +0 -5
  519. package/template/lib/react/node_modules/eslint-import-resolver-typescript/README.md +0 -232
  520. package/template/lib/react/node_modules/eslint-import-resolver-typescript/lib/index.cjs +0 -278
  521. package/template/lib/react/node_modules/eslint-import-resolver-typescript/lib/index.d.ts +0 -20
  522. package/template/lib/react/node_modules/eslint-import-resolver-typescript/lib/index.es2020.mjs +0 -251
  523. package/template/lib/react/node_modules/eslint-import-resolver-typescript/lib/index.js +0 -252
  524. package/template/lib/react/node_modules/eslint-import-resolver-typescript/lib/index.js.map +0 -1
  525. package/template/lib/react/node_modules/eslint-import-resolver-typescript/node_modules/.bin/eslint +0 -17
  526. package/template/lib/react/node_modules/eslint-import-resolver-typescript/node_modules/.bin/eslint.CMD +0 -12
  527. package/template/lib/react/node_modules/eslint-import-resolver-typescript/node_modules/.bin/eslint.ps1 +0 -41
  528. package/template/lib/react/node_modules/eslint-import-resolver-typescript/package.json +0 -108
  529. package/template/lib/react/node_modules/eslint-import-resolver-typescript/shim.d.ts +0 -4
  530. package/template/lib/react/node_modules/eslint-plugin-import/CHANGELOG.md +0 -1925
  531. package/template/lib/react/node_modules/eslint-plugin-import/CONTRIBUTING.md +0 -84
  532. package/template/lib/react/node_modules/eslint-plugin-import/LICENSE +0 -22
  533. package/template/lib/react/node_modules/eslint-plugin-import/README.md +0 -500
  534. package/template/lib/react/node_modules/eslint-plugin-import/RELEASE.md +0 -54
  535. package/template/lib/react/node_modules/eslint-plugin-import/SECURITY.md +0 -11
  536. package/template/lib/react/node_modules/eslint-plugin-import/config/electron.js +0 -8
  537. package/template/lib/react/node_modules/eslint-plugin-import/config/errors.js +0 -14
  538. package/template/lib/react/node_modules/eslint-plugin-import/config/react-native.js +0 -13
  539. package/template/lib/react/node_modules/eslint-plugin-import/config/react.js +0 -18
  540. package/template/lib/react/node_modules/eslint-plugin-import/config/recommended.js +0 -28
  541. package/template/lib/react/node_modules/eslint-plugin-import/config/stage-0.js +0 -12
  542. package/template/lib/react/node_modules/eslint-plugin-import/config/typescript.js +0 -34
  543. package/template/lib/react/node_modules/eslint-plugin-import/config/warnings.js +0 -12
  544. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/consistent-type-specifier-style.md +0 -91
  545. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/default.md +0 -72
  546. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/dynamic-import-chunkname.md +0 -92
  547. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/export.md +0 -37
  548. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/exports-last.md +0 -51
  549. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/extensions.md +0 -174
  550. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/first.md +0 -75
  551. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/group-exports.md +0 -118
  552. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/imports-first.md +0 -9
  553. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/max-dependencies.md +0 -70
  554. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/named.md +0 -102
  555. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/namespace.md +0 -106
  556. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/newline-after-import.md +0 -167
  557. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-absolute-path.md +0 -54
  558. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-amd.md +0 -37
  559. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-anonymous-default-export.md +0 -83
  560. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-commonjs.md +0 -96
  561. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-cycle.md +0 -111
  562. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-default-export.md +0 -65
  563. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-deprecated.md +0 -62
  564. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-duplicates.md +0 -109
  565. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-dynamic-require.md +0 -25
  566. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-empty-named-blocks.md +0 -49
  567. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-extraneous-dependencies.md +0 -139
  568. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-import-module-exports.md +0 -81
  569. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-internal-modules.md +0 -136
  570. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-mutable-exports.md +0 -54
  571. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-named-as-default-member.md +0 -52
  572. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-named-as-default.md +0 -53
  573. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-named-default.md +0 -36
  574. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-named-export.md +0 -79
  575. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-namespace.md +0 -44
  576. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-nodejs-modules.md +0 -42
  577. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-relative-packages.md +0 -70
  578. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-relative-parent-imports.md +0 -123
  579. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-restricted-paths.md +0 -198
  580. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-self-import.md +0 -32
  581. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-unassigned-import.md +0 -60
  582. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-unresolved.md +0 -110
  583. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-unused-modules.md +0 -125
  584. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-useless-path-segments.md +0 -85
  585. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-webpack-loader-syntax.md +0 -39
  586. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/order.md +0 -365
  587. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/prefer-default-export.md +0 -185
  588. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/unambiguous.md +0 -57
  589. package/template/lib/react/node_modules/eslint-plugin-import/lib/ExportMap.js +0 -856
  590. package/template/lib/react/node_modules/eslint-plugin-import/lib/core/importType.js +0 -129
  591. package/template/lib/react/node_modules/eslint-plugin-import/lib/core/packagePath.js +0 -22
  592. package/template/lib/react/node_modules/eslint-plugin-import/lib/core/staticRequire.js +0 -11
  593. package/template/lib/react/node_modules/eslint-plugin-import/lib/docsUrl.js +0 -8
  594. package/template/lib/react/node_modules/eslint-plugin-import/lib/importDeclaration.js +0 -5
  595. package/template/lib/react/node_modules/eslint-plugin-import/lib/index.js +0 -71
  596. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/consistent-type-specifier-style.js +0 -221
  597. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/default.js +0 -40
  598. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/dynamic-import-chunkname.js +0 -120
  599. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/export.js +0 -250
  600. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/exports-last.js +0 -40
  601. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/extensions.js +0 -193
  602. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/first.js +0 -144
  603. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/group-exports.js +0 -155
  604. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/imports-first.js +0 -16
  605. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/max-dependencies.js +0 -60
  606. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/named.js +0 -143
  607. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/namespace.js +0 -218
  608. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/newline-after-import.js +0 -237
  609. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-absolute-path.js +0 -40
  610. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-amd.js +0 -47
  611. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-anonymous-default-export.js +0 -103
  612. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-commonjs.js +0 -141
  613. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-cycle.js +0 -158
  614. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-default-export.js +0 -43
  615. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-deprecated.js +0 -138
  616. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-duplicates.js +0 -354
  617. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-dynamic-require.js +0 -77
  618. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-empty-named-blocks.js +0 -105
  619. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-extraneous-dependencies.js +0 -301
  620. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-import-module-exports.js +0 -85
  621. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-internal-modules.js +0 -144
  622. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-mutable-exports.js +0 -59
  623. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-named-as-default-member.js +0 -96
  624. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-named-as-default.js +0 -45
  625. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-named-default.js +0 -31
  626. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-named-export.js +0 -39
  627. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-namespace.js +0 -175
  628. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-nodejs-modules.js +0 -44
  629. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-relative-packages.js +0 -71
  630. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-relative-parent-imports.js +0 -48
  631. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-restricted-paths.js +0 -245
  632. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-self-import.js +0 -39
  633. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-unassigned-import.js +0 -79
  634. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-unresolved.js +0 -60
  635. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-unused-modules.js +0 -945
  636. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-useless-path-segments.js +0 -147
  637. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-webpack-loader-syntax.js +0 -26
  638. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/order.js +0 -785
  639. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/prefer-default-export.js +0 -116
  640. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/unambiguous.js +0 -38
  641. package/template/lib/react/node_modules/eslint-plugin-import/memo-parser/LICENSE +0 -22
  642. package/template/lib/react/node_modules/eslint-plugin-import/memo-parser/README.md +0 -21
  643. package/template/lib/react/node_modules/eslint-plugin-import/memo-parser/index.js +0 -41
  644. package/template/lib/react/node_modules/eslint-plugin-import/node_modules/.bin/eslint +0 -17
  645. package/template/lib/react/node_modules/eslint-plugin-import/node_modules/.bin/eslint.CMD +0 -12
  646. package/template/lib/react/node_modules/eslint-plugin-import/node_modules/.bin/eslint.ps1 +0 -41
  647. package/template/lib/react/node_modules/eslint-plugin-import/node_modules/.bin/semver +0 -17
  648. package/template/lib/react/node_modules/eslint-plugin-import/node_modules/.bin/semver.CMD +0 -12
  649. package/template/lib/react/node_modules/eslint-plugin-import/node_modules/.bin/semver.ps1 +0 -41
  650. package/template/lib/react/node_modules/eslint-plugin-import/package.json +0 -124
  651. package/template/lib/react/node_modules/eslint-plugin-prettier/LICENSE.md +0 -24
  652. package/template/lib/react/node_modules/eslint-plugin-prettier/README.md +0 -202
  653. package/template/lib/react/node_modules/eslint-plugin-prettier/eslint-plugin-prettier.d.ts +0 -5
  654. package/template/lib/react/node_modules/eslint-plugin-prettier/eslint-plugin-prettier.js +0 -254
  655. package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint +0 -17
  656. package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint-config-prettier +0 -17
  657. package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint-config-prettier.CMD +0 -12
  658. package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint-config-prettier.ps1 +0 -41
  659. package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint.CMD +0 -12
  660. package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint.ps1 +0 -41
  661. package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/prettier +0 -17
  662. package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/prettier.CMD +0 -12
  663. package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/prettier.ps1 +0 -41
  664. package/template/lib/react/node_modules/eslint-plugin-prettier/package.json +0 -101
  665. package/template/lib/react/node_modules/eslint-plugin-prettier/recommended.d.ts +0 -5
  666. package/template/lib/react/node_modules/eslint-plugin-prettier/recommended.js +0 -17
  667. package/template/lib/react/node_modules/eslint-plugin-prettier/worker.js +0 -181
  668. package/template/lib/react/node_modules/eslint-plugin-react/LICENSE +0 -22
  669. package/template/lib/react/node_modules/eslint-plugin-react/README.md +0 -420
  670. package/template/lib/react/node_modules/eslint-plugin-react/configs/all.js +0 -39
  671. package/template/lib/react/node_modules/eslint-plugin-react/configs/jsx-runtime.js +0 -18
  672. package/template/lib/react/node_modules/eslint-plugin-react/configs/recommended.js +0 -34
  673. package/template/lib/react/node_modules/eslint-plugin-react/index.js +0 -31
  674. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/boolean-prop-naming.js +0 -400
  675. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/button-has-type.js +0 -163
  676. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/default-props-match-prop-types.js +0 -108
  677. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/destructuring-assignment.js +0 -280
  678. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/display-name.js +0 -283
  679. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/forbid-component-props.js +0 -134
  680. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/forbid-dom-props.js +0 -121
  681. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/forbid-elements.js +0 -114
  682. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/forbid-foreign-prop-types.js +0 -134
  683. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/forbid-prop-types.js +0 -293
  684. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/function-component-definition.js +0 -284
  685. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/hook-use-state.js +0 -203
  686. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/iframe-missing-sandbox.js +0 -142
  687. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/index.js +0 -106
  688. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-boolean-value.js +0 -159
  689. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-child-element-spacing.js +0 -116
  690. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-closing-bracket-location.js +0 -308
  691. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-closing-tag-location.js +0 -73
  692. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-curly-brace-presence.js +0 -414
  693. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-curly-newline.js +0 -184
  694. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-curly-spacing.js +0 -430
  695. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-equals-spacing.js +0 -110
  696. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-filename-extension.js +0 -110
  697. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-first-prop-new-line.js +0 -80
  698. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-fragments.js +0 -209
  699. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-handler-names.js +0 -171
  700. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-indent-props.js +0 -213
  701. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-indent.js +0 -441
  702. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-key.js +0 -293
  703. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-max-depth.js +0 -162
  704. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-max-props-per-line.js +0 -154
  705. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-newline.js +0 -168
  706. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-bind.js +0 -208
  707. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-comment-textnodes.js +0 -64
  708. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-constructed-context-values.js +0 -225
  709. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-duplicate-props.js +0 -76
  710. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-leaked-render.js +0 -186
  711. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-literals.js +0 -195
  712. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-script-url.js +0 -97
  713. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-target-blank.js +0 -283
  714. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-undef.js +0 -115
  715. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-useless-fragment.js +0 -257
  716. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-one-expression-per-line.js +0 -233
  717. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-pascal-case.js +0 -163
  718. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-props-no-multi-spaces.js +0 -134
  719. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-props-no-spreading.js +0 -141
  720. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-sort-default-props.js +0 -188
  721. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-sort-props.js +0 -530
  722. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-space-before-closing.js +0 -96
  723. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-tag-spacing.js +0 -323
  724. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-uses-react.js +0 -46
  725. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-uses-vars.js +0 -60
  726. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-wrap-multilines.js +0 -260
  727. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-access-state-in-setstate.js +0 -187
  728. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-adjacent-inline-elements.js +0 -125
  729. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-array-index-key.js +0 -288
  730. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-arrow-function-lifecycle.js +0 -144
  731. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-children-prop.js +0 -119
  732. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-danger-with-children.js +0 -155
  733. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-danger.js +0 -74
  734. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-deprecated.js +0 -258
  735. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-did-mount-set-state.js +0 -10
  736. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-did-update-set-state.js +0 -10
  737. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-direct-mutation-state.js +0 -154
  738. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-find-dom-node.js +0 -50
  739. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-invalid-html-attribute.js +0 -639
  740. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-is-mounted.js +0 -55
  741. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-multi-comp.js +0 -80
  742. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-namespace.js +0 -61
  743. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-object-type-as-default-prop.js +0 -103
  744. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-redundant-should-component-update.js +0 -87
  745. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-render-return-value.js +0 -81
  746. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-set-state.js +0 -88
  747. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-string-refs.js +0 -119
  748. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-this-in-sfc.js +0 -46
  749. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-typos.js +0 -257
  750. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unescaped-entities.js +0 -133
  751. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unknown-property.js +0 -609
  752. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unsafe.js +0 -153
  753. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unstable-nested-components.js +0 -491
  754. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unused-class-component-methods.js +0 -257
  755. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unused-prop-types.js +0 -173
  756. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unused-state.js +0 -522
  757. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-will-update-set-state.js +0 -14
  758. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/prefer-es6-class.js +0 -57
  759. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/prefer-exact-props.js +0 -161
  760. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/prefer-read-only-props.js +0 -116
  761. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/prefer-stateless-function.js +0 -390
  762. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/prop-types.js +0 -201
  763. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/react-in-jsx-scope.js +0 -56
  764. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/require-default-props.js +0 -193
  765. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/require-optimization.js +0 -239
  766. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/require-render-return.js +0 -104
  767. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/self-closing-comp.js +0 -103
  768. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/sort-comp.js +0 -446
  769. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/sort-default-props.js +0 -174
  770. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/sort-prop-types.js +0 -266
  771. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/state-in-constructor.js +0 -67
  772. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/static-property-placement.js +0 -187
  773. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/style-prop-object.js +0 -137
  774. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/void-dom-elements-no-children.js +0 -165
  775. package/template/lib/react/node_modules/eslint-plugin-react/lib/types.d.ts +0 -28
  776. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/Components.js +0 -946
  777. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/annotations.js +0 -32
  778. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/ast.js +0 -461
  779. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/componentUtil.js +0 -182
  780. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/defaultProps.js +0 -268
  781. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/docsUrl.js +0 -7
  782. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/error.js +0 -14
  783. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/getTokenBeforeClosingBracket.js +0 -16
  784. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/isCreateContext.js +0 -53
  785. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/isCreateElement.js +0 -33
  786. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/isDestructuredFromPragmaImport.js +0 -79
  787. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/isFirstLetterCapitalized.js +0 -16
  788. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/jsx.js +0 -196
  789. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/lifecycleMethods.js +0 -30
  790. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/linkComponents.js +0 -49
  791. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/log.js +0 -14
  792. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/makeNoMethodSetStateRule.js +0 -119
  793. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/message.js +0 -8
  794. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/pragma.js +0 -72
  795. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/propTypes.js +0 -1248
  796. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/propTypesSort.js +0 -211
  797. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/propWrapper.js +0 -61
  798. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/props.js +0 -103
  799. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/report.js +0 -12
  800. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/usedPropTypes.js +0 -569
  801. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/variable.js +0 -94
  802. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/version.js +0 -161
  803. package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/eslint +0 -17
  804. package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/eslint.CMD +0 -12
  805. package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/eslint.ps1 +0 -41
  806. package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/resolve +0 -17
  807. package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/resolve.CMD +0 -12
  808. package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/resolve.ps1 +0 -41
  809. package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/semver +0 -17
  810. package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/semver.CMD +0 -12
  811. package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/semver.ps1 +0 -41
  812. package/template/lib/react/node_modules/eslint-plugin-react/package.json +0 -106
  813. package/template/lib/react/node_modules/eslint-plugin-react-hooks/LICENSE +0 -21
  814. package/template/lib/react/node_modules/eslint-plugin-react-hooks/README.md +0 -75
  815. package/template/lib/react/node_modules/eslint-plugin-react-hooks/cjs/eslint-plugin-react-hooks.development.js +0 -2458
  816. package/template/lib/react/node_modules/eslint-plugin-react-hooks/cjs/eslint-plugin-react-hooks.production.min.js +0 -63
  817. package/template/lib/react/node_modules/eslint-plugin-react-hooks/index.js +0 -9
  818. package/template/lib/react/node_modules/eslint-plugin-react-hooks/node_modules/.bin/eslint +0 -17
  819. package/template/lib/react/node_modules/eslint-plugin-react-hooks/node_modules/.bin/eslint.CMD +0 -12
  820. package/template/lib/react/node_modules/eslint-plugin-react-hooks/node_modules/.bin/eslint.ps1 +0 -41
  821. package/template/lib/react/node_modules/eslint-plugin-react-hooks/package.json +0 -39
  822. package/template/lib/react/node_modules/prettier/LICENSE +0 -4857
  823. package/template/lib/react/node_modules/prettier/README.md +0 -109
  824. package/template/lib/react/node_modules/prettier/bin/prettier.cjs +0 -68
  825. package/template/lib/react/node_modules/prettier/doc.d.ts +0 -243
  826. package/template/lib/react/node_modules/prettier/doc.js +0 -1328
  827. package/template/lib/react/node_modules/prettier/doc.mjs +0 -1300
  828. package/template/lib/react/node_modules/prettier/index.cjs +0 -648
  829. package/template/lib/react/node_modules/prettier/index.d.ts +0 -940
  830. package/template/lib/react/node_modules/prettier/index.mjs +0 -24255
  831. package/template/lib/react/node_modules/prettier/internal/cli.mjs +0 -7089
  832. package/template/lib/react/node_modules/prettier/node_modules/.bin/prettier +0 -17
  833. package/template/lib/react/node_modules/prettier/node_modules/.bin/prettier.CMD +0 -12
  834. package/template/lib/react/node_modules/prettier/node_modules/.bin/prettier.ps1 +0 -41
  835. package/template/lib/react/node_modules/prettier/package.json +0 -198
  836. package/template/lib/react/node_modules/prettier/plugins/acorn.d.ts +0 -6
  837. package/template/lib/react/node_modules/prettier/plugins/acorn.js +0 -13
  838. package/template/lib/react/node_modules/prettier/plugins/acorn.mjs +0 -13
  839. package/template/lib/react/node_modules/prettier/plugins/angular.d.ts +0 -8
  840. package/template/lib/react/node_modules/prettier/plugins/angular.js +0 -1
  841. package/template/lib/react/node_modules/prettier/plugins/angular.mjs +0 -1
  842. package/template/lib/react/node_modules/prettier/plugins/babel.d.ts +0 -18
  843. package/template/lib/react/node_modules/prettier/plugins/babel.js +0 -16
  844. package/template/lib/react/node_modules/prettier/plugins/babel.mjs +0 -16
  845. package/template/lib/react/node_modules/prettier/plugins/estree.d.ts +0 -1
  846. package/template/lib/react/node_modules/prettier/plugins/estree.js +0 -36
  847. package/template/lib/react/node_modules/prettier/plugins/estree.mjs +0 -36
  848. package/template/lib/react/node_modules/prettier/plugins/flow.d.ts +0 -5
  849. package/template/lib/react/node_modules/prettier/plugins/flow.js +0 -21
  850. package/template/lib/react/node_modules/prettier/plugins/flow.mjs +0 -21
  851. package/template/lib/react/node_modules/prettier/plugins/glimmer.d.ts +0 -5
  852. package/template/lib/react/node_modules/prettier/plugins/glimmer.js +0 -30
  853. package/template/lib/react/node_modules/prettier/plugins/glimmer.mjs +0 -30
  854. package/template/lib/react/node_modules/prettier/plugins/graphql.d.ts +0 -5
  855. package/template/lib/react/node_modules/prettier/plugins/graphql.js +0 -29
  856. package/template/lib/react/node_modules/prettier/plugins/graphql.mjs +0 -29
  857. package/template/lib/react/node_modules/prettier/plugins/html.d.ts +0 -8
  858. package/template/lib/react/node_modules/prettier/plugins/html.js +0 -19
  859. package/template/lib/react/node_modules/prettier/plugins/html.mjs +0 -19
  860. package/template/lib/react/node_modules/prettier/plugins/markdown.d.ts +0 -7
  861. package/template/lib/react/node_modules/prettier/plugins/markdown.js +0 -59
  862. package/template/lib/react/node_modules/prettier/plugins/markdown.mjs +0 -59
  863. package/template/lib/react/node_modules/prettier/plugins/meriyah.d.ts +0 -5
  864. package/template/lib/react/node_modules/prettier/plugins/meriyah.js +0 -5
  865. package/template/lib/react/node_modules/prettier/plugins/meriyah.mjs +0 -5
  866. package/template/lib/react/node_modules/prettier/plugins/postcss.d.ts +0 -7
  867. package/template/lib/react/node_modules/prettier/plugins/postcss.js +0 -49
  868. package/template/lib/react/node_modules/prettier/plugins/postcss.mjs +0 -49
  869. package/template/lib/react/node_modules/prettier/plugins/typescript.d.ts +0 -5
  870. package/template/lib/react/node_modules/prettier/plugins/typescript.js +0 -25
  871. package/template/lib/react/node_modules/prettier/plugins/typescript.mjs +0 -25
  872. package/template/lib/react/node_modules/prettier/plugins/yaml.d.ts +0 -5
  873. package/template/lib/react/node_modules/prettier/plugins/yaml.js +0 -161
  874. package/template/lib/react/node_modules/prettier/plugins/yaml.mjs +0 -161
  875. package/template/lib/react/node_modules/prettier/standalone.d.ts +0 -33
  876. package/template/lib/react/node_modules/prettier/standalone.js +0 -34
  877. package/template/lib/react/node_modules/prettier/standalone.mjs +0 -34
  878. package/template/lib/react/node_modules/prop-types/LICENSE +0 -21
  879. package/template/lib/react/node_modules/prop-types/README.md +0 -302
  880. package/template/lib/react/node_modules/prop-types/checkPropTypes.js +0 -103
  881. package/template/lib/react/node_modules/prop-types/factory.js +0 -19
  882. package/template/lib/react/node_modules/prop-types/factoryWithThrowingShims.js +0 -65
  883. package/template/lib/react/node_modules/prop-types/factoryWithTypeCheckers.js +0 -610
  884. package/template/lib/react/node_modules/prop-types/index.js +0 -19
  885. package/template/lib/react/node_modules/prop-types/lib/ReactPropTypesSecret.js +0 -12
  886. package/template/lib/react/node_modules/prop-types/lib/has.js +0 -1
  887. package/template/lib/react/node_modules/prop-types/node_modules/.bin/loose-envify +0 -17
  888. package/template/lib/react/node_modules/prop-types/node_modules/.bin/loose-envify.CMD +0 -12
  889. package/template/lib/react/node_modules/prop-types/node_modules/.bin/loose-envify.ps1 +0 -41
  890. package/template/lib/react/node_modules/prop-types/package.json +0 -60
  891. package/template/lib/react/node_modules/prop-types/prop-types.js +0 -1315
  892. package/template/lib/react/node_modules/prop-types/prop-types.min.js +0 -1
  893. package/template/lib/react/node_modules/react/LICENSE +0 -21
  894. package/template/lib/react/node_modules/react/README.md +0 -37
  895. package/template/lib/react/node_modules/react/cjs/react-jsx-dev-runtime.development.js +0 -1296
  896. package/template/lib/react/node_modules/react/cjs/react-jsx-dev-runtime.production.min.js +0 -10
  897. package/template/lib/react/node_modules/react/cjs/react-jsx-dev-runtime.profiling.min.js +0 -10
  898. package/template/lib/react/node_modules/react/cjs/react-jsx-runtime.development.js +0 -1314
  899. package/template/lib/react/node_modules/react/cjs/react-jsx-runtime.production.min.js +0 -11
  900. package/template/lib/react/node_modules/react/cjs/react-jsx-runtime.profiling.min.js +0 -11
  901. package/template/lib/react/node_modules/react/cjs/react.development.js +0 -2739
  902. package/template/lib/react/node_modules/react/cjs/react.production.min.js +0 -26
  903. package/template/lib/react/node_modules/react/cjs/react.shared-subset.development.js +0 -20
  904. package/template/lib/react/node_modules/react/cjs/react.shared-subset.production.min.js +0 -10
  905. package/template/lib/react/node_modules/react/index.js +0 -7
  906. package/template/lib/react/node_modules/react/jsx-dev-runtime.js +0 -7
  907. package/template/lib/react/node_modules/react/jsx-runtime.js +0 -7
  908. package/template/lib/react/node_modules/react/node_modules/.bin/loose-envify +0 -17
  909. package/template/lib/react/node_modules/react/node_modules/.bin/loose-envify.CMD +0 -12
  910. package/template/lib/react/node_modules/react/node_modules/.bin/loose-envify.ps1 +0 -41
  911. package/template/lib/react/node_modules/react/package.json +0 -47
  912. package/template/lib/react/node_modules/react/react.shared-subset.js +0 -7
  913. package/template/lib/react/node_modules/react/umd/react.development.js +0 -3342
  914. package/template/lib/react/node_modules/react/umd/react.production.min.js +0 -31
  915. package/template/lib/react/node_modules/react/umd/react.profiling.min.js +0 -31
  916. package/template/lib/react/node_modules/react-dom/LICENSE +0 -21
  917. package/template/lib/react/node_modules/react-dom/README.md +0 -60
  918. package/template/lib/react/node_modules/react-dom/cjs/react-dom-server-legacy.browser.development.js +0 -7018
  919. package/template/lib/react/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.min.js +0 -93
  920. package/template/lib/react/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js +0 -7078
  921. package/template/lib/react/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.min.js +0 -101
  922. package/template/lib/react/node_modules/react-dom/cjs/react-dom-server.browser.development.js +0 -7003
  923. package/template/lib/react/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js +0 -96
  924. package/template/lib/react/node_modules/react-dom/cjs/react-dom-server.node.development.js +0 -7059
  925. package/template/lib/react/node_modules/react-dom/cjs/react-dom-server.node.production.min.js +0 -102
  926. package/template/lib/react/node_modules/react-dom/cjs/react-dom-test-utils.development.js +0 -1741
  927. package/template/lib/react/node_modules/react-dom/cjs/react-dom-test-utils.production.min.js +0 -40
  928. package/template/lib/react/node_modules/react-dom/cjs/react-dom.development.js +0 -29868
  929. package/template/lib/react/node_modules/react-dom/cjs/react-dom.production.min.js +0 -323
  930. package/template/lib/react/node_modules/react-dom/cjs/react-dom.profiling.min.js +0 -367
  931. package/template/lib/react/node_modules/react-dom/client.js +0 -25
  932. package/template/lib/react/node_modules/react-dom/index.js +0 -38
  933. package/template/lib/react/node_modules/react-dom/node_modules/.bin/loose-envify +0 -17
  934. package/template/lib/react/node_modules/react-dom/node_modules/.bin/loose-envify.CMD +0 -12
  935. package/template/lib/react/node_modules/react-dom/node_modules/.bin/loose-envify.ps1 +0 -41
  936. package/template/lib/react/node_modules/react-dom/package.json +0 -62
  937. package/template/lib/react/node_modules/react-dom/profiling.js +0 -38
  938. package/template/lib/react/node_modules/react-dom/server.browser.js +0 -17
  939. package/template/lib/react/node_modules/react-dom/server.js +0 -3
  940. package/template/lib/react/node_modules/react-dom/server.node.js +0 -17
  941. package/template/lib/react/node_modules/react-dom/test-utils.js +0 -7
  942. package/template/lib/react/node_modules/react-dom/umd/react-dom-server-legacy.browser.development.js +0 -7015
  943. package/template/lib/react/node_modules/react-dom/umd/react-dom-server-legacy.browser.production.min.js +0 -75
  944. package/template/lib/react/node_modules/react-dom/umd/react-dom-server.browser.development.js +0 -7000
  945. package/template/lib/react/node_modules/react-dom/umd/react-dom-server.browser.production.min.js +0 -76
  946. package/template/lib/react/node_modules/react-dom/umd/react-dom-test-utils.development.js +0 -1737
  947. package/template/lib/react/node_modules/react-dom/umd/react-dom-test-utils.production.min.js +0 -33
  948. package/template/lib/react/node_modules/react-dom/umd/react-dom.development.js +0 -29869
  949. package/template/lib/react/node_modules/react-dom/umd/react-dom.production.min.js +0 -267
  950. package/template/lib/react/node_modules/react-dom/umd/react-dom.profiling.min.js +0 -285
  951. package/template/lib/react/node_modules/stylelint-config-standard-scss/LICENSE +0 -21
  952. package/template/lib/react/node_modules/stylelint-config-standard-scss/README.md +0 -50
  953. package/template/lib/react/node_modules/stylelint-config-standard-scss/index.js +0 -67
  954. package/template/lib/react/node_modules/stylelint-config-standard-scss/node_modules/.bin/stylelint +0 -17
  955. package/template/lib/react/node_modules/stylelint-config-standard-scss/node_modules/.bin/stylelint.CMD +0 -12
  956. package/template/lib/react/node_modules/stylelint-config-standard-scss/node_modules/.bin/stylelint.ps1 +0 -41
  957. package/template/lib/react/node_modules/stylelint-config-standard-scss/package.json +0 -58
  958. package/template/lib/ts/node_modules/.bin/acorn +0 -17
  959. package/template/lib/ts/node_modules/.bin/acorn.CMD +0 -12
  960. package/template/lib/ts/node_modules/.bin/acorn.ps1 +0 -41
  961. package/template/lib/ts/node_modules/.bin/eslint +0 -17
  962. package/template/lib/ts/node_modules/.bin/eslint.CMD +0 -12
  963. package/template/lib/ts/node_modules/.bin/eslint.ps1 +0 -41
  964. package/template/lib/ts/node_modules/.bin/prettier +0 -17
  965. package/template/lib/ts/node_modules/.bin/prettier.CMD +0 -12
  966. package/template/lib/ts/node_modules/.bin/prettier.ps1 +0 -41
  967. package/template/lib/ts/node_modules/.bin/stylelint +0 -17
  968. package/template/lib/ts/node_modules/.bin/stylelint.CMD +0 -12
  969. package/template/lib/ts/node_modules/.bin/stylelint.ps1 +0 -41
  970. package/template/lib/ts/node_modules/.bin/tsc +0 -17
  971. package/template/lib/ts/node_modules/.bin/tsc.CMD +0 -12
  972. package/template/lib/ts/node_modules/.bin/tsc.ps1 +0 -41
  973. package/template/lib/ts/node_modules/.bin/tsserver +0 -17
  974. package/template/lib/ts/node_modules/.bin/tsserver.CMD +0 -12
  975. package/template/lib/ts/node_modules/.bin/tsserver.ps1 +0 -41
  976. package/template/lib/ts/node_modules/.bin/vitest +0 -17
  977. package/template/lib/ts/node_modules/.bin/vitest.CMD +0 -12
  978. package/template/lib/ts/node_modules/.bin/vitest.ps1 +0 -41
  979. package/template/lib/ts/node_modules/eslint/LICENSE +0 -19
  980. package/template/lib/ts/node_modules/eslint/README.md +0 -304
  981. package/template/lib/ts/node_modules/eslint/bin/eslint.js +0 -173
  982. package/template/lib/ts/node_modules/eslint/conf/config-schema.js +0 -93
  983. package/template/lib/ts/node_modules/eslint/conf/default-cli-options.js +0 -32
  984. package/template/lib/ts/node_modules/eslint/conf/globals.js +0 -154
  985. package/template/lib/ts/node_modules/eslint/conf/replacements.json +0 -22
  986. package/template/lib/ts/node_modules/eslint/conf/rule-type-list.json +0 -28
  987. package/template/lib/ts/node_modules/eslint/lib/api.js +0 -26
  988. package/template/lib/ts/node_modules/eslint/lib/cli-engine/cli-engine.js +0 -1078
  989. package/template/lib/ts/node_modules/eslint/lib/cli-engine/file-enumerator.js +0 -547
  990. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/checkstyle.js +0 -60
  991. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/compact.js +0 -60
  992. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/formatters-meta.json +0 -46
  993. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/html.js +0 -351
  994. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/jslint-xml.js +0 -41
  995. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/json-with-metadata.js +0 -16
  996. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/json.js +0 -13
  997. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/junit.js +0 -82
  998. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/stylish.js +0 -101
  999. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/tap.js +0 -95
  1000. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/unix.js +0 -58
  1001. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/visualstudio.js +0 -63
  1002. package/template/lib/ts/node_modules/eslint/lib/cli-engine/hash.js +0 -35
  1003. package/template/lib/ts/node_modules/eslint/lib/cli-engine/index.js +0 -7
  1004. package/template/lib/ts/node_modules/eslint/lib/cli-engine/lint-result-cache.js +0 -203
  1005. package/template/lib/ts/node_modules/eslint/lib/cli-engine/load-rules.js +0 -46
  1006. package/template/lib/ts/node_modules/eslint/lib/cli-engine/xml-escape.js +0 -34
  1007. package/template/lib/ts/node_modules/eslint/lib/cli.js +0 -471
  1008. package/template/lib/ts/node_modules/eslint/lib/config/default-config.js +0 -67
  1009. package/template/lib/ts/node_modules/eslint/lib/config/flat-config-array.js +0 -274
  1010. package/template/lib/ts/node_modules/eslint/lib/config/flat-config-helpers.js +0 -111
  1011. package/template/lib/ts/node_modules/eslint/lib/config/flat-config-schema.js +0 -583
  1012. package/template/lib/ts/node_modules/eslint/lib/config/rule-validator.js +0 -158
  1013. package/template/lib/ts/node_modules/eslint/lib/eslint/eslint-helpers.js +0 -902
  1014. package/template/lib/ts/node_modules/eslint/lib/eslint/eslint.js +0 -700
  1015. package/template/lib/ts/node_modules/eslint/lib/eslint/flat-eslint.js +0 -1142
  1016. package/template/lib/ts/node_modules/eslint/lib/eslint/index.js +0 -9
  1017. package/template/lib/ts/node_modules/eslint/lib/linter/apply-disable-directives.js +0 -465
  1018. package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js +0 -852
  1019. package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/code-path-segment.js +0 -263
  1020. package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/code-path-state.js +0 -2348
  1021. package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/code-path.js +0 -342
  1022. package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/debug-helpers.js +0 -203
  1023. package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/fork-context.js +0 -349
  1024. package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/id-generator.js +0 -45
  1025. package/template/lib/ts/node_modules/eslint/lib/linter/config-comment-parser.js +0 -185
  1026. package/template/lib/ts/node_modules/eslint/lib/linter/index.js +0 -13
  1027. package/template/lib/ts/node_modules/eslint/lib/linter/interpolate.js +0 -28
  1028. package/template/lib/ts/node_modules/eslint/lib/linter/linter.js +0 -2119
  1029. package/template/lib/ts/node_modules/eslint/lib/linter/node-event-generator.js +0 -354
  1030. package/template/lib/ts/node_modules/eslint/lib/linter/report-translator.js +0 -369
  1031. package/template/lib/ts/node_modules/eslint/lib/linter/rule-fixer.js +0 -140
  1032. package/template/lib/ts/node_modules/eslint/lib/linter/rules.js +0 -80
  1033. package/template/lib/ts/node_modules/eslint/lib/linter/safe-emitter.js +0 -52
  1034. package/template/lib/ts/node_modules/eslint/lib/linter/source-code-fixer.js +0 -152
  1035. package/template/lib/ts/node_modules/eslint/lib/linter/timing.js +0 -161
  1036. package/template/lib/ts/node_modules/eslint/lib/options.js +0 -398
  1037. package/template/lib/ts/node_modules/eslint/lib/rule-tester/flat-rule-tester.js +0 -1122
  1038. package/template/lib/ts/node_modules/eslint/lib/rule-tester/index.js +0 -5
  1039. package/template/lib/ts/node_modules/eslint/lib/rule-tester/rule-tester.js +0 -1206
  1040. package/template/lib/ts/node_modules/eslint/lib/rules/accessor-pairs.js +0 -346
  1041. package/template/lib/ts/node_modules/eslint/lib/rules/array-bracket-newline.js +0 -261
  1042. package/template/lib/ts/node_modules/eslint/lib/rules/array-bracket-spacing.js +0 -244
  1043. package/template/lib/ts/node_modules/eslint/lib/rules/array-callback-return.js +0 -446
  1044. package/template/lib/ts/node_modules/eslint/lib/rules/array-element-newline.js +0 -311
  1045. package/template/lib/ts/node_modules/eslint/lib/rules/arrow-body-style.js +0 -296
  1046. package/template/lib/ts/node_modules/eslint/lib/rules/arrow-parens.js +0 -186
  1047. package/template/lib/ts/node_modules/eslint/lib/rules/arrow-spacing.js +0 -164
  1048. package/template/lib/ts/node_modules/eslint/lib/rules/block-scoped-var.js +0 -135
  1049. package/template/lib/ts/node_modules/eslint/lib/rules/block-spacing.js +0 -174
  1050. package/template/lib/ts/node_modules/eslint/lib/rules/brace-style.js +0 -197
  1051. package/template/lib/ts/node_modules/eslint/lib/rules/callback-return.js +0 -187
  1052. package/template/lib/ts/node_modules/eslint/lib/rules/camelcase.js +0 -399
  1053. package/template/lib/ts/node_modules/eslint/lib/rules/capitalized-comments.js +0 -300
  1054. package/template/lib/ts/node_modules/eslint/lib/rules/class-methods-use-this.js +0 -187
  1055. package/template/lib/ts/node_modules/eslint/lib/rules/comma-dangle.js +0 -373
  1056. package/template/lib/ts/node_modules/eslint/lib/rules/comma-spacing.js +0 -192
  1057. package/template/lib/ts/node_modules/eslint/lib/rules/comma-style.js +0 -314
  1058. package/template/lib/ts/node_modules/eslint/lib/rules/complexity.js +0 -165
  1059. package/template/lib/ts/node_modules/eslint/lib/rules/computed-property-spacing.js +0 -208
  1060. package/template/lib/ts/node_modules/eslint/lib/rules/consistent-return.js +0 -210
  1061. package/template/lib/ts/node_modules/eslint/lib/rules/consistent-this.js +0 -153
  1062. package/template/lib/ts/node_modules/eslint/lib/rules/constructor-super.js +0 -446
  1063. package/template/lib/ts/node_modules/eslint/lib/rules/curly.js +0 -486
  1064. package/template/lib/ts/node_modules/eslint/lib/rules/default-case-last.js +0 -44
  1065. package/template/lib/ts/node_modules/eslint/lib/rules/default-case.js +0 -97
  1066. package/template/lib/ts/node_modules/eslint/lib/rules/default-param-last.js +0 -62
  1067. package/template/lib/ts/node_modules/eslint/lib/rules/dot-location.js +0 -108
  1068. package/template/lib/ts/node_modules/eslint/lib/rules/dot-notation.js +0 -176
  1069. package/template/lib/ts/node_modules/eslint/lib/rules/eol-last.js +0 -115
  1070. package/template/lib/ts/node_modules/eslint/lib/rules/eqeqeq.js +0 -174
  1071. package/template/lib/ts/node_modules/eslint/lib/rules/for-direction.js +0 -140
  1072. package/template/lib/ts/node_modules/eslint/lib/rules/func-call-spacing.js +0 -233
  1073. package/template/lib/ts/node_modules/eslint/lib/rules/func-name-matching.js +0 -253
  1074. package/template/lib/ts/node_modules/eslint/lib/rules/func-names.js +0 -191
  1075. package/template/lib/ts/node_modules/eslint/lib/rules/func-style.js +0 -98
  1076. package/template/lib/ts/node_modules/eslint/lib/rules/function-call-argument-newline.js +0 -125
  1077. package/template/lib/ts/node_modules/eslint/lib/rules/function-paren-newline.js +0 -292
  1078. package/template/lib/ts/node_modules/eslint/lib/rules/generator-star-spacing.js +0 -209
  1079. package/template/lib/ts/node_modules/eslint/lib/rules/getter-return.js +0 -204
  1080. package/template/lib/ts/node_modules/eslint/lib/rules/global-require.js +0 -90
  1081. package/template/lib/ts/node_modules/eslint/lib/rules/grouped-accessor-pairs.js +0 -215
  1082. package/template/lib/ts/node_modules/eslint/lib/rules/guard-for-in.js +0 -76
  1083. package/template/lib/ts/node_modules/eslint/lib/rules/handle-callback-err.js +0 -101
  1084. package/template/lib/ts/node_modules/eslint/lib/rules/id-blacklist.js +0 -246
  1085. package/template/lib/ts/node_modules/eslint/lib/rules/id-denylist.js +0 -228
  1086. package/template/lib/ts/node_modules/eslint/lib/rules/id-length.js +0 -177
  1087. package/template/lib/ts/node_modules/eslint/lib/rules/id-match.js +0 -299
  1088. package/template/lib/ts/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js +0 -84
  1089. package/template/lib/ts/node_modules/eslint/lib/rules/indent-legacy.js +0 -1126
  1090. package/template/lib/ts/node_modules/eslint/lib/rules/indent.js +0 -1803
  1091. package/template/lib/ts/node_modules/eslint/lib/rules/index.js +0 -306
  1092. package/template/lib/ts/node_modules/eslint/lib/rules/init-declarations.js +0 -139
  1093. package/template/lib/ts/node_modules/eslint/lib/rules/jsx-quotes.js +0 -98
  1094. package/template/lib/ts/node_modules/eslint/lib/rules/key-spacing.js +0 -687
  1095. package/template/lib/ts/node_modules/eslint/lib/rules/keyword-spacing.js +0 -640
  1096. package/template/lib/ts/node_modules/eslint/lib/rules/line-comment-position.js +0 -122
  1097. package/template/lib/ts/node_modules/eslint/lib/rules/linebreak-style.js +0 -108
  1098. package/template/lib/ts/node_modules/eslint/lib/rules/lines-around-comment.js +0 -471
  1099. package/template/lib/ts/node_modules/eslint/lib/rules/lines-around-directive.js +0 -201
  1100. package/template/lib/ts/node_modules/eslint/lib/rules/lines-between-class-members.js +0 -269
  1101. package/template/lib/ts/node_modules/eslint/lib/rules/logical-assignment-operators.js +0 -504
  1102. package/template/lib/ts/node_modules/eslint/lib/rules/max-classes-per-file.js +0 -89
  1103. package/template/lib/ts/node_modules/eslint/lib/rules/max-depth.js +0 -156
  1104. package/template/lib/ts/node_modules/eslint/lib/rules/max-len.js +0 -440
  1105. package/template/lib/ts/node_modules/eslint/lib/rules/max-lines-per-function.js +0 -213
  1106. package/template/lib/ts/node_modules/eslint/lib/rules/max-lines.js +0 -193
  1107. package/template/lib/ts/node_modules/eslint/lib/rules/max-nested-callbacks.js +0 -117
  1108. package/template/lib/ts/node_modules/eslint/lib/rules/max-params.js +0 -102
  1109. package/template/lib/ts/node_modules/eslint/lib/rules/max-statements-per-line.js +0 -199
  1110. package/template/lib/ts/node_modules/eslint/lib/rules/max-statements.js +0 -184
  1111. package/template/lib/ts/node_modules/eslint/lib/rules/multiline-comment-style.js +0 -474
  1112. package/template/lib/ts/node_modules/eslint/lib/rules/multiline-ternary.js +0 -174
  1113. package/template/lib/ts/node_modules/eslint/lib/rules/new-cap.js +0 -276
  1114. package/template/lib/ts/node_modules/eslint/lib/rules/new-parens.js +0 -93
  1115. package/template/lib/ts/node_modules/eslint/lib/rules/newline-after-var.js +0 -253
  1116. package/template/lib/ts/node_modules/eslint/lib/rules/newline-before-return.js +0 -217
  1117. package/template/lib/ts/node_modules/eslint/lib/rules/newline-per-chained-call.js +0 -126
  1118. package/template/lib/ts/node_modules/eslint/lib/rules/no-alert.js +0 -138
  1119. package/template/lib/ts/node_modules/eslint/lib/rules/no-array-constructor.js +0 -133
  1120. package/template/lib/ts/node_modules/eslint/lib/rules/no-async-promise-executor.js +0 -39
  1121. package/template/lib/ts/node_modules/eslint/lib/rules/no-await-in-loop.js +0 -106
  1122. package/template/lib/ts/node_modules/eslint/lib/rules/no-bitwise.js +0 -119
  1123. package/template/lib/ts/node_modules/eslint/lib/rules/no-buffer-constructor.js +0 -50
  1124. package/template/lib/ts/node_modules/eslint/lib/rules/no-caller.js +0 -46
  1125. package/template/lib/ts/node_modules/eslint/lib/rules/no-case-declarations.js +0 -64
  1126. package/template/lib/ts/node_modules/eslint/lib/rules/no-catch-shadow.js +0 -82
  1127. package/template/lib/ts/node_modules/eslint/lib/rules/no-class-assign.js +0 -63
  1128. package/template/lib/ts/node_modules/eslint/lib/rules/no-compare-neg-zero.js +0 -60
  1129. package/template/lib/ts/node_modules/eslint/lib/rules/no-cond-assign.js +0 -159
  1130. package/template/lib/ts/node_modules/eslint/lib/rules/no-confusing-arrow.js +0 -92
  1131. package/template/lib/ts/node_modules/eslint/lib/rules/no-console.js +0 -207
  1132. package/template/lib/ts/node_modules/eslint/lib/rules/no-const-assign.js +0 -56
  1133. package/template/lib/ts/node_modules/eslint/lib/rules/no-constant-binary-expression.js +0 -509
  1134. package/template/lib/ts/node_modules/eslint/lib/rules/no-constant-condition.js +0 -150
  1135. package/template/lib/ts/node_modules/eslint/lib/rules/no-constructor-return.js +0 -62
  1136. package/template/lib/ts/node_modules/eslint/lib/rules/no-continue.js +0 -39
  1137. package/template/lib/ts/node_modules/eslint/lib/rules/no-control-regex.js +0 -138
  1138. package/template/lib/ts/node_modules/eslint/lib/rules/no-debugger.js +0 -43
  1139. package/template/lib/ts/node_modules/eslint/lib/rules/no-delete-var.js +0 -42
  1140. package/template/lib/ts/node_modules/eslint/lib/rules/no-div-regex.js +0 -53
  1141. package/template/lib/ts/node_modules/eslint/lib/rules/no-dupe-args.js +0 -82
  1142. package/template/lib/ts/node_modules/eslint/lib/rules/no-dupe-class-members.js +0 -104
  1143. package/template/lib/ts/node_modules/eslint/lib/rules/no-dupe-else-if.js +0 -122
  1144. package/template/lib/ts/node_modules/eslint/lib/rules/no-dupe-keys.js +0 -142
  1145. package/template/lib/ts/node_modules/eslint/lib/rules/no-duplicate-case.js +0 -71
  1146. package/template/lib/ts/node_modules/eslint/lib/rules/no-duplicate-imports.js +0 -290
  1147. package/template/lib/ts/node_modules/eslint/lib/rules/no-else-return.js +0 -405
  1148. package/template/lib/ts/node_modules/eslint/lib/rules/no-empty-character-class.js +0 -76
  1149. package/template/lib/ts/node_modules/eslint/lib/rules/no-empty-function.js +0 -167
  1150. package/template/lib/ts/node_modules/eslint/lib/rules/no-empty-pattern.js +0 -78
  1151. package/template/lib/ts/node_modules/eslint/lib/rules/no-empty-static-block.js +0 -47
  1152. package/template/lib/ts/node_modules/eslint/lib/rules/no-empty.js +0 -103
  1153. package/template/lib/ts/node_modules/eslint/lib/rules/no-eq-null.js +0 -46
  1154. package/template/lib/ts/node_modules/eslint/lib/rules/no-eval.js +0 -286
  1155. package/template/lib/ts/node_modules/eslint/lib/rules/no-ex-assign.js +0 -54
  1156. package/template/lib/ts/node_modules/eslint/lib/rules/no-extend-native.js +0 -179
  1157. package/template/lib/ts/node_modules/eslint/lib/rules/no-extra-bind.js +0 -213
  1158. package/template/lib/ts/node_modules/eslint/lib/rules/no-extra-boolean-cast.js +0 -317
  1159. package/template/lib/ts/node_modules/eslint/lib/rules/no-extra-label.js +0 -149
  1160. package/template/lib/ts/node_modules/eslint/lib/rules/no-extra-parens.js +0 -1322
  1161. package/template/lib/ts/node_modules/eslint/lib/rules/no-extra-semi.js +0 -147
  1162. package/template/lib/ts/node_modules/eslint/lib/rules/no-fallthrough.js +0 -196
  1163. package/template/lib/ts/node_modules/eslint/lib/rules/no-floating-decimal.js +0 -73
  1164. package/template/lib/ts/node_modules/eslint/lib/rules/no-func-assign.js +0 -78
  1165. package/template/lib/ts/node_modules/eslint/lib/rules/no-global-assign.js +0 -95
  1166. package/template/lib/ts/node_modules/eslint/lib/rules/no-implicit-coercion.js +0 -380
  1167. package/template/lib/ts/node_modules/eslint/lib/rules/no-implicit-globals.js +0 -146
  1168. package/template/lib/ts/node_modules/eslint/lib/rules/no-implied-eval.js +0 -132
  1169. package/template/lib/ts/node_modules/eslint/lib/rules/no-import-assign.js +0 -241
  1170. package/template/lib/ts/node_modules/eslint/lib/rules/no-inline-comments.js +0 -110
  1171. package/template/lib/ts/node_modules/eslint/lib/rules/no-inner-declarations.js +0 -110
  1172. package/template/lib/ts/node_modules/eslint/lib/rules/no-invalid-regexp.js +0 -194
  1173. package/template/lib/ts/node_modules/eslint/lib/rules/no-invalid-this.js +0 -150
  1174. package/template/lib/ts/node_modules/eslint/lib/rules/no-irregular-whitespace.js +0 -276
  1175. package/template/lib/ts/node_modules/eslint/lib/rules/no-iterator.js +0 -52
  1176. package/template/lib/ts/node_modules/eslint/lib/rules/no-label-var.js +0 -80
  1177. package/template/lib/ts/node_modules/eslint/lib/rules/no-labels.js +0 -149
  1178. package/template/lib/ts/node_modules/eslint/lib/rules/no-lone-blocks.js +0 -136
  1179. package/template/lib/ts/node_modules/eslint/lib/rules/no-lonely-if.js +0 -88
  1180. package/template/lib/ts/node_modules/eslint/lib/rules/no-loop-func.js +0 -206
  1181. package/template/lib/ts/node_modules/eslint/lib/rules/no-loss-of-precision.js +0 -214
  1182. package/template/lib/ts/node_modules/eslint/lib/rules/no-magic-numbers.js +0 -243
  1183. package/template/lib/ts/node_modules/eslint/lib/rules/no-misleading-character-class.js +0 -300
  1184. package/template/lib/ts/node_modules/eslint/lib/rules/no-mixed-operators.js +0 -229
  1185. package/template/lib/ts/node_modules/eslint/lib/rules/no-mixed-requires.js +0 -238
  1186. package/template/lib/ts/node_modules/eslint/lib/rules/no-mixed-spaces-and-tabs.js +0 -116
  1187. package/template/lib/ts/node_modules/eslint/lib/rules/no-multi-assign.js +0 -67
  1188. package/template/lib/ts/node_modules/eslint/lib/rules/no-multi-spaces.js +0 -141
  1189. package/template/lib/ts/node_modules/eslint/lib/rules/no-multi-str.js +0 -65
  1190. package/template/lib/ts/node_modules/eslint/lib/rules/no-multiple-empty-lines.js +0 -154
  1191. package/template/lib/ts/node_modules/eslint/lib/rules/no-native-reassign.js +0 -98
  1192. package/template/lib/ts/node_modules/eslint/lib/rules/no-negated-condition.js +0 -95
  1193. package/template/lib/ts/node_modules/eslint/lib/rules/no-negated-in-lhs.js +0 -46
  1194. package/template/lib/ts/node_modules/eslint/lib/rules/no-nested-ternary.js +0 -44
  1195. package/template/lib/ts/node_modules/eslint/lib/rules/no-new-func.js +0 -87
  1196. package/template/lib/ts/node_modules/eslint/lib/rules/no-new-native-nonconstructor.js +0 -66
  1197. package/template/lib/ts/node_modules/eslint/lib/rules/no-new-object.js +0 -67
  1198. package/template/lib/ts/node_modules/eslint/lib/rules/no-new-require.js +0 -50
  1199. package/template/lib/ts/node_modules/eslint/lib/rules/no-new-symbol.js +0 -56
  1200. package/template/lib/ts/node_modules/eslint/lib/rules/no-new-wrappers.js +0 -60
  1201. package/template/lib/ts/node_modules/eslint/lib/rules/no-new.js +0 -43
  1202. package/template/lib/ts/node_modules/eslint/lib/rules/no-nonoctal-decimal-escape.js +0 -148
  1203. package/template/lib/ts/node_modules/eslint/lib/rules/no-obj-calls.js +0 -86
  1204. package/template/lib/ts/node_modules/eslint/lib/rules/no-object-constructor.js +0 -117
  1205. package/template/lib/ts/node_modules/eslint/lib/rules/no-octal-escape.js +0 -56
  1206. package/template/lib/ts/node_modules/eslint/lib/rules/no-octal.js +0 -45
  1207. package/template/lib/ts/node_modules/eslint/lib/rules/no-param-reassign.js +0 -230
  1208. package/template/lib/ts/node_modules/eslint/lib/rules/no-path-concat.js +0 -64
  1209. package/template/lib/ts/node_modules/eslint/lib/rules/no-plusplus.js +0 -105
  1210. package/template/lib/ts/node_modules/eslint/lib/rules/no-process-env.js +0 -51
  1211. package/template/lib/ts/node_modules/eslint/lib/rules/no-process-exit.js +0 -47
  1212. package/template/lib/ts/node_modules/eslint/lib/rules/no-promise-executor-return.js +0 -263
  1213. package/template/lib/ts/node_modules/eslint/lib/rules/no-proto.js +0 -48
  1214. package/template/lib/ts/node_modules/eslint/lib/rules/no-prototype-builtins.js +0 -159
  1215. package/template/lib/ts/node_modules/eslint/lib/rules/no-redeclare.js +0 -174
  1216. package/template/lib/ts/node_modules/eslint/lib/rules/no-regex-spaces.js +0 -197
  1217. package/template/lib/ts/node_modules/eslint/lib/rules/no-restricted-exports.js +0 -193
  1218. package/template/lib/ts/node_modules/eslint/lib/rules/no-restricted-globals.js +0 -124
  1219. package/template/lib/ts/node_modules/eslint/lib/rules/no-restricted-imports.js +0 -410
  1220. package/template/lib/ts/node_modules/eslint/lib/rules/no-restricted-modules.js +0 -213
  1221. package/template/lib/ts/node_modules/eslint/lib/rules/no-restricted-properties.js +0 -168
  1222. package/template/lib/ts/node_modules/eslint/lib/rules/no-restricted-syntax.js +0 -70
  1223. package/template/lib/ts/node_modules/eslint/lib/rules/no-return-assign.js +0 -80
  1224. package/template/lib/ts/node_modules/eslint/lib/rules/no-return-await.js +0 -135
  1225. package/template/lib/ts/node_modules/eslint/lib/rules/no-script-url.js +0 -61
  1226. package/template/lib/ts/node_modules/eslint/lib/rules/no-self-assign.js +0 -183
  1227. package/template/lib/ts/node_modules/eslint/lib/rules/no-self-compare.js +0 -60
  1228. package/template/lib/ts/node_modules/eslint/lib/rules/no-sequences.js +0 -138
  1229. package/template/lib/ts/node_modules/eslint/lib/rules/no-setter-return.js +0 -226
  1230. package/template/lib/ts/node_modules/eslint/lib/rules/no-shadow-restricted-names.js +0 -65
  1231. package/template/lib/ts/node_modules/eslint/lib/rules/no-shadow.js +0 -336
  1232. package/template/lib/ts/node_modules/eslint/lib/rules/no-spaced-func.js +0 -83
  1233. package/template/lib/ts/node_modules/eslint/lib/rules/no-sparse-arrays.js +0 -50
  1234. package/template/lib/ts/node_modules/eslint/lib/rules/no-sync.js +0 -64
  1235. package/template/lib/ts/node_modules/eslint/lib/rules/no-tabs.js +0 -81
  1236. package/template/lib/ts/node_modules/eslint/lib/rules/no-template-curly-in-string.js +0 -44
  1237. package/template/lib/ts/node_modules/eslint/lib/rules/no-ternary.js +0 -41
  1238. package/template/lib/ts/node_modules/eslint/lib/rules/no-this-before-super.js +0 -331
  1239. package/template/lib/ts/node_modules/eslint/lib/rules/no-throw-literal.js +0 -51
  1240. package/template/lib/ts/node_modules/eslint/lib/rules/no-trailing-spaces.js +0 -193
  1241. package/template/lib/ts/node_modules/eslint/lib/rules/no-undef-init.js +0 -75
  1242. package/template/lib/ts/node_modules/eslint/lib/rules/no-undef.js +0 -79
  1243. package/template/lib/ts/node_modules/eslint/lib/rules/no-undefined.js +0 -86
  1244. package/template/lib/ts/node_modules/eslint/lib/rules/no-underscore-dangle.js +0 -335
  1245. package/template/lib/ts/node_modules/eslint/lib/rules/no-unexpected-multiline.js +0 -120
  1246. package/template/lib/ts/node_modules/eslint/lib/rules/no-unmodified-loop-condition.js +0 -360
  1247. package/template/lib/ts/node_modules/eslint/lib/rules/no-unneeded-ternary.js +0 -166
  1248. package/template/lib/ts/node_modules/eslint/lib/rules/no-unreachable-loop.js +0 -185
  1249. package/template/lib/ts/node_modules/eslint/lib/rules/no-unreachable.js +0 -293
  1250. package/template/lib/ts/node_modules/eslint/lib/rules/no-unsafe-finally.js +0 -111
  1251. package/template/lib/ts/node_modules/eslint/lib/rules/no-unsafe-negation.js +0 -128
  1252. package/template/lib/ts/node_modules/eslint/lib/rules/no-unsafe-optional-chaining.js +0 -205
  1253. package/template/lib/ts/node_modules/eslint/lib/rules/no-unused-expressions.js +0 -186
  1254. package/template/lib/ts/node_modules/eslint/lib/rules/no-unused-labels.js +0 -143
  1255. package/template/lib/ts/node_modules/eslint/lib/rules/no-unused-private-class-members.js +0 -195
  1256. package/template/lib/ts/node_modules/eslint/lib/rules/no-unused-vars.js +0 -718
  1257. package/template/lib/ts/node_modules/eslint/lib/rules/no-use-before-define.js +0 -348
  1258. package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-backreference.js +0 -194
  1259. package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-call.js +0 -90
  1260. package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-catch.js +0 -57
  1261. package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-computed-key.js +0 -168
  1262. package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-concat.js +0 -115
  1263. package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-constructor.js +0 -189
  1264. package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-escape.js +0 -333
  1265. package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-rename.js +0 -172
  1266. package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-return.js +0 -364
  1267. package/template/lib/ts/node_modules/eslint/lib/rules/no-var.js +0 -334
  1268. package/template/lib/ts/node_modules/eslint/lib/rules/no-void.js +0 -64
  1269. package/template/lib/ts/node_modules/eslint/lib/rules/no-warning-comments.js +0 -201
  1270. package/template/lib/ts/node_modules/eslint/lib/rules/no-whitespace-before-property.js +0 -116
  1271. package/template/lib/ts/node_modules/eslint/lib/rules/no-with.js +0 -39
  1272. package/template/lib/ts/node_modules/eslint/lib/rules/nonblock-statement-body-position.js +0 -127
  1273. package/template/lib/ts/node_modules/eslint/lib/rules/object-curly-newline.js +0 -324
  1274. package/template/lib/ts/node_modules/eslint/lib/rules/object-curly-spacing.js +0 -311
  1275. package/template/lib/ts/node_modules/eslint/lib/rules/object-property-newline.js +0 -102
  1276. package/template/lib/ts/node_modules/eslint/lib/rules/object-shorthand.js +0 -520
  1277. package/template/lib/ts/node_modules/eslint/lib/rules/one-var-declaration-per-line.js +0 -95
  1278. package/template/lib/ts/node_modules/eslint/lib/rules/one-var.js +0 -567
  1279. package/template/lib/ts/node_modules/eslint/lib/rules/operator-assignment.js +0 -209
  1280. package/template/lib/ts/node_modules/eslint/lib/rules/operator-linebreak.js +0 -253
  1281. package/template/lib/ts/node_modules/eslint/lib/rules/padded-blocks.js +0 -310
  1282. package/template/lib/ts/node_modules/eslint/lib/rules/padding-line-between-statements.js +0 -590
  1283. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-arrow-callback.js +0 -381
  1284. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-const.js +0 -501
  1285. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-destructuring.js +0 -301
  1286. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-exponentiation-operator.js +0 -191
  1287. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-named-capture-group.js +0 -178
  1288. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-numeric-literals.js +0 -148
  1289. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-object-has-own.js +0 -114
  1290. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-object-spread.js +0 -298
  1291. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-promise-reject-errors.js +0 -132
  1292. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-reflect.js +0 -127
  1293. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-regex-literals.js +0 -507
  1294. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-rest-params.js +0 -118
  1295. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-spread.js +0 -87
  1296. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-template.js +0 -275
  1297. package/template/lib/ts/node_modules/eslint/lib/rules/quote-props.js +0 -310
  1298. package/template/lib/ts/node_modules/eslint/lib/rules/quotes.js +0 -350
  1299. package/template/lib/ts/node_modules/eslint/lib/rules/radix.js +0 -198
  1300. package/template/lib/ts/node_modules/eslint/lib/rules/require-atomic-updates.js +0 -331
  1301. package/template/lib/ts/node_modules/eslint/lib/rules/require-await.js +0 -113
  1302. package/template/lib/ts/node_modules/eslint/lib/rules/require-jsdoc.js +0 -122
  1303. package/template/lib/ts/node_modules/eslint/lib/rules/require-unicode-regexp.js +0 -129
  1304. package/template/lib/ts/node_modules/eslint/lib/rules/require-yield.js +0 -77
  1305. package/template/lib/ts/node_modules/eslint/lib/rules/rest-spread-spacing.js +0 -123
  1306. package/template/lib/ts/node_modules/eslint/lib/rules/semi-spacing.js +0 -248
  1307. package/template/lib/ts/node_modules/eslint/lib/rules/semi-style.js +0 -158
  1308. package/template/lib/ts/node_modules/eslint/lib/rules/semi.js +0 -438
  1309. package/template/lib/ts/node_modules/eslint/lib/rules/sort-imports.js +0 -241
  1310. package/template/lib/ts/node_modules/eslint/lib/rules/sort-keys.js +0 -230
  1311. package/template/lib/ts/node_modules/eslint/lib/rules/sort-vars.js +0 -104
  1312. package/template/lib/ts/node_modules/eslint/lib/rules/space-before-blocks.js +0 -204
  1313. package/template/lib/ts/node_modules/eslint/lib/rules/space-before-function-paren.js +0 -167
  1314. package/template/lib/ts/node_modules/eslint/lib/rules/space-in-parens.js +0 -285
  1315. package/template/lib/ts/node_modules/eslint/lib/rules/space-infix-ops.js +0 -198
  1316. package/template/lib/ts/node_modules/eslint/lib/rules/space-unary-ops.js +0 -324
  1317. package/template/lib/ts/node_modules/eslint/lib/rules/spaced-comment.js +0 -385
  1318. package/template/lib/ts/node_modules/eslint/lib/rules/strict.js +0 -277
  1319. package/template/lib/ts/node_modules/eslint/lib/rules/switch-colon-spacing.js +0 -132
  1320. package/template/lib/ts/node_modules/eslint/lib/rules/symbol-description.js +0 -73
  1321. package/template/lib/ts/node_modules/eslint/lib/rules/template-curly-spacing.js +0 -144
  1322. package/template/lib/ts/node_modules/eslint/lib/rules/template-tag-spacing.js +0 -93
  1323. package/template/lib/ts/node_modules/eslint/lib/rules/unicode-bom.js +0 -73
  1324. package/template/lib/ts/node_modules/eslint/lib/rules/use-isnan.js +0 -141
  1325. package/template/lib/ts/node_modules/eslint/lib/rules/utils/ast-utils.js +0 -2282
  1326. package/template/lib/ts/node_modules/eslint/lib/rules/utils/fix-tracker.js +0 -114
  1327. package/template/lib/ts/node_modules/eslint/lib/rules/utils/keywords.js +0 -67
  1328. package/template/lib/ts/node_modules/eslint/lib/rules/utils/lazy-loading-rule-map.js +0 -115
  1329. package/template/lib/ts/node_modules/eslint/lib/rules/utils/patterns/letters.js +0 -36
  1330. package/template/lib/ts/node_modules/eslint/lib/rules/utils/regular-expressions.js +0 -42
  1331. package/template/lib/ts/node_modules/eslint/lib/rules/utils/unicode/index.js +0 -11
  1332. package/template/lib/ts/node_modules/eslint/lib/rules/utils/unicode/is-combining-character.js +0 -13
  1333. package/template/lib/ts/node_modules/eslint/lib/rules/utils/unicode/is-emoji-modifier.js +0 -13
  1334. package/template/lib/ts/node_modules/eslint/lib/rules/utils/unicode/is-regional-indicator-symbol.js +0 -13
  1335. package/template/lib/ts/node_modules/eslint/lib/rules/utils/unicode/is-surrogate-pair.js +0 -14
  1336. package/template/lib/ts/node_modules/eslint/lib/rules/valid-jsdoc.js +0 -516
  1337. package/template/lib/ts/node_modules/eslint/lib/rules/valid-typeof.js +0 -127
  1338. package/template/lib/ts/node_modules/eslint/lib/rules/vars-on-top.js +0 -157
  1339. package/template/lib/ts/node_modules/eslint/lib/rules/wrap-iife.js +0 -207
  1340. package/template/lib/ts/node_modules/eslint/lib/rules/wrap-regex.js +0 -61
  1341. package/template/lib/ts/node_modules/eslint/lib/rules/yield-star-spacing.js +0 -130
  1342. package/template/lib/ts/node_modules/eslint/lib/rules/yoda.js +0 -353
  1343. package/template/lib/ts/node_modules/eslint/lib/shared/ajv.js +0 -34
  1344. package/template/lib/ts/node_modules/eslint/lib/shared/ast-utils.js +0 -29
  1345. package/template/lib/ts/node_modules/eslint/lib/shared/config-validator.js +0 -347
  1346. package/template/lib/ts/node_modules/eslint/lib/shared/deprecation-warnings.js +0 -58
  1347. package/template/lib/ts/node_modules/eslint/lib/shared/directives.js +0 -15
  1348. package/template/lib/ts/node_modules/eslint/lib/shared/logging.js +0 -30
  1349. package/template/lib/ts/node_modules/eslint/lib/shared/relative-module-resolver.js +0 -50
  1350. package/template/lib/ts/node_modules/eslint/lib/shared/runtime-info.js +0 -167
  1351. package/template/lib/ts/node_modules/eslint/lib/shared/severity.js +0 -49
  1352. package/template/lib/ts/node_modules/eslint/lib/shared/string-utils.js +0 -60
  1353. package/template/lib/ts/node_modules/eslint/lib/shared/traverser.js +0 -195
  1354. package/template/lib/ts/node_modules/eslint/lib/shared/types.js +0 -216
  1355. package/template/lib/ts/node_modules/eslint/lib/source-code/index.js +0 -5
  1356. package/template/lib/ts/node_modules/eslint/lib/source-code/source-code.js +0 -1055
  1357. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/backward-token-comment-cursor.js +0 -57
  1358. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/backward-token-cursor.js +0 -58
  1359. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/cursor.js +0 -76
  1360. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/cursors.js +0 -90
  1361. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/decorative-cursor.js +0 -39
  1362. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/filter-cursor.js +0 -43
  1363. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/forward-token-comment-cursor.js +0 -57
  1364. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/forward-token-cursor.js +0 -63
  1365. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/index.js +0 -627
  1366. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/limit-cursor.js +0 -40
  1367. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/padded-token-cursor.js +0 -38
  1368. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/skip-cursor.js +0 -42
  1369. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/utils.js +0 -107
  1370. package/template/lib/ts/node_modules/eslint/lib/unsupported-api.js +0 -30
  1371. package/template/lib/ts/node_modules/eslint/messages/all-files-ignored.js +0 -16
  1372. package/template/lib/ts/node_modules/eslint/messages/eslintrc-incompat.js +0 -98
  1373. package/template/lib/ts/node_modules/eslint/messages/eslintrc-plugins.js +0 -24
  1374. package/template/lib/ts/node_modules/eslint/messages/extend-config-missing.js +0 -13
  1375. package/template/lib/ts/node_modules/eslint/messages/failed-to-read-json.js +0 -11
  1376. package/template/lib/ts/node_modules/eslint/messages/file-not-found.js +0 -10
  1377. package/template/lib/ts/node_modules/eslint/messages/invalid-rule-options.js +0 -17
  1378. package/template/lib/ts/node_modules/eslint/messages/invalid-rule-severity.js +0 -13
  1379. package/template/lib/ts/node_modules/eslint/messages/no-config-found.js +0 -15
  1380. package/template/lib/ts/node_modules/eslint/messages/plugin-conflict.js +0 -22
  1381. package/template/lib/ts/node_modules/eslint/messages/plugin-invalid.js +0 -16
  1382. package/template/lib/ts/node_modules/eslint/messages/plugin-missing.js +0 -19
  1383. package/template/lib/ts/node_modules/eslint/messages/print-config-with-directory-path.js +0 -8
  1384. package/template/lib/ts/node_modules/eslint/messages/shared.js +0 -18
  1385. package/template/lib/ts/node_modules/eslint/messages/whitespace-found.js +0 -11
  1386. package/template/lib/ts/node_modules/eslint/node_modules/.bin/eslint +0 -17
  1387. package/template/lib/ts/node_modules/eslint/node_modules/.bin/eslint.CMD +0 -12
  1388. package/template/lib/ts/node_modules/eslint/node_modules/.bin/eslint.ps1 +0 -41
  1389. package/template/lib/ts/node_modules/eslint/node_modules/.bin/js-yaml +0 -17
  1390. package/template/lib/ts/node_modules/eslint/node_modules/.bin/js-yaml.CMD +0 -12
  1391. package/template/lib/ts/node_modules/eslint/node_modules/.bin/js-yaml.ps1 +0 -41
  1392. package/template/lib/ts/node_modules/eslint/package.json +0 -179
  1393. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/LICENSE +0 -5
  1394. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/README.md +0 -232
  1395. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/lib/index.cjs +0 -278
  1396. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/lib/index.d.ts +0 -20
  1397. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/lib/index.es2020.mjs +0 -251
  1398. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/lib/index.js +0 -252
  1399. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/lib/index.js.map +0 -1
  1400. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/node_modules/.bin/eslint +0 -17
  1401. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/node_modules/.bin/eslint.CMD +0 -12
  1402. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/node_modules/.bin/eslint.ps1 +0 -41
  1403. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/package.json +0 -108
  1404. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/shim.d.ts +0 -4
  1405. package/template/lib/ts/node_modules/eslint-plugin-import/CHANGELOG.md +0 -1925
  1406. package/template/lib/ts/node_modules/eslint-plugin-import/CONTRIBUTING.md +0 -84
  1407. package/template/lib/ts/node_modules/eslint-plugin-import/LICENSE +0 -22
  1408. package/template/lib/ts/node_modules/eslint-plugin-import/README.md +0 -500
  1409. package/template/lib/ts/node_modules/eslint-plugin-import/RELEASE.md +0 -54
  1410. package/template/lib/ts/node_modules/eslint-plugin-import/SECURITY.md +0 -11
  1411. package/template/lib/ts/node_modules/eslint-plugin-import/config/electron.js +0 -8
  1412. package/template/lib/ts/node_modules/eslint-plugin-import/config/errors.js +0 -14
  1413. package/template/lib/ts/node_modules/eslint-plugin-import/config/react-native.js +0 -13
  1414. package/template/lib/ts/node_modules/eslint-plugin-import/config/react.js +0 -18
  1415. package/template/lib/ts/node_modules/eslint-plugin-import/config/recommended.js +0 -28
  1416. package/template/lib/ts/node_modules/eslint-plugin-import/config/stage-0.js +0 -12
  1417. package/template/lib/ts/node_modules/eslint-plugin-import/config/typescript.js +0 -34
  1418. package/template/lib/ts/node_modules/eslint-plugin-import/config/warnings.js +0 -12
  1419. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/consistent-type-specifier-style.md +0 -91
  1420. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/default.md +0 -72
  1421. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/dynamic-import-chunkname.md +0 -92
  1422. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/export.md +0 -37
  1423. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/exports-last.md +0 -51
  1424. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/extensions.md +0 -174
  1425. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/first.md +0 -75
  1426. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/group-exports.md +0 -118
  1427. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/imports-first.md +0 -9
  1428. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/max-dependencies.md +0 -70
  1429. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/named.md +0 -102
  1430. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/namespace.md +0 -106
  1431. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/newline-after-import.md +0 -167
  1432. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-absolute-path.md +0 -54
  1433. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-amd.md +0 -37
  1434. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-anonymous-default-export.md +0 -83
  1435. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-commonjs.md +0 -96
  1436. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-cycle.md +0 -111
  1437. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-default-export.md +0 -65
  1438. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-deprecated.md +0 -62
  1439. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-duplicates.md +0 -109
  1440. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-dynamic-require.md +0 -25
  1441. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-empty-named-blocks.md +0 -49
  1442. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-extraneous-dependencies.md +0 -139
  1443. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-import-module-exports.md +0 -81
  1444. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-internal-modules.md +0 -136
  1445. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-mutable-exports.md +0 -54
  1446. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-named-as-default-member.md +0 -52
  1447. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-named-as-default.md +0 -53
  1448. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-named-default.md +0 -36
  1449. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-named-export.md +0 -79
  1450. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-namespace.md +0 -44
  1451. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-nodejs-modules.md +0 -42
  1452. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-relative-packages.md +0 -70
  1453. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-relative-parent-imports.md +0 -123
  1454. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-restricted-paths.md +0 -198
  1455. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-self-import.md +0 -32
  1456. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-unassigned-import.md +0 -60
  1457. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-unresolved.md +0 -110
  1458. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-unused-modules.md +0 -125
  1459. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-useless-path-segments.md +0 -85
  1460. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-webpack-loader-syntax.md +0 -39
  1461. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/order.md +0 -365
  1462. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/prefer-default-export.md +0 -185
  1463. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/unambiguous.md +0 -57
  1464. package/template/lib/ts/node_modules/eslint-plugin-import/lib/ExportMap.js +0 -856
  1465. package/template/lib/ts/node_modules/eslint-plugin-import/lib/core/importType.js +0 -129
  1466. package/template/lib/ts/node_modules/eslint-plugin-import/lib/core/packagePath.js +0 -22
  1467. package/template/lib/ts/node_modules/eslint-plugin-import/lib/core/staticRequire.js +0 -11
  1468. package/template/lib/ts/node_modules/eslint-plugin-import/lib/docsUrl.js +0 -8
  1469. package/template/lib/ts/node_modules/eslint-plugin-import/lib/importDeclaration.js +0 -5
  1470. package/template/lib/ts/node_modules/eslint-plugin-import/lib/index.js +0 -71
  1471. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/consistent-type-specifier-style.js +0 -221
  1472. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/default.js +0 -40
  1473. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/dynamic-import-chunkname.js +0 -120
  1474. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/export.js +0 -250
  1475. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/exports-last.js +0 -40
  1476. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/extensions.js +0 -193
  1477. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/first.js +0 -144
  1478. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/group-exports.js +0 -155
  1479. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/imports-first.js +0 -16
  1480. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/max-dependencies.js +0 -60
  1481. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/named.js +0 -143
  1482. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/namespace.js +0 -218
  1483. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/newline-after-import.js +0 -237
  1484. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-absolute-path.js +0 -40
  1485. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-amd.js +0 -47
  1486. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-anonymous-default-export.js +0 -103
  1487. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-commonjs.js +0 -141
  1488. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-cycle.js +0 -158
  1489. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-default-export.js +0 -43
  1490. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-deprecated.js +0 -138
  1491. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-duplicates.js +0 -354
  1492. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-dynamic-require.js +0 -77
  1493. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-empty-named-blocks.js +0 -105
  1494. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-extraneous-dependencies.js +0 -301
  1495. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-import-module-exports.js +0 -85
  1496. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-internal-modules.js +0 -144
  1497. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-mutable-exports.js +0 -59
  1498. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-named-as-default-member.js +0 -96
  1499. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-named-as-default.js +0 -45
  1500. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-named-default.js +0 -31
  1501. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-named-export.js +0 -39
  1502. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-namespace.js +0 -175
  1503. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-nodejs-modules.js +0 -44
  1504. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-relative-packages.js +0 -71
  1505. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-relative-parent-imports.js +0 -48
  1506. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-restricted-paths.js +0 -245
  1507. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-self-import.js +0 -39
  1508. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-unassigned-import.js +0 -79
  1509. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-unresolved.js +0 -60
  1510. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-unused-modules.js +0 -945
  1511. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-useless-path-segments.js +0 -147
  1512. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-webpack-loader-syntax.js +0 -26
  1513. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/order.js +0 -785
  1514. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/prefer-default-export.js +0 -116
  1515. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/unambiguous.js +0 -38
  1516. package/template/lib/ts/node_modules/eslint-plugin-import/memo-parser/LICENSE +0 -22
  1517. package/template/lib/ts/node_modules/eslint-plugin-import/memo-parser/README.md +0 -21
  1518. package/template/lib/ts/node_modules/eslint-plugin-import/memo-parser/index.js +0 -41
  1519. package/template/lib/ts/node_modules/eslint-plugin-import/node_modules/.bin/eslint +0 -17
  1520. package/template/lib/ts/node_modules/eslint-plugin-import/node_modules/.bin/eslint.CMD +0 -12
  1521. package/template/lib/ts/node_modules/eslint-plugin-import/node_modules/.bin/eslint.ps1 +0 -41
  1522. package/template/lib/ts/node_modules/eslint-plugin-import/node_modules/.bin/semver +0 -17
  1523. package/template/lib/ts/node_modules/eslint-plugin-import/node_modules/.bin/semver.CMD +0 -12
  1524. package/template/lib/ts/node_modules/eslint-plugin-import/node_modules/.bin/semver.ps1 +0 -41
  1525. package/template/lib/ts/node_modules/eslint-plugin-import/package.json +0 -124
  1526. package/template/lib/ts/node_modules/eslint-plugin-prettier/LICENSE.md +0 -24
  1527. package/template/lib/ts/node_modules/eslint-plugin-prettier/README.md +0 -202
  1528. package/template/lib/ts/node_modules/eslint-plugin-prettier/eslint-plugin-prettier.d.ts +0 -5
  1529. package/template/lib/ts/node_modules/eslint-plugin-prettier/eslint-plugin-prettier.js +0 -254
  1530. package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint +0 -17
  1531. package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint-config-prettier +0 -17
  1532. package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint-config-prettier.CMD +0 -12
  1533. package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint-config-prettier.ps1 +0 -41
  1534. package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint.CMD +0 -12
  1535. package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint.ps1 +0 -41
  1536. package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/prettier +0 -17
  1537. package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/prettier.CMD +0 -12
  1538. package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/prettier.ps1 +0 -41
  1539. package/template/lib/ts/node_modules/eslint-plugin-prettier/package.json +0 -101
  1540. package/template/lib/ts/node_modules/eslint-plugin-prettier/recommended.d.ts +0 -5
  1541. package/template/lib/ts/node_modules/eslint-plugin-prettier/recommended.js +0 -17
  1542. package/template/lib/ts/node_modules/eslint-plugin-prettier/worker.js +0 -181
  1543. package/template/lib/ts/node_modules/prettier/LICENSE +0 -4857
  1544. package/template/lib/ts/node_modules/prettier/README.md +0 -109
  1545. package/template/lib/ts/node_modules/prettier/bin/prettier.cjs +0 -68
  1546. package/template/lib/ts/node_modules/prettier/doc.d.ts +0 -243
  1547. package/template/lib/ts/node_modules/prettier/doc.js +0 -1328
  1548. package/template/lib/ts/node_modules/prettier/doc.mjs +0 -1300
  1549. package/template/lib/ts/node_modules/prettier/index.cjs +0 -648
  1550. package/template/lib/ts/node_modules/prettier/index.d.ts +0 -940
  1551. package/template/lib/ts/node_modules/prettier/index.mjs +0 -24255
  1552. package/template/lib/ts/node_modules/prettier/internal/cli.mjs +0 -7089
  1553. package/template/lib/ts/node_modules/prettier/node_modules/.bin/prettier +0 -17
  1554. package/template/lib/ts/node_modules/prettier/node_modules/.bin/prettier.CMD +0 -12
  1555. package/template/lib/ts/node_modules/prettier/node_modules/.bin/prettier.ps1 +0 -41
  1556. package/template/lib/ts/node_modules/prettier/package.json +0 -198
  1557. package/template/lib/ts/node_modules/prettier/plugins/acorn.d.ts +0 -6
  1558. package/template/lib/ts/node_modules/prettier/plugins/acorn.js +0 -13
  1559. package/template/lib/ts/node_modules/prettier/plugins/acorn.mjs +0 -13
  1560. package/template/lib/ts/node_modules/prettier/plugins/angular.d.ts +0 -8
  1561. package/template/lib/ts/node_modules/prettier/plugins/angular.js +0 -1
  1562. package/template/lib/ts/node_modules/prettier/plugins/angular.mjs +0 -1
  1563. package/template/lib/ts/node_modules/prettier/plugins/babel.d.ts +0 -18
  1564. package/template/lib/ts/node_modules/prettier/plugins/babel.js +0 -16
  1565. package/template/lib/ts/node_modules/prettier/plugins/babel.mjs +0 -16
  1566. package/template/lib/ts/node_modules/prettier/plugins/estree.d.ts +0 -1
  1567. package/template/lib/ts/node_modules/prettier/plugins/estree.js +0 -36
  1568. package/template/lib/ts/node_modules/prettier/plugins/estree.mjs +0 -36
  1569. package/template/lib/ts/node_modules/prettier/plugins/flow.d.ts +0 -5
  1570. package/template/lib/ts/node_modules/prettier/plugins/flow.js +0 -21
  1571. package/template/lib/ts/node_modules/prettier/plugins/flow.mjs +0 -21
  1572. package/template/lib/ts/node_modules/prettier/plugins/glimmer.d.ts +0 -5
  1573. package/template/lib/ts/node_modules/prettier/plugins/glimmer.js +0 -30
  1574. package/template/lib/ts/node_modules/prettier/plugins/glimmer.mjs +0 -30
  1575. package/template/lib/ts/node_modules/prettier/plugins/graphql.d.ts +0 -5
  1576. package/template/lib/ts/node_modules/prettier/plugins/graphql.js +0 -29
  1577. package/template/lib/ts/node_modules/prettier/plugins/graphql.mjs +0 -29
  1578. package/template/lib/ts/node_modules/prettier/plugins/html.d.ts +0 -8
  1579. package/template/lib/ts/node_modules/prettier/plugins/html.js +0 -19
  1580. package/template/lib/ts/node_modules/prettier/plugins/html.mjs +0 -19
  1581. package/template/lib/ts/node_modules/prettier/plugins/markdown.d.ts +0 -7
  1582. package/template/lib/ts/node_modules/prettier/plugins/markdown.js +0 -59
  1583. package/template/lib/ts/node_modules/prettier/plugins/markdown.mjs +0 -59
  1584. package/template/lib/ts/node_modules/prettier/plugins/meriyah.d.ts +0 -5
  1585. package/template/lib/ts/node_modules/prettier/plugins/meriyah.js +0 -5
  1586. package/template/lib/ts/node_modules/prettier/plugins/meriyah.mjs +0 -5
  1587. package/template/lib/ts/node_modules/prettier/plugins/postcss.d.ts +0 -7
  1588. package/template/lib/ts/node_modules/prettier/plugins/postcss.js +0 -49
  1589. package/template/lib/ts/node_modules/prettier/plugins/postcss.mjs +0 -49
  1590. package/template/lib/ts/node_modules/prettier/plugins/typescript.d.ts +0 -5
  1591. package/template/lib/ts/node_modules/prettier/plugins/typescript.js +0 -25
  1592. package/template/lib/ts/node_modules/prettier/plugins/typescript.mjs +0 -25
  1593. package/template/lib/ts/node_modules/prettier/plugins/yaml.d.ts +0 -5
  1594. package/template/lib/ts/node_modules/prettier/plugins/yaml.js +0 -161
  1595. package/template/lib/ts/node_modules/prettier/plugins/yaml.mjs +0 -161
  1596. package/template/lib/ts/node_modules/prettier/standalone.d.ts +0 -33
  1597. package/template/lib/ts/node_modules/prettier/standalone.js +0 -34
  1598. package/template/lib/ts/node_modules/prettier/standalone.mjs +0 -34
  1599. package/template/lib/ts/node_modules/stylelint-config-standard-scss/LICENSE +0 -21
  1600. package/template/lib/ts/node_modules/stylelint-config-standard-scss/README.md +0 -50
  1601. package/template/lib/ts/node_modules/stylelint-config-standard-scss/index.js +0 -67
  1602. package/template/lib/ts/node_modules/stylelint-config-standard-scss/node_modules/.bin/stylelint +0 -17
  1603. package/template/lib/ts/node_modules/stylelint-config-standard-scss/node_modules/.bin/stylelint.CMD +0 -12
  1604. package/template/lib/ts/node_modules/stylelint-config-standard-scss/node_modules/.bin/stylelint.ps1 +0 -41
  1605. package/template/lib/ts/node_modules/stylelint-config-standard-scss/package.json +0 -58
  1606. /package/template/web-app/{react → react-rspack}/.editorconfig +0 -0
  1607. /package/template/web-app/{react → react-rspack}/.eslintignore +0 -0
  1608. /package/template/web-app/{react → react-rspack}/.gitignore +0 -0
  1609. /package/template/web-app/{react → react-rspack}/.husky/commit-msg +0 -0
  1610. /package/template/web-app/{react → react-rspack}/.husky/pre-commit +0 -0
  1611. /package/template/web-app/{react → react-rspack}/.prettierignore +0 -0
  1612. /package/template/web-app/{react → react-rspack}/.prettierrc +0 -0
  1613. /package/template/web-app/{react → react-rspack}/.stylelintignore +0 -0
  1614. /package/template/web-app/{react → react-rspack}/.stylelintrc +0 -0
  1615. /package/template/web-app/{react → react-rspack}/.vscode/extensions.json +0 -0
  1616. /package/template/web-app/{react → react-rspack}/.vscode/settings.json +0 -0
  1617. /package/template/web-app/{react → react-rspack}/commitlint.config.cjs +0 -0
  1618. /package/template/web-app/{react → react-rspack}/domain/app/app.model.ts +0 -0
  1619. /package/template/web-app/{react → react-rspack}/domain/app/app.styled.ts +0 -0
  1620. /package/template/web-app/{react → react-rspack}/domain/app/components/app-context.tsx +0 -0
  1621. /package/template/web-app/{react → react-rspack}/domain/app/components/app.tsx +0 -0
  1622. /package/template/web-app/{react → react-rspack}/domain/app/components/index.ts +0 -0
  1623. /package/template/web-app/{react → react-rspack}/domain/app/index.ts +0 -0
  1624. /package/template/web-app/{react → react-rspack}/domain/router/home/ids.ts +0 -0
  1625. /package/template/web-app/{react → react-rspack}/domain/router/home/index.ts +0 -0
  1626. /package/template/web-app/{react → react-rspack}/domain/router/home/routes.tsx +0 -0
  1627. /package/template/web-app/{react → react-rspack}/domain/router/ids.ts +0 -0
  1628. /package/template/web-app/{react → react-rspack}/domain/router/index.ts +0 -0
  1629. /package/template/web-app/{react → react-rspack}/domain/router/router.types.ts +0 -0
  1630. /package/template/web-app/{react → react-rspack}/main.tsx +0 -0
  1631. /package/template/web-app/{react → react-rspack}/pages/home/home.styled.ts +0 -0
  1632. /package/template/web-app/{react → react-rspack}/pages/home/home.tsx +0 -0
  1633. /package/template/web-app/{react → react-rspack}/pages/home/index.ts +0 -0
  1634. /package/template/web-app/{react → react-rspack}/pages/index.tsx +0 -0
  1635. /package/template/web-app/{react → react-rspack}/pages/not-found.tsx +0 -0
  1636. /package/template/web-app/{react → react-rspack}/postcss.config.cjs +0 -0
  1637. /package/template/web-app/{react → react-rspack}/scripts/createChunks.ts +0 -0
  1638. /package/template/web-app/{react → react-rspack}/scripts/index.ts +0 -0
  1639. /package/template/web-app/{react → react-rspack}/shared/assets/react.svg +0 -0
  1640. /package/template/web-app/{react → react-rspack}/shared/components/index.ts +0 -0
  1641. /package/template/web-app/{react → react-rspack}/shared/constant/index.ts +0 -0
  1642. /package/template/web-app/{react → react-rspack}/shared/hooks/defineRouter/defineRouter.types.ts +0 -0
  1643. /package/template/web-app/{react → react-rspack}/shared/hooks/defineRouter/deineRouter.tsx +0 -0
  1644. /package/template/web-app/{react → react-rspack}/shared/hooks/defineRouter/index.ts +0 -0
  1645. /package/template/web-app/{react → react-rspack}/shared/hooks/index.ts +0 -0
  1646. /package/template/web-app/{react → react-rspack}/shared/hooks/useInterval.ts +0 -0
  1647. /package/template/web-app/{react → react-rspack}/shared/hooks/useLoadingAction.ts +0 -0
  1648. /package/template/web-app/{react → react-rspack}/shared/hooks/useLowPriorityState.ts +0 -0
  1649. /package/template/web-app/{react → react-rspack}/shared/hooks/useSyncState.ts +0 -0
  1650. /package/template/web-app/{react → react-rspack}/shared/hooks/useVisible.ts +0 -0
  1651. /package/template/web-app/{react → react-rspack}/shared/service/api.ts +0 -0
  1652. /package/template/web-app/{react → react-rspack}/shared/service/index.ts +0 -0
  1653. /package/template/web-app/{react → react-rspack}/shared/theme/index.ts +0 -0
  1654. /package/template/web-app/{react → react-rspack}/shared/theme/theme.styled.ts +0 -0
  1655. /package/template/web-app/{react → react-rspack}/shared/tools/componentInstance.tsx +0 -0
  1656. /package/template/web-app/{react → react-rspack}/shared/tools/index.ts +0 -0
  1657. /package/template/web-app/{react → react-rspack}/shared/types/index.ts +0 -0
  1658. /package/template/web-app/{react → react-rspack}/shared/types/utils.ts +0 -0
  1659. /package/template/web-app/{react → react-rspack}/tsconfig.json +0 -0
  1660. /package/template/web-app/{react → react-vite}/.env +0 -0
  1661. /package/template/web-app/{react → react-vite}/.env.development +0 -0
  1662. /package/template/web-app/{react → react-vite}/.eslintrc +0 -0
  1663. /package/template/web-app/{react → react-vite}/README.md +0 -0
  1664. /package/template/web-app/{react → react-vite}/domain/router/router.tsx +0 -0
  1665. /package/template/web-app/{react → react-vite}/index.html +0 -0
  1666. /package/template/web-app/{react → react-vite}/mockUtils.ts +0 -0
  1667. /package/template/web-app/{react → react-vite}/package.json +0 -0
  1668. /package/template/web-app/{react → react-vite}/pages/home/home.mock.ts +0 -0
  1669. /package/template/web-app/{react → react-vite}/public/vite.svg +0 -0
  1670. /package/template/web-app/{react → react-vite}/shared/service/home.ts +0 -0
  1671. /package/template/web-app/{react → react-vite}/shared/service/request.ts +0 -0
  1672. /package/template/web-app/{react → react-vite}/tsconfig.node.json +0 -0
  1673. /package/template/web-app/{react → react-vite}/vite-env.d.ts +0 -0
  1674. /package/template/web-app/{react → react-vite}/vite.config.ts +0 -0
@@ -1,2348 +0,0 @@
1
- /**
2
- * @fileoverview A class to manage state of generating a code path.
3
- * @author Toru Nagashima
4
- */
5
-
6
- "use strict";
7
-
8
- //------------------------------------------------------------------------------
9
- // Requirements
10
- //------------------------------------------------------------------------------
11
-
12
- const CodePathSegment = require("./code-path-segment"),
13
- ForkContext = require("./fork-context");
14
-
15
- //-----------------------------------------------------------------------------
16
- // Contexts
17
- //-----------------------------------------------------------------------------
18
-
19
- /**
20
- * Represents the context in which a `break` statement can be used.
21
- *
22
- * A `break` statement without a label is only valid in a few places in
23
- * JavaScript: any type of loop or a `switch` statement. Otherwise, `break`
24
- * without a label causes a syntax error. For these contexts, `breakable` is
25
- * set to `true` to indicate that a `break` without a label is valid.
26
- *
27
- * However, a `break` statement with a label is also valid inside of a labeled
28
- * statement. For example, this is valid:
29
- *
30
- * a : {
31
- * break a;
32
- * }
33
- *
34
- * The `breakable` property is set false for labeled statements to indicate
35
- * that `break` without a label is invalid.
36
- */
37
- class BreakContext {
38
-
39
- /**
40
- * Creates a new instance.
41
- * @param {BreakContext} upperContext The previous `BreakContext`.
42
- * @param {boolean} breakable Indicates if we are inside a statement where
43
- * `break` without a label will exit the statement.
44
- * @param {string|null} label The label for the statement.
45
- * @param {ForkContext} forkContext The current fork context.
46
- */
47
- constructor(upperContext, breakable, label, forkContext) {
48
-
49
- /**
50
- * The previous `BreakContext`
51
- * @type {BreakContext}
52
- */
53
- this.upper = upperContext;
54
-
55
- /**
56
- * Indicates if we are inside a statement where `break` without a label
57
- * will exit the statement.
58
- * @type {boolean}
59
- */
60
- this.breakable = breakable;
61
-
62
- /**
63
- * The label associated with the statement.
64
- * @type {string|null}
65
- */
66
- this.label = label;
67
-
68
- /**
69
- * The fork context for the `break`.
70
- * @type {ForkContext}
71
- */
72
- this.brokenForkContext = ForkContext.newEmpty(forkContext);
73
- }
74
- }
75
-
76
- /**
77
- * Represents the context for `ChainExpression` nodes.
78
- */
79
- class ChainContext {
80
-
81
- /**
82
- * Creates a new instance.
83
- * @param {ChainContext} upperContext The previous `ChainContext`.
84
- */
85
- constructor(upperContext) {
86
-
87
- /**
88
- * The previous `ChainContext`
89
- * @type {ChainContext}
90
- */
91
- this.upper = upperContext;
92
-
93
- /**
94
- * The number of choice contexts inside of the `ChainContext`.
95
- * @type {number}
96
- */
97
- this.choiceContextCount = 0;
98
-
99
- }
100
- }
101
-
102
- /**
103
- * Represents a choice in the code path.
104
- *
105
- * Choices are created by logical operators such as `&&`, loops, conditionals,
106
- * and `if` statements. This is the point at which the code path has a choice of
107
- * which direction to go.
108
- *
109
- * The result of a choice might be in the left (test) expression of another choice,
110
- * and in that case, may create a new fork. For example, `a || b` is a choice
111
- * but does not create a new fork because the result of the expression is
112
- * not used as the test expression in another expression. In this case,
113
- * `isForkingAsResult` is false. In the expression `a || b || c`, the `a || b`
114
- * expression appears as the test expression for `|| c`, so the
115
- * result of `a || b` creates a fork because execution may or may not
116
- * continue to `|| c`. `isForkingAsResult` for `a || b` in this case is true
117
- * while `isForkingAsResult` for `|| c` is false. (`isForkingAsResult` is always
118
- * false for `if` statements, conditional expressions, and loops.)
119
- *
120
- * All of the choices except one (`??`) operate on a true/false fork, meaning if
121
- * true go one way and if false go the other (tracked by `trueForkContext` and
122
- * `falseForkContext`). The `??` operator doesn't operate on true/false because
123
- * the left expression is evaluated to be nullish or not, so only if nullish do
124
- * we fork to the right expression (tracked by `nullishForkContext`).
125
- */
126
- class ChoiceContext {
127
-
128
- /**
129
- * Creates a new instance.
130
- * @param {ChoiceContext} upperContext The previous `ChoiceContext`.
131
- * @param {string} kind The kind of choice. If it's a logical or assignment expression, this
132
- * is `"&&"` or `"||"` or `"??"`; if it's an `if` statement or
133
- * conditional expression, this is `"test"`; otherwise, this is `"loop"`.
134
- * @param {boolean} isForkingAsResult Indicates if the result of the choice
135
- * creates a fork.
136
- * @param {ForkContext} forkContext The containing `ForkContext`.
137
- */
138
- constructor(upperContext, kind, isForkingAsResult, forkContext) {
139
-
140
- /**
141
- * The previous `ChoiceContext`
142
- * @type {ChoiceContext}
143
- */
144
- this.upper = upperContext;
145
-
146
- /**
147
- * The kind of choice. If it's a logical or assignment expression, this
148
- * is `"&&"` or `"||"` or `"??"`; if it's an `if` statement or
149
- * conditional expression, this is `"test"`; otherwise, this is `"loop"`.
150
- * @type {string}
151
- */
152
- this.kind = kind;
153
-
154
- /**
155
- * Indicates if the result of the choice forks the code path.
156
- * @type {boolean}
157
- */
158
- this.isForkingAsResult = isForkingAsResult;
159
-
160
- /**
161
- * The fork context for the `true` path of the choice.
162
- * @type {ForkContext}
163
- */
164
- this.trueForkContext = ForkContext.newEmpty(forkContext);
165
-
166
- /**
167
- * The fork context for the `false` path of the choice.
168
- * @type {ForkContext}
169
- */
170
- this.falseForkContext = ForkContext.newEmpty(forkContext);
171
-
172
- /**
173
- * The fork context for when the choice result is `null` or `undefined`.
174
- * @type {ForkContext}
175
- */
176
- this.nullishForkContext = ForkContext.newEmpty(forkContext);
177
-
178
- /**
179
- * Indicates if any of `trueForkContext`, `falseForkContext`, or
180
- * `nullishForkContext` have been updated with segments from a child context.
181
- * @type {boolean}
182
- */
183
- this.processed = false;
184
- }
185
-
186
- }
187
-
188
- /**
189
- * Base class for all loop contexts.
190
- */
191
- class LoopContextBase {
192
-
193
- /**
194
- * Creates a new instance.
195
- * @param {LoopContext|null} upperContext The previous `LoopContext`.
196
- * @param {string} type The AST node's `type` for the loop.
197
- * @param {string|null} label The label for the loop from an enclosing `LabeledStatement`.
198
- * @param {BreakContext} breakContext The context for breaking the loop.
199
- */
200
- constructor(upperContext, type, label, breakContext) {
201
-
202
- /**
203
- * The previous `LoopContext`.
204
- * @type {LoopContext}
205
- */
206
- this.upper = upperContext;
207
-
208
- /**
209
- * The AST node's `type` for the loop.
210
- * @type {string}
211
- */
212
- this.type = type;
213
-
214
- /**
215
- * The label for the loop from an enclosing `LabeledStatement`.
216
- * @type {string|null}
217
- */
218
- this.label = label;
219
-
220
- /**
221
- * The fork context for when `break` is encountered.
222
- * @type {ForkContext}
223
- */
224
- this.brokenForkContext = breakContext.brokenForkContext;
225
- }
226
- }
227
-
228
- /**
229
- * Represents the context for a `while` loop.
230
- */
231
- class WhileLoopContext extends LoopContextBase {
232
-
233
- /**
234
- * Creates a new instance.
235
- * @param {LoopContext|null} upperContext The previous `LoopContext`.
236
- * @param {string|null} label The label for the loop from an enclosing `LabeledStatement`.
237
- * @param {BreakContext} breakContext The context for breaking the loop.
238
- */
239
- constructor(upperContext, label, breakContext) {
240
- super(upperContext, "WhileStatement", label, breakContext);
241
-
242
- /**
243
- * The hardcoded literal boolean test condition for
244
- * the loop. Used to catch infinite or skipped loops.
245
- * @type {boolean|undefined}
246
- */
247
- this.test = void 0;
248
-
249
- /**
250
- * The segments representing the test condition where `continue` will
251
- * jump to. The test condition will typically have just one segment but
252
- * it's possible for there to be more than one.
253
- * @type {Array<CodePathSegment>|null}
254
- */
255
- this.continueDestSegments = null;
256
- }
257
- }
258
-
259
- /**
260
- * Represents the context for a `do-while` loop.
261
- */
262
- class DoWhileLoopContext extends LoopContextBase {
263
-
264
- /**
265
- * Creates a new instance.
266
- * @param {LoopContext|null} upperContext The previous `LoopContext`.
267
- * @param {string|null} label The label for the loop from an enclosing `LabeledStatement`.
268
- * @param {BreakContext} breakContext The context for breaking the loop.
269
- * @param {ForkContext} forkContext The enclosing fork context.
270
- */
271
- constructor(upperContext, label, breakContext, forkContext) {
272
- super(upperContext, "DoWhileStatement", label, breakContext);
273
-
274
- /**
275
- * The hardcoded literal boolean test condition for
276
- * the loop. Used to catch infinite or skipped loops.
277
- * @type {boolean|undefined}
278
- */
279
- this.test = void 0;
280
-
281
- /**
282
- * The segments at the start of the loop body. This is the only loop
283
- * where the test comes at the end, so the first iteration always
284
- * happens and we need a reference to the first statements.
285
- * @type {Array<CodePathSegment>|null}
286
- */
287
- this.entrySegments = null;
288
-
289
- /**
290
- * The fork context to follow when a `continue` is found.
291
- * @type {ForkContext}
292
- */
293
- this.continueForkContext = ForkContext.newEmpty(forkContext);
294
- }
295
- }
296
-
297
- /**
298
- * Represents the context for a `for` loop.
299
- */
300
- class ForLoopContext extends LoopContextBase {
301
-
302
- /**
303
- * Creates a new instance.
304
- * @param {LoopContext|null} upperContext The previous `LoopContext`.
305
- * @param {string|null} label The label for the loop from an enclosing `LabeledStatement`.
306
- * @param {BreakContext} breakContext The context for breaking the loop.
307
- */
308
- constructor(upperContext, label, breakContext) {
309
- super(upperContext, "ForStatement", label, breakContext);
310
-
311
- /**
312
- * The hardcoded literal boolean test condition for
313
- * the loop. Used to catch infinite or skipped loops.
314
- * @type {boolean|undefined}
315
- */
316
- this.test = void 0;
317
-
318
- /**
319
- * The end of the init expression. This may change during the lifetime
320
- * of the instance as we traverse the loop because some loops don't have
321
- * an init expression.
322
- * @type {Array<CodePathSegment>|null}
323
- */
324
- this.endOfInitSegments = null;
325
-
326
- /**
327
- * The start of the test expression. This may change during the lifetime
328
- * of the instance as we traverse the loop because some loops don't have
329
- * a test expression.
330
- * @type {Array<CodePathSegment>|null}
331
- */
332
- this.testSegments = null;
333
-
334
- /**
335
- * The end of the test expression. This may change during the lifetime
336
- * of the instance as we traverse the loop because some loops don't have
337
- * a test expression.
338
- * @type {Array<CodePathSegment>|null}
339
- */
340
- this.endOfTestSegments = null;
341
-
342
- /**
343
- * The start of the update expression. This may change during the lifetime
344
- * of the instance as we traverse the loop because some loops don't have
345
- * an update expression.
346
- * @type {Array<CodePathSegment>|null}
347
- */
348
- this.updateSegments = null;
349
-
350
- /**
351
- * The end of the update expresion. This may change during the lifetime
352
- * of the instance as we traverse the loop because some loops don't have
353
- * an update expression.
354
- * @type {Array<CodePathSegment>|null}
355
- */
356
- this.endOfUpdateSegments = null;
357
-
358
- /**
359
- * The segments representing the test condition where `continue` will
360
- * jump to. The test condition will typically have just one segment but
361
- * it's possible for there to be more than one. This may change during the
362
- * lifetime of the instance as we traverse the loop because some loops
363
- * don't have an update expression. When there is an update expression, this
364
- * will end up pointing to that expression; otherwise it will end up pointing
365
- * to the test expression.
366
- * @type {Array<CodePathSegment>|null}
367
- */
368
- this.continueDestSegments = null;
369
- }
370
- }
371
-
372
- /**
373
- * Represents the context for a `for-in` loop.
374
- *
375
- * Terminology:
376
- * - "left" means the part of the loop to the left of the `in` keyword. For
377
- * example, in `for (var x in y)`, the left is `var x`.
378
- * - "right" means the part of the loop to the right of the `in` keyword. For
379
- * example, in `for (var x in y)`, the right is `y`.
380
- */
381
- class ForInLoopContext extends LoopContextBase {
382
-
383
- /**
384
- * Creates a new instance.
385
- * @param {LoopContext|null} upperContext The previous `LoopContext`.
386
- * @param {string|null} label The label for the loop from an enclosing `LabeledStatement`.
387
- * @param {BreakContext} breakContext The context for breaking the loop.
388
- */
389
- constructor(upperContext, label, breakContext) {
390
- super(upperContext, "ForInStatement", label, breakContext);
391
-
392
- /**
393
- * The segments that came immediately before the start of the loop.
394
- * This allows you to traverse backwards out of the loop into the
395
- * surrounding code. This is necessary to evaluate the right expression
396
- * correctly, as it must be evaluated in the same way as the left
397
- * expression, but the pointer to these segments would otherwise be
398
- * lost if not stored on the instance. Once the right expression has
399
- * been evaluated, this property is no longer used.
400
- * @type {Array<CodePathSegment>|null}
401
- */
402
- this.prevSegments = null;
403
-
404
- /**
405
- * Segments representing the start of everything to the left of the
406
- * `in` keyword. This can be used to move forward towards
407
- * `endOfLeftSegments`. `leftSegments` and `endOfLeftSegments` are
408
- * effectively the head and tail of a doubly-linked list.
409
- * @type {Array<CodePathSegment>|null}
410
- */
411
- this.leftSegments = null;
412
-
413
- /**
414
- * Segments representing the end of everything to the left of the
415
- * `in` keyword. This can be used to move backward towards `leftSegments`.
416
- * `leftSegments` and `endOfLeftSegments` are effectively the head
417
- * and tail of a doubly-linked list.
418
- * @type {Array<CodePathSegment>|null}
419
- */
420
- this.endOfLeftSegments = null;
421
-
422
- /**
423
- * The segments representing the left expression where `continue` will
424
- * jump to. In `for-in` loops, `continue` must always re-execute the
425
- * left expression each time through the loop. This contains the same
426
- * segments as `leftSegments`, but is duplicated here so each loop
427
- * context has the same property pointing to where `continue` should
428
- * end up.
429
- * @type {Array<CodePathSegment>|null}
430
- */
431
- this.continueDestSegments = null;
432
- }
433
- }
434
-
435
- /**
436
- * Represents the context for a `for-of` loop.
437
- */
438
- class ForOfLoopContext extends LoopContextBase {
439
-
440
- /**
441
- * Creates a new instance.
442
- * @param {LoopContext|null} upperContext The previous `LoopContext`.
443
- * @param {string|null} label The label for the loop from an enclosing `LabeledStatement`.
444
- * @param {BreakContext} breakContext The context for breaking the loop.
445
- */
446
- constructor(upperContext, label, breakContext) {
447
- super(upperContext, "ForOfStatement", label, breakContext);
448
-
449
- /**
450
- * The segments that came immediately before the start of the loop.
451
- * This allows you to traverse backwards out of the loop into the
452
- * surrounding code. This is necessary to evaluate the right expression
453
- * correctly, as it must be evaluated in the same way as the left
454
- * expression, but the pointer to these segments would otherwise be
455
- * lost if not stored on the instance. Once the right expression has
456
- * been evaluated, this property is no longer used.
457
- * @type {Array<CodePathSegment>|null}
458
- */
459
- this.prevSegments = null;
460
-
461
- /**
462
- * Segments representing the start of everything to the left of the
463
- * `of` keyword. This can be used to move forward towards
464
- * `endOfLeftSegments`. `leftSegments` and `endOfLeftSegments` are
465
- * effectively the head and tail of a doubly-linked list.
466
- * @type {Array<CodePathSegment>|null}
467
- */
468
- this.leftSegments = null;
469
-
470
- /**
471
- * Segments representing the end of everything to the left of the
472
- * `of` keyword. This can be used to move backward towards `leftSegments`.
473
- * `leftSegments` and `endOfLeftSegments` are effectively the head
474
- * and tail of a doubly-linked list.
475
- * @type {Array<CodePathSegment>|null}
476
- */
477
- this.endOfLeftSegments = null;
478
-
479
- /**
480
- * The segments representing the left expression where `continue` will
481
- * jump to. In `for-in` loops, `continue` must always re-execute the
482
- * left expression each time through the loop. This contains the same
483
- * segments as `leftSegments`, but is duplicated here so each loop
484
- * context has the same property pointing to where `continue` should
485
- * end up.
486
- * @type {Array<CodePathSegment>|null}
487
- */
488
- this.continueDestSegments = null;
489
- }
490
- }
491
-
492
- /**
493
- * Represents the context for any loop.
494
- * @typedef {WhileLoopContext|DoWhileLoopContext|ForLoopContext|ForInLoopContext|ForOfLoopContext} LoopContext
495
- */
496
-
497
- /**
498
- * Represents the context for a `switch` statement.
499
- */
500
- class SwitchContext {
501
-
502
- /**
503
- * Creates a new instance.
504
- * @param {SwitchContext} upperContext The previous context.
505
- * @param {boolean} hasCase Indicates if there is at least one `case` statement.
506
- * `default` doesn't count.
507
- */
508
- constructor(upperContext, hasCase) {
509
-
510
- /**
511
- * The previous context.
512
- * @type {SwitchContext}
513
- */
514
- this.upper = upperContext;
515
-
516
- /**
517
- * Indicates if there is at least one `case` statement. `default` doesn't count.
518
- * @type {boolean}
519
- */
520
- this.hasCase = hasCase;
521
-
522
- /**
523
- * The `default` keyword.
524
- * @type {Array<CodePathSegment>|null}
525
- */
526
- this.defaultSegments = null;
527
-
528
- /**
529
- * The default case body starting segments.
530
- * @type {Array<CodePathSegment>|null}
531
- */
532
- this.defaultBodySegments = null;
533
-
534
- /**
535
- * Indicates if a `default` case and is empty exists.
536
- * @type {boolean}
537
- */
538
- this.foundEmptyDefault = false;
539
-
540
- /**
541
- * Indicates that a `default` exists and is the last case.
542
- * @type {boolean}
543
- */
544
- this.lastIsDefault = false;
545
-
546
- /**
547
- * The number of fork contexts created. This is equivalent to the
548
- * number of `case` statements plus a `default` statement (if present).
549
- * @type {number}
550
- */
551
- this.forkCount = 0;
552
- }
553
- }
554
-
555
- /**
556
- * Represents the context for a `try` statement.
557
- */
558
- class TryContext {
559
-
560
- /**
561
- * Creates a new instance.
562
- * @param {TryContext} upperContext The previous context.
563
- * @param {boolean} hasFinalizer Indicates if the `try` statement has a
564
- * `finally` block.
565
- * @param {ForkContext} forkContext The enclosing fork context.
566
- */
567
- constructor(upperContext, hasFinalizer, forkContext) {
568
-
569
- /**
570
- * The previous context.
571
- * @type {TryContext}
572
- */
573
- this.upper = upperContext;
574
-
575
- /**
576
- * Indicates if the `try` statement has a `finally` block.
577
- * @type {boolean}
578
- */
579
- this.hasFinalizer = hasFinalizer;
580
-
581
- /**
582
- * Tracks the traversal position inside of the `try` statement. This is
583
- * used to help determine the context necessary to create paths because
584
- * a `try` statement may or may not have `catch` or `finally` blocks,
585
- * and code paths behave differently in those blocks.
586
- * @type {"try"|"catch"|"finally"}
587
- */
588
- this.position = "try";
589
-
590
- /**
591
- * If the `try` statement has a `finally` block, this affects how a
592
- * `return` statement behaves in the `try` block. Without `finally`,
593
- * `return` behaves as usual and doesn't require a fork; with `finally`,
594
- * `return` forks into the `finally` block, so we need a fork context
595
- * to track it.
596
- * @type {ForkContext|null}
597
- */
598
- this.returnedForkContext = hasFinalizer
599
- ? ForkContext.newEmpty(forkContext)
600
- : null;
601
-
602
- /**
603
- * When a `throw` occurs inside of a `try` block, the code path forks
604
- * into the `catch` or `finally` blocks, and this fork context tracks
605
- * that path.
606
- * @type {ForkContext}
607
- */
608
- this.thrownForkContext = ForkContext.newEmpty(forkContext);
609
-
610
- /**
611
- * Indicates if the last segment in the `try` block is reachable.
612
- * @type {boolean}
613
- */
614
- this.lastOfTryIsReachable = false;
615
-
616
- /**
617
- * Indicates if the last segment in the `catch` block is reachable.
618
- * @type {boolean}
619
- */
620
- this.lastOfCatchIsReachable = false;
621
- }
622
- }
623
-
624
- //------------------------------------------------------------------------------
625
- // Helpers
626
- //------------------------------------------------------------------------------
627
-
628
- /**
629
- * Adds given segments into the `dest` array.
630
- * If the `others` array does not include the given segments, adds to the `all`
631
- * array as well.
632
- *
633
- * This adds only reachable and used segments.
634
- * @param {CodePathSegment[]} dest A destination array (`returnedSegments` or `thrownSegments`).
635
- * @param {CodePathSegment[]} others Another destination array (`returnedSegments` or `thrownSegments`).
636
- * @param {CodePathSegment[]} all The unified destination array (`finalSegments`).
637
- * @param {CodePathSegment[]} segments Segments to add.
638
- * @returns {void}
639
- */
640
- function addToReturnedOrThrown(dest, others, all, segments) {
641
- for (let i = 0; i < segments.length; ++i) {
642
- const segment = segments[i];
643
-
644
- dest.push(segment);
645
- if (!others.includes(segment)) {
646
- all.push(segment);
647
- }
648
- }
649
- }
650
-
651
- /**
652
- * Gets a loop context for a `continue` statement based on a given label.
653
- * @param {CodePathState} state The state to search within.
654
- * @param {string|null} label The label of a `continue` statement.
655
- * @returns {LoopContext} A loop-context for a `continue` statement.
656
- */
657
- function getContinueContext(state, label) {
658
- if (!label) {
659
- return state.loopContext;
660
- }
661
-
662
- let context = state.loopContext;
663
-
664
- while (context) {
665
- if (context.label === label) {
666
- return context;
667
- }
668
- context = context.upper;
669
- }
670
-
671
- /* c8 ignore next */
672
- return null;
673
- }
674
-
675
- /**
676
- * Gets a context for a `break` statement.
677
- * @param {CodePathState} state The state to search within.
678
- * @param {string|null} label The label of a `break` statement.
679
- * @returns {BreakContext} A context for a `break` statement.
680
- */
681
- function getBreakContext(state, label) {
682
- let context = state.breakContext;
683
-
684
- while (context) {
685
- if (label ? context.label === label : context.breakable) {
686
- return context;
687
- }
688
- context = context.upper;
689
- }
690
-
691
- /* c8 ignore next */
692
- return null;
693
- }
694
-
695
- /**
696
- * Gets a context for a `return` statement. There is just one special case:
697
- * if there is a `try` statement with a `finally` block, because that alters
698
- * how `return` behaves; otherwise, this just passes through the given state.
699
- * @param {CodePathState} state The state to search within
700
- * @returns {TryContext|CodePathState} A context for a `return` statement.
701
- */
702
- function getReturnContext(state) {
703
- let context = state.tryContext;
704
-
705
- while (context) {
706
- if (context.hasFinalizer && context.position !== "finally") {
707
- return context;
708
- }
709
- context = context.upper;
710
- }
711
-
712
- return state;
713
- }
714
-
715
- /**
716
- * Gets a context for a `throw` statement. There is just one special case:
717
- * if there is a `try` statement with a `finally` block and we are inside of
718
- * a `catch` because that changes how `throw` behaves; otherwise, this just
719
- * passes through the given state.
720
- * @param {CodePathState} state The state to search within.
721
- * @returns {TryContext|CodePathState} A context for a `throw` statement.
722
- */
723
- function getThrowContext(state) {
724
- let context = state.tryContext;
725
-
726
- while (context) {
727
- if (context.position === "try" ||
728
- (context.hasFinalizer && context.position === "catch")
729
- ) {
730
- return context;
731
- }
732
- context = context.upper;
733
- }
734
-
735
- return state;
736
- }
737
-
738
- /**
739
- * Removes a given value from a given array.
740
- * @param {any[]} elements An array to remove the specific element.
741
- * @param {any} value The value to be removed.
742
- * @returns {void}
743
- */
744
- function removeFromArray(elements, value) {
745
- elements.splice(elements.indexOf(value), 1);
746
- }
747
-
748
- /**
749
- * Disconnect given segments.
750
- *
751
- * This is used in a process for switch statements.
752
- * If there is the "default" chunk before other cases, the order is different
753
- * between node's and running's.
754
- * @param {CodePathSegment[]} prevSegments Forward segments to disconnect.
755
- * @param {CodePathSegment[]} nextSegments Backward segments to disconnect.
756
- * @returns {void}
757
- */
758
- function disconnectSegments(prevSegments, nextSegments) {
759
- for (let i = 0; i < prevSegments.length; ++i) {
760
- const prevSegment = prevSegments[i];
761
- const nextSegment = nextSegments[i];
762
-
763
- removeFromArray(prevSegment.nextSegments, nextSegment);
764
- removeFromArray(prevSegment.allNextSegments, nextSegment);
765
- removeFromArray(nextSegment.prevSegments, prevSegment);
766
- removeFromArray(nextSegment.allPrevSegments, prevSegment);
767
- }
768
- }
769
-
770
- /**
771
- * Creates looping path between two arrays of segments, ensuring that there are
772
- * paths going between matching segments in the arrays.
773
- * @param {CodePathState} state The state to operate on.
774
- * @param {CodePathSegment[]} unflattenedFromSegments Segments which are source.
775
- * @param {CodePathSegment[]} unflattenedToSegments Segments which are destination.
776
- * @returns {void}
777
- */
778
- function makeLooped(state, unflattenedFromSegments, unflattenedToSegments) {
779
-
780
- const fromSegments = CodePathSegment.flattenUnusedSegments(unflattenedFromSegments);
781
- const toSegments = CodePathSegment.flattenUnusedSegments(unflattenedToSegments);
782
- const end = Math.min(fromSegments.length, toSegments.length);
783
-
784
- /*
785
- * This loop effectively updates a doubly-linked list between two collections
786
- * of segments making sure that segments in the same array indices are
787
- * combined to create a path.
788
- */
789
- for (let i = 0; i < end; ++i) {
790
-
791
- // get the segments in matching array indices
792
- const fromSegment = fromSegments[i];
793
- const toSegment = toSegments[i];
794
-
795
- /*
796
- * If the destination segment is reachable, then create a path from the
797
- * source segment to the destination segment.
798
- */
799
- if (toSegment.reachable) {
800
- fromSegment.nextSegments.push(toSegment);
801
- }
802
-
803
- /*
804
- * If the source segment is reachable, then create a path from the
805
- * destination segment back to the source segment.
806
- */
807
- if (fromSegment.reachable) {
808
- toSegment.prevSegments.push(fromSegment);
809
- }
810
-
811
- /*
812
- * Also update the arrays that don't care if the segments are reachable
813
- * or not. This should always happen regardless of anything else.
814
- */
815
- fromSegment.allNextSegments.push(toSegment);
816
- toSegment.allPrevSegments.push(fromSegment);
817
-
818
- /*
819
- * If the destination segment has at least two previous segments in its
820
- * path then that means there was one previous segment before this iteration
821
- * of the loop was executed. So, we need to mark the source segment as
822
- * looped.
823
- */
824
- if (toSegment.allPrevSegments.length >= 2) {
825
- CodePathSegment.markPrevSegmentAsLooped(toSegment, fromSegment);
826
- }
827
-
828
- // let the code path analyzer know that there's been a loop created
829
- state.notifyLooped(fromSegment, toSegment);
830
- }
831
- }
832
-
833
- /**
834
- * Finalizes segments of `test` chunk of a ForStatement.
835
- *
836
- * - Adds `false` paths to paths which are leaving from the loop.
837
- * - Sets `true` paths to paths which go to the body.
838
- * @param {LoopContext} context A loop context to modify.
839
- * @param {ChoiceContext} choiceContext A choice context of this loop.
840
- * @param {CodePathSegment[]} head The current head paths.
841
- * @returns {void}
842
- */
843
- function finalizeTestSegmentsOfFor(context, choiceContext, head) {
844
-
845
- /*
846
- * If this choice context doesn't already contain paths from a
847
- * child context, then add the current head to each potential path.
848
- */
849
- if (!choiceContext.processed) {
850
- choiceContext.trueForkContext.add(head);
851
- choiceContext.falseForkContext.add(head);
852
- choiceContext.nullishForkContext.add(head);
853
- }
854
-
855
- /*
856
- * If the test condition isn't a hardcoded truthy value, then `break`
857
- * must follow the same path as if the test condition is false. To represent
858
- * that, we append the path for when the loop test is false (represented by
859
- * `falseForkContext`) to the `brokenForkContext`.
860
- */
861
- if (context.test !== true) {
862
- context.brokenForkContext.addAll(choiceContext.falseForkContext);
863
- }
864
-
865
- context.endOfTestSegments = choiceContext.trueForkContext.makeNext(0, -1);
866
- }
867
-
868
- //------------------------------------------------------------------------------
869
- // Public Interface
870
- //------------------------------------------------------------------------------
871
-
872
- /**
873
- * A class which manages state to analyze code paths.
874
- */
875
- class CodePathState {
876
-
877
- /**
878
- * Creates a new instance.
879
- * @param {IdGenerator} idGenerator An id generator to generate id for code
880
- * path segments.
881
- * @param {Function} onLooped A callback function to notify looping.
882
- */
883
- constructor(idGenerator, onLooped) {
884
-
885
- /**
886
- * The ID generator to use when creating new segments.
887
- * @type {IdGenerator}
888
- */
889
- this.idGenerator = idGenerator;
890
-
891
- /**
892
- * A callback function to call when there is a loop.
893
- * @type {Function}
894
- */
895
- this.notifyLooped = onLooped;
896
-
897
- /**
898
- * The root fork context for this state.
899
- * @type {ForkContext}
900
- */
901
- this.forkContext = ForkContext.newRoot(idGenerator);
902
-
903
- /**
904
- * Context for logical expressions, conditional expressions, `if` statements,
905
- * and loops.
906
- * @type {ChoiceContext}
907
- */
908
- this.choiceContext = null;
909
-
910
- /**
911
- * Context for `switch` statements.
912
- * @type {SwitchContext}
913
- */
914
- this.switchContext = null;
915
-
916
- /**
917
- * Context for `try` statements.
918
- * @type {TryContext}
919
- */
920
- this.tryContext = null;
921
-
922
- /**
923
- * Context for loop statements.
924
- * @type {LoopContext}
925
- */
926
- this.loopContext = null;
927
-
928
- /**
929
- * Context for `break` statements.
930
- * @type {BreakContext}
931
- */
932
- this.breakContext = null;
933
-
934
- /**
935
- * Context for `ChainExpression` nodes.
936
- * @type {ChainContext}
937
- */
938
- this.chainContext = null;
939
-
940
- /**
941
- * An array that tracks the current segments in the state. The array
942
- * starts empty and segments are added with each `onCodePathSegmentStart`
943
- * event and removed with each `onCodePathSegmentEnd` event. Effectively,
944
- * this is tracking the code path segment traversal as the state is
945
- * modified.
946
- * @type {Array<CodePathSegment>}
947
- */
948
- this.currentSegments = [];
949
-
950
- /**
951
- * Tracks the starting segment for this path. This value never changes.
952
- * @type {CodePathSegment}
953
- */
954
- this.initialSegment = this.forkContext.head[0];
955
-
956
- /**
957
- * The final segments of the code path which are either `return` or `throw`.
958
- * This is a union of the segments in `returnedForkContext` and `thrownForkContext`.
959
- * @type {Array<CodePathSegment>}
960
- */
961
- this.finalSegments = [];
962
-
963
- /**
964
- * The final segments of the code path which are `return`. These
965
- * segments are also contained in `finalSegments`.
966
- * @type {Array<CodePathSegment>}
967
- */
968
- this.returnedForkContext = [];
969
-
970
- /**
971
- * The final segments of the code path which are `throw`. These
972
- * segments are also contained in `finalSegments`.
973
- * @type {Array<CodePathSegment>}
974
- */
975
- this.thrownForkContext = [];
976
-
977
- /*
978
- * We add an `add` method so that these look more like fork contexts and
979
- * can be used interchangeably when a fork context is needed to add more
980
- * segments to a path.
981
- *
982
- * Ultimately, we want anything added to `returned` or `thrown` to also
983
- * be added to `final`. We only add reachable and used segments to these
984
- * arrays.
985
- */
986
- const final = this.finalSegments;
987
- const returned = this.returnedForkContext;
988
- const thrown = this.thrownForkContext;
989
-
990
- returned.add = addToReturnedOrThrown.bind(null, returned, thrown, final);
991
- thrown.add = addToReturnedOrThrown.bind(null, thrown, returned, final);
992
- }
993
-
994
- /**
995
- * A passthrough property exposing the current pointer as part of the API.
996
- * @type {CodePathSegment[]}
997
- */
998
- get headSegments() {
999
- return this.forkContext.head;
1000
- }
1001
-
1002
- /**
1003
- * The parent forking context.
1004
- * This is used for the root of new forks.
1005
- * @type {ForkContext}
1006
- */
1007
- get parentForkContext() {
1008
- const current = this.forkContext;
1009
-
1010
- return current && current.upper;
1011
- }
1012
-
1013
- /**
1014
- * Creates and stacks new forking context.
1015
- * @param {boolean} forkLeavingPath A flag which shows being in a
1016
- * "finally" block.
1017
- * @returns {ForkContext} The created context.
1018
- */
1019
- pushForkContext(forkLeavingPath) {
1020
- this.forkContext = ForkContext.newEmpty(
1021
- this.forkContext,
1022
- forkLeavingPath
1023
- );
1024
-
1025
- return this.forkContext;
1026
- }
1027
-
1028
- /**
1029
- * Pops and merges the last forking context.
1030
- * @returns {ForkContext} The last context.
1031
- */
1032
- popForkContext() {
1033
- const lastContext = this.forkContext;
1034
-
1035
- this.forkContext = lastContext.upper;
1036
- this.forkContext.replaceHead(lastContext.makeNext(0, -1));
1037
-
1038
- return lastContext;
1039
- }
1040
-
1041
- /**
1042
- * Creates a new path.
1043
- * @returns {void}
1044
- */
1045
- forkPath() {
1046
- this.forkContext.add(this.parentForkContext.makeNext(-1, -1));
1047
- }
1048
-
1049
- /**
1050
- * Creates a bypass path.
1051
- * This is used for such as IfStatement which does not have "else" chunk.
1052
- * @returns {void}
1053
- */
1054
- forkBypassPath() {
1055
- this.forkContext.add(this.parentForkContext.head);
1056
- }
1057
-
1058
- //--------------------------------------------------------------------------
1059
- // ConditionalExpression, LogicalExpression, IfStatement
1060
- //--------------------------------------------------------------------------
1061
-
1062
- /**
1063
- * Creates a context for ConditionalExpression, LogicalExpression, AssignmentExpression (logical assignments only),
1064
- * IfStatement, WhileStatement, DoWhileStatement, or ForStatement.
1065
- *
1066
- * LogicalExpressions have cases that it goes different paths between the
1067
- * `true` case and the `false` case.
1068
- *
1069
- * For Example:
1070
- *
1071
- * if (a || b) {
1072
- * foo();
1073
- * } else {
1074
- * bar();
1075
- * }
1076
- *
1077
- * In this case, `b` is evaluated always in the code path of the `else`
1078
- * block, but it's not so in the code path of the `if` block.
1079
- * So there are 3 paths.
1080
- *
1081
- * a -> foo();
1082
- * a -> b -> foo();
1083
- * a -> b -> bar();
1084
- * @param {string} kind A kind string.
1085
- * If the new context is LogicalExpression's or AssignmentExpression's, this is `"&&"` or `"||"` or `"??"`.
1086
- * If it's IfStatement's or ConditionalExpression's, this is `"test"`.
1087
- * Otherwise, this is `"loop"`.
1088
- * @param {boolean} isForkingAsResult Indicates if the result of the choice
1089
- * creates a fork.
1090
- * @returns {void}
1091
- */
1092
- pushChoiceContext(kind, isForkingAsResult) {
1093
- this.choiceContext = new ChoiceContext(this.choiceContext, kind, isForkingAsResult, this.forkContext);
1094
- }
1095
-
1096
- /**
1097
- * Pops the last choice context and finalizes it.
1098
- * This is called upon leaving a node that represents a choice.
1099
- * @throws {Error} (Unreachable.)
1100
- * @returns {ChoiceContext} The popped context.
1101
- */
1102
- popChoiceContext() {
1103
- const poppedChoiceContext = this.choiceContext;
1104
- const forkContext = this.forkContext;
1105
- const head = forkContext.head;
1106
-
1107
- this.choiceContext = poppedChoiceContext.upper;
1108
-
1109
- switch (poppedChoiceContext.kind) {
1110
- case "&&":
1111
- case "||":
1112
- case "??":
1113
-
1114
- /*
1115
- * The `head` are the path of the right-hand operand.
1116
- * If we haven't previously added segments from child contexts,
1117
- * then we add these segments to all possible forks.
1118
- */
1119
- if (!poppedChoiceContext.processed) {
1120
- poppedChoiceContext.trueForkContext.add(head);
1121
- poppedChoiceContext.falseForkContext.add(head);
1122
- poppedChoiceContext.nullishForkContext.add(head);
1123
- }
1124
-
1125
- /*
1126
- * If this context is the left (test) expression for another choice
1127
- * context, such as `a || b` in the expression `a || b || c`,
1128
- * then we take the segments for this context and move them up
1129
- * to the parent context.
1130
- */
1131
- if (poppedChoiceContext.isForkingAsResult) {
1132
- const parentContext = this.choiceContext;
1133
-
1134
- parentContext.trueForkContext.addAll(poppedChoiceContext.trueForkContext);
1135
- parentContext.falseForkContext.addAll(poppedChoiceContext.falseForkContext);
1136
- parentContext.nullishForkContext.addAll(poppedChoiceContext.nullishForkContext);
1137
- parentContext.processed = true;
1138
-
1139
- // Exit early so we don't collapse all paths into one.
1140
- return poppedChoiceContext;
1141
- }
1142
-
1143
- break;
1144
-
1145
- case "test":
1146
- if (!poppedChoiceContext.processed) {
1147
-
1148
- /*
1149
- * The head segments are the path of the `if` block here.
1150
- * Updates the `true` path with the end of the `if` block.
1151
- */
1152
- poppedChoiceContext.trueForkContext.clear();
1153
- poppedChoiceContext.trueForkContext.add(head);
1154
- } else {
1155
-
1156
- /*
1157
- * The head segments are the path of the `else` block here.
1158
- * Updates the `false` path with the end of the `else`
1159
- * block.
1160
- */
1161
- poppedChoiceContext.falseForkContext.clear();
1162
- poppedChoiceContext.falseForkContext.add(head);
1163
- }
1164
-
1165
- break;
1166
-
1167
- case "loop":
1168
-
1169
- /*
1170
- * Loops are addressed in `popLoopContext()` so just return
1171
- * the context without modification.
1172
- */
1173
- return poppedChoiceContext;
1174
-
1175
- /* c8 ignore next */
1176
- default:
1177
- throw new Error("unreachable");
1178
- }
1179
-
1180
- /*
1181
- * Merge the true path with the false path to create a single path.
1182
- */
1183
- const combinedForkContext = poppedChoiceContext.trueForkContext;
1184
-
1185
- combinedForkContext.addAll(poppedChoiceContext.falseForkContext);
1186
- forkContext.replaceHead(combinedForkContext.makeNext(0, -1));
1187
-
1188
- return poppedChoiceContext;
1189
- }
1190
-
1191
- /**
1192
- * Creates a code path segment to represent right-hand operand of a logical
1193
- * expression.
1194
- * This is called in the preprocessing phase when entering a node.
1195
- * @throws {Error} (Unreachable.)
1196
- * @returns {void}
1197
- */
1198
- makeLogicalRight() {
1199
- const currentChoiceContext = this.choiceContext;
1200
- const forkContext = this.forkContext;
1201
-
1202
- if (currentChoiceContext.processed) {
1203
-
1204
- /*
1205
- * This context was already assigned segments from a child
1206
- * choice context. In this case, we are concerned only about
1207
- * the path that does not short-circuit and so ends up on the
1208
- * right-hand operand of the logical expression.
1209
- */
1210
- let prevForkContext;
1211
-
1212
- switch (currentChoiceContext.kind) {
1213
- case "&&": // if true then go to the right-hand side.
1214
- prevForkContext = currentChoiceContext.trueForkContext;
1215
- break;
1216
- case "||": // if false then go to the right-hand side.
1217
- prevForkContext = currentChoiceContext.falseForkContext;
1218
- break;
1219
- case "??": // Both true/false can short-circuit, so needs the third path to go to the right-hand side. That's nullishForkContext.
1220
- prevForkContext = currentChoiceContext.nullishForkContext;
1221
- break;
1222
- default:
1223
- throw new Error("unreachable");
1224
- }
1225
-
1226
- /*
1227
- * Create the segment for the right-hand operand of the logical expression
1228
- * and adjust the fork context pointer to point there. The right-hand segment
1229
- * is added at the end of all segments in `prevForkContext`.
1230
- */
1231
- forkContext.replaceHead(prevForkContext.makeNext(0, -1));
1232
-
1233
- /*
1234
- * We no longer need this list of segments.
1235
- *
1236
- * Reset `processed` because we've removed the segments from the child
1237
- * choice context. This allows `popChoiceContext()` to continue adding
1238
- * segments later.
1239
- */
1240
- prevForkContext.clear();
1241
- currentChoiceContext.processed = false;
1242
-
1243
- } else {
1244
-
1245
- /*
1246
- * This choice context was not assigned segments from a child
1247
- * choice context, which means that it's a terminal logical
1248
- * expression.
1249
- *
1250
- * `head` is the segments for the left-hand operand of the
1251
- * logical expression.
1252
- *
1253
- * Each of the fork contexts below are empty at this point. We choose
1254
- * the path(s) that will short-circuit and add the segment for the
1255
- * left-hand operand to it. Ultimately, this will be the only segment
1256
- * in that path due to the short-circuting, so we are just seeding
1257
- * these paths to start.
1258
- */
1259
- switch (currentChoiceContext.kind) {
1260
- case "&&":
1261
-
1262
- /*
1263
- * In most contexts, when a && expression evaluates to false,
1264
- * it short circuits, so we need to account for that by setting
1265
- * the `falseForkContext` to the left operand.
1266
- *
1267
- * When a && expression is the left-hand operand for a ??
1268
- * expression, such as `(a && b) ?? c`, a nullish value will
1269
- * also short-circuit in a different way than a false value,
1270
- * so we also set the `nullishForkContext` to the left operand.
1271
- * This path is only used with a ?? expression and is thrown
1272
- * away for any other type of logical expression, so it's safe
1273
- * to always add.
1274
- */
1275
- currentChoiceContext.falseForkContext.add(forkContext.head);
1276
- currentChoiceContext.nullishForkContext.add(forkContext.head);
1277
- break;
1278
- case "||": // the true path can short-circuit.
1279
- currentChoiceContext.trueForkContext.add(forkContext.head);
1280
- break;
1281
- case "??": // both can short-circuit.
1282
- currentChoiceContext.trueForkContext.add(forkContext.head);
1283
- currentChoiceContext.falseForkContext.add(forkContext.head);
1284
- break;
1285
- default:
1286
- throw new Error("unreachable");
1287
- }
1288
-
1289
- /*
1290
- * Create the segment for the right-hand operand of the logical expression
1291
- * and adjust the fork context pointer to point there.
1292
- */
1293
- forkContext.replaceHead(forkContext.makeNext(-1, -1));
1294
- }
1295
- }
1296
-
1297
- /**
1298
- * Makes a code path segment of the `if` block.
1299
- * @returns {void}
1300
- */
1301
- makeIfConsequent() {
1302
- const context = this.choiceContext;
1303
- const forkContext = this.forkContext;
1304
-
1305
- /*
1306
- * If any result were not transferred from child contexts,
1307
- * this sets the head segments to both cases.
1308
- * The head segments are the path of the test expression.
1309
- */
1310
- if (!context.processed) {
1311
- context.trueForkContext.add(forkContext.head);
1312
- context.falseForkContext.add(forkContext.head);
1313
- context.nullishForkContext.add(forkContext.head);
1314
- }
1315
-
1316
- context.processed = false;
1317
-
1318
- // Creates new path from the `true` case.
1319
- forkContext.replaceHead(
1320
- context.trueForkContext.makeNext(0, -1)
1321
- );
1322
- }
1323
-
1324
- /**
1325
- * Makes a code path segment of the `else` block.
1326
- * @returns {void}
1327
- */
1328
- makeIfAlternate() {
1329
- const context = this.choiceContext;
1330
- const forkContext = this.forkContext;
1331
-
1332
- /*
1333
- * The head segments are the path of the `if` block.
1334
- * Updates the `true` path with the end of the `if` block.
1335
- */
1336
- context.trueForkContext.clear();
1337
- context.trueForkContext.add(forkContext.head);
1338
- context.processed = true;
1339
-
1340
- // Creates new path from the `false` case.
1341
- forkContext.replaceHead(
1342
- context.falseForkContext.makeNext(0, -1)
1343
- );
1344
- }
1345
-
1346
- //--------------------------------------------------------------------------
1347
- // ChainExpression
1348
- //--------------------------------------------------------------------------
1349
-
1350
- /**
1351
- * Pushes a new `ChainExpression` context to the stack. This method is
1352
- * called when entering a `ChainExpression` node. A chain context is used to
1353
- * count forking in the optional chain then merge them on the exiting from the
1354
- * `ChainExpression` node.
1355
- * @returns {void}
1356
- */
1357
- pushChainContext() {
1358
- this.chainContext = new ChainContext(this.chainContext);
1359
- }
1360
-
1361
- /**
1362
- * Pop a `ChainExpression` context from the stack. This method is called on
1363
- * exiting from each `ChainExpression` node. This merges all forks of the
1364
- * last optional chaining.
1365
- * @returns {void}
1366
- */
1367
- popChainContext() {
1368
- const context = this.chainContext;
1369
-
1370
- this.chainContext = context.upper;
1371
-
1372
- // pop all choice contexts of this.
1373
- for (let i = context.choiceContextCount; i > 0; --i) {
1374
- this.popChoiceContext();
1375
- }
1376
- }
1377
-
1378
- /**
1379
- * Create a choice context for optional access.
1380
- * This method is called on entering to each `(Call|Member)Expression[optional=true]` node.
1381
- * This creates a choice context as similar to `LogicalExpression[operator="??"]` node.
1382
- * @returns {void}
1383
- */
1384
- makeOptionalNode() {
1385
- if (this.chainContext) {
1386
- this.chainContext.choiceContextCount += 1;
1387
- this.pushChoiceContext("??", false);
1388
- }
1389
- }
1390
-
1391
- /**
1392
- * Create a fork.
1393
- * This method is called on entering to the `arguments|property` property of each `(Call|Member)Expression` node.
1394
- * @returns {void}
1395
- */
1396
- makeOptionalRight() {
1397
- if (this.chainContext) {
1398
- this.makeLogicalRight();
1399
- }
1400
- }
1401
-
1402
- //--------------------------------------------------------------------------
1403
- // SwitchStatement
1404
- //--------------------------------------------------------------------------
1405
-
1406
- /**
1407
- * Creates a context object of SwitchStatement and stacks it.
1408
- * @param {boolean} hasCase `true` if the switch statement has one or more
1409
- * case parts.
1410
- * @param {string|null} label The label text.
1411
- * @returns {void}
1412
- */
1413
- pushSwitchContext(hasCase, label) {
1414
- this.switchContext = new SwitchContext(this.switchContext, hasCase);
1415
- this.pushBreakContext(true, label);
1416
- }
1417
-
1418
- /**
1419
- * Pops the last context of SwitchStatement and finalizes it.
1420
- *
1421
- * - Disposes all forking stack for `case` and `default`.
1422
- * - Creates the next code path segment from `context.brokenForkContext`.
1423
- * - If the last `SwitchCase` node is not a `default` part, creates a path
1424
- * to the `default` body.
1425
- * @returns {void}
1426
- */
1427
- popSwitchContext() {
1428
- const context = this.switchContext;
1429
-
1430
- this.switchContext = context.upper;
1431
-
1432
- const forkContext = this.forkContext;
1433
- const brokenForkContext = this.popBreakContext().brokenForkContext;
1434
-
1435
- if (context.forkCount === 0) {
1436
-
1437
- /*
1438
- * When there is only one `default` chunk and there is one or more
1439
- * `break` statements, even if forks are nothing, it needs to merge
1440
- * those.
1441
- */
1442
- if (!brokenForkContext.empty) {
1443
- brokenForkContext.add(forkContext.makeNext(-1, -1));
1444
- forkContext.replaceHead(brokenForkContext.makeNext(0, -1));
1445
- }
1446
-
1447
- return;
1448
- }
1449
-
1450
- const lastSegments = forkContext.head;
1451
-
1452
- this.forkBypassPath();
1453
- const lastCaseSegments = forkContext.head;
1454
-
1455
- /*
1456
- * `brokenForkContext` is used to make the next segment.
1457
- * It must add the last segment into `brokenForkContext`.
1458
- */
1459
- brokenForkContext.add(lastSegments);
1460
-
1461
- /*
1462
- * Any value that doesn't match a `case` test should flow to the default
1463
- * case. That happens normally when the default case is last in the `switch`,
1464
- * but if it's not, we need to rewire some of the paths to be correct.
1465
- */
1466
- if (!context.lastIsDefault) {
1467
- if (context.defaultBodySegments) {
1468
-
1469
- /*
1470
- * There is a non-empty default case, so remove the path from the `default`
1471
- * label to its body for an accurate representation.
1472
- */
1473
- disconnectSegments(context.defaultSegments, context.defaultBodySegments);
1474
-
1475
- /*
1476
- * Connect the path from the last non-default case to the body of the
1477
- * default case.
1478
- */
1479
- makeLooped(this, lastCaseSegments, context.defaultBodySegments);
1480
-
1481
- } else {
1482
-
1483
- /*
1484
- * There is no default case, so we treat this as if the last case
1485
- * had a `break` in it.
1486
- */
1487
- brokenForkContext.add(lastCaseSegments);
1488
- }
1489
- }
1490
-
1491
- // Traverse up to the original fork context for the `switch` statement
1492
- for (let i = 0; i < context.forkCount; ++i) {
1493
- this.forkContext = this.forkContext.upper;
1494
- }
1495
-
1496
- /*
1497
- * Creates a path from all `brokenForkContext` paths.
1498
- * This is a path after `switch` statement.
1499
- */
1500
- this.forkContext.replaceHead(brokenForkContext.makeNext(0, -1));
1501
- }
1502
-
1503
- /**
1504
- * Makes a code path segment for a `SwitchCase` node.
1505
- * @param {boolean} isCaseBodyEmpty `true` if the body is empty.
1506
- * @param {boolean} isDefaultCase `true` if the body is the default case.
1507
- * @returns {void}
1508
- */
1509
- makeSwitchCaseBody(isCaseBodyEmpty, isDefaultCase) {
1510
- const context = this.switchContext;
1511
-
1512
- if (!context.hasCase) {
1513
- return;
1514
- }
1515
-
1516
- /*
1517
- * Merge forks.
1518
- * The parent fork context has two segments.
1519
- * Those are from the current `case` and the body of the previous case.
1520
- */
1521
- const parentForkContext = this.forkContext;
1522
- const forkContext = this.pushForkContext();
1523
-
1524
- forkContext.add(parentForkContext.makeNext(0, -1));
1525
-
1526
- /*
1527
- * Add information about the default case.
1528
- *
1529
- * The purpose of this is to identify the starting segments for the
1530
- * default case to make sure there is a path there.
1531
- */
1532
- if (isDefaultCase) {
1533
-
1534
- /*
1535
- * This is the default case in the `switch`.
1536
- *
1537
- * We first save the current pointer as `defaultSegments` to point
1538
- * to the `default` keyword.
1539
- */
1540
- context.defaultSegments = parentForkContext.head;
1541
-
1542
- /*
1543
- * If the body of the case is empty then we just set
1544
- * `foundEmptyDefault` to true; otherwise, we save a reference
1545
- * to the current pointer as `defaultBodySegments`.
1546
- */
1547
- if (isCaseBodyEmpty) {
1548
- context.foundEmptyDefault = true;
1549
- } else {
1550
- context.defaultBodySegments = forkContext.head;
1551
- }
1552
-
1553
- } else {
1554
-
1555
- /*
1556
- * This is not the default case in the `switch`.
1557
- *
1558
- * If it's not empty and there is already an empty default case found,
1559
- * that means the default case actually comes before this case,
1560
- * and that it will fall through to this case. So, we can now
1561
- * ignore the previous default case (reset `foundEmptyDefault` to false)
1562
- * and set `defaultBodySegments` to the current segments because this is
1563
- * effectively the new default case.
1564
- */
1565
- if (!isCaseBodyEmpty && context.foundEmptyDefault) {
1566
- context.foundEmptyDefault = false;
1567
- context.defaultBodySegments = forkContext.head;
1568
- }
1569
- }
1570
-
1571
- // keep track if the default case ends up last
1572
- context.lastIsDefault = isDefaultCase;
1573
- context.forkCount += 1;
1574
- }
1575
-
1576
- //--------------------------------------------------------------------------
1577
- // TryStatement
1578
- //--------------------------------------------------------------------------
1579
-
1580
- /**
1581
- * Creates a context object of TryStatement and stacks it.
1582
- * @param {boolean} hasFinalizer `true` if the try statement has a
1583
- * `finally` block.
1584
- * @returns {void}
1585
- */
1586
- pushTryContext(hasFinalizer) {
1587
- this.tryContext = new TryContext(this.tryContext, hasFinalizer, this.forkContext);
1588
- }
1589
-
1590
- /**
1591
- * Pops the last context of TryStatement and finalizes it.
1592
- * @returns {void}
1593
- */
1594
- popTryContext() {
1595
- const context = this.tryContext;
1596
-
1597
- this.tryContext = context.upper;
1598
-
1599
- /*
1600
- * If we're inside the `catch` block, that means there is no `finally`,
1601
- * so we can process the `try` and `catch` blocks the simple way and
1602
- * merge their two paths.
1603
- */
1604
- if (context.position === "catch") {
1605
- this.popForkContext();
1606
- return;
1607
- }
1608
-
1609
- /*
1610
- * The following process is executed only when there is a `finally`
1611
- * block.
1612
- */
1613
-
1614
- const originalReturnedForkContext = context.returnedForkContext;
1615
- const originalThrownForkContext = context.thrownForkContext;
1616
-
1617
- // no `return` or `throw` in `try` or `catch` so there's nothing left to do
1618
- if (originalReturnedForkContext.empty && originalThrownForkContext.empty) {
1619
- return;
1620
- }
1621
-
1622
- /*
1623
- * The following process is executed only when there is a `finally`
1624
- * block and there was a `return` or `throw` in the `try` or `catch`
1625
- * blocks.
1626
- */
1627
-
1628
- // Separate head to normal paths and leaving paths.
1629
- const headSegments = this.forkContext.head;
1630
-
1631
- this.forkContext = this.forkContext.upper;
1632
- const normalSegments = headSegments.slice(0, headSegments.length / 2 | 0);
1633
- const leavingSegments = headSegments.slice(headSegments.length / 2 | 0);
1634
-
1635
- // Forwards the leaving path to upper contexts.
1636
- if (!originalReturnedForkContext.empty) {
1637
- getReturnContext(this).returnedForkContext.add(leavingSegments);
1638
- }
1639
- if (!originalThrownForkContext.empty) {
1640
- getThrowContext(this).thrownForkContext.add(leavingSegments);
1641
- }
1642
-
1643
- // Sets the normal path as the next.
1644
- this.forkContext.replaceHead(normalSegments);
1645
-
1646
- /*
1647
- * If both paths of the `try` block and the `catch` block are
1648
- * unreachable, the next path becomes unreachable as well.
1649
- */
1650
- if (!context.lastOfTryIsReachable && !context.lastOfCatchIsReachable) {
1651
- this.forkContext.makeUnreachable();
1652
- }
1653
- }
1654
-
1655
- /**
1656
- * Makes a code path segment for a `catch` block.
1657
- * @returns {void}
1658
- */
1659
- makeCatchBlock() {
1660
- const context = this.tryContext;
1661
- const forkContext = this.forkContext;
1662
- const originalThrownForkContext = context.thrownForkContext;
1663
-
1664
- /*
1665
- * We are now in a catch block so we need to update the context
1666
- * with that information. This includes creating a new fork
1667
- * context in case we encounter any `throw` statements here.
1668
- */
1669
- context.position = "catch";
1670
- context.thrownForkContext = ForkContext.newEmpty(forkContext);
1671
- context.lastOfTryIsReachable = forkContext.reachable;
1672
-
1673
- // Merge the thrown paths from the `try` and `catch` blocks
1674
- originalThrownForkContext.add(forkContext.head);
1675
- const thrownSegments = originalThrownForkContext.makeNext(0, -1);
1676
-
1677
- // Fork to a bypass and the merged thrown path.
1678
- this.pushForkContext();
1679
- this.forkBypassPath();
1680
- this.forkContext.add(thrownSegments);
1681
- }
1682
-
1683
- /**
1684
- * Makes a code path segment for a `finally` block.
1685
- *
1686
- * In the `finally` block, parallel paths are created. The parallel paths
1687
- * are used as leaving-paths. The leaving-paths are paths from `return`
1688
- * statements and `throw` statements in a `try` block or a `catch` block.
1689
- * @returns {void}
1690
- */
1691
- makeFinallyBlock() {
1692
- const context = this.tryContext;
1693
- let forkContext = this.forkContext;
1694
- const originalReturnedForkContext = context.returnedForkContext;
1695
- const originalThrownForContext = context.thrownForkContext;
1696
- const headOfLeavingSegments = forkContext.head;
1697
-
1698
- // Update state.
1699
- if (context.position === "catch") {
1700
-
1701
- // Merges two paths from the `try` block and `catch` block.
1702
- this.popForkContext();
1703
- forkContext = this.forkContext;
1704
-
1705
- context.lastOfCatchIsReachable = forkContext.reachable;
1706
- } else {
1707
- context.lastOfTryIsReachable = forkContext.reachable;
1708
- }
1709
-
1710
-
1711
- context.position = "finally";
1712
-
1713
- /*
1714
- * If there was no `return` or `throw` in either the `try` or `catch`
1715
- * blocks, then there's no further code paths to create for `finally`.
1716
- */
1717
- if (originalReturnedForkContext.empty && originalThrownForContext.empty) {
1718
-
1719
- // This path does not leave.
1720
- return;
1721
- }
1722
-
1723
- /*
1724
- * Create a parallel segment from merging returned and thrown.
1725
- * This segment will leave at the end of this `finally` block.
1726
- */
1727
- const segments = forkContext.makeNext(-1, -1);
1728
-
1729
- for (let i = 0; i < forkContext.count; ++i) {
1730
- const prevSegsOfLeavingSegment = [headOfLeavingSegments[i]];
1731
-
1732
- for (let j = 0; j < originalReturnedForkContext.segmentsList.length; ++j) {
1733
- prevSegsOfLeavingSegment.push(originalReturnedForkContext.segmentsList[j][i]);
1734
- }
1735
- for (let j = 0; j < originalThrownForContext.segmentsList.length; ++j) {
1736
- prevSegsOfLeavingSegment.push(originalThrownForContext.segmentsList[j][i]);
1737
- }
1738
-
1739
- segments.push(
1740
- CodePathSegment.newNext(
1741
- this.idGenerator.next(),
1742
- prevSegsOfLeavingSegment
1743
- )
1744
- );
1745
- }
1746
-
1747
- this.pushForkContext(true);
1748
- this.forkContext.add(segments);
1749
- }
1750
-
1751
- /**
1752
- * Makes a code path segment from the first throwable node to the `catch`
1753
- * block or the `finally` block.
1754
- * @returns {void}
1755
- */
1756
- makeFirstThrowablePathInTryBlock() {
1757
- const forkContext = this.forkContext;
1758
-
1759
- if (!forkContext.reachable) {
1760
- return;
1761
- }
1762
-
1763
- const context = getThrowContext(this);
1764
-
1765
- if (context === this ||
1766
- context.position !== "try" ||
1767
- !context.thrownForkContext.empty
1768
- ) {
1769
- return;
1770
- }
1771
-
1772
- context.thrownForkContext.add(forkContext.head);
1773
- forkContext.replaceHead(forkContext.makeNext(-1, -1));
1774
- }
1775
-
1776
- //--------------------------------------------------------------------------
1777
- // Loop Statements
1778
- //--------------------------------------------------------------------------
1779
-
1780
- /**
1781
- * Creates a context object of a loop statement and stacks it.
1782
- * @param {string} type The type of the node which was triggered. One of
1783
- * `WhileStatement`, `DoWhileStatement`, `ForStatement`, `ForInStatement`,
1784
- * and `ForStatement`.
1785
- * @param {string|null} label A label of the node which was triggered.
1786
- * @throws {Error} (Unreachable - unknown type.)
1787
- * @returns {void}
1788
- */
1789
- pushLoopContext(type, label) {
1790
- const forkContext = this.forkContext;
1791
-
1792
- // All loops need a path to account for `break` statements
1793
- const breakContext = this.pushBreakContext(true, label);
1794
-
1795
- switch (type) {
1796
- case "WhileStatement":
1797
- this.pushChoiceContext("loop", false);
1798
- this.loopContext = new WhileLoopContext(this.loopContext, label, breakContext);
1799
- break;
1800
-
1801
- case "DoWhileStatement":
1802
- this.pushChoiceContext("loop", false);
1803
- this.loopContext = new DoWhileLoopContext(this.loopContext, label, breakContext, forkContext);
1804
- break;
1805
-
1806
- case "ForStatement":
1807
- this.pushChoiceContext("loop", false);
1808
- this.loopContext = new ForLoopContext(this.loopContext, label, breakContext);
1809
- break;
1810
-
1811
- case "ForInStatement":
1812
- this.loopContext = new ForInLoopContext(this.loopContext, label, breakContext);
1813
- break;
1814
-
1815
- case "ForOfStatement":
1816
- this.loopContext = new ForOfLoopContext(this.loopContext, label, breakContext);
1817
- break;
1818
-
1819
- /* c8 ignore next */
1820
- default:
1821
- throw new Error(`unknown type: "${type}"`);
1822
- }
1823
- }
1824
-
1825
- /**
1826
- * Pops the last context of a loop statement and finalizes it.
1827
- * @throws {Error} (Unreachable - unknown type.)
1828
- * @returns {void}
1829
- */
1830
- popLoopContext() {
1831
- const context = this.loopContext;
1832
-
1833
- this.loopContext = context.upper;
1834
-
1835
- const forkContext = this.forkContext;
1836
- const brokenForkContext = this.popBreakContext().brokenForkContext;
1837
-
1838
- // Creates a looped path.
1839
- switch (context.type) {
1840
- case "WhileStatement":
1841
- case "ForStatement":
1842
- this.popChoiceContext();
1843
-
1844
- /*
1845
- * Creates the path from the end of the loop body up to the
1846
- * location where `continue` would jump to.
1847
- */
1848
- makeLooped(
1849
- this,
1850
- forkContext.head,
1851
- context.continueDestSegments
1852
- );
1853
- break;
1854
-
1855
- case "DoWhileStatement": {
1856
- const choiceContext = this.popChoiceContext();
1857
-
1858
- if (!choiceContext.processed) {
1859
- choiceContext.trueForkContext.add(forkContext.head);
1860
- choiceContext.falseForkContext.add(forkContext.head);
1861
- }
1862
-
1863
- /*
1864
- * If this isn't a hardcoded `true` condition, then `break`
1865
- * should continue down the path as if the condition evaluated
1866
- * to false.
1867
- */
1868
- if (context.test !== true) {
1869
- brokenForkContext.addAll(choiceContext.falseForkContext);
1870
- }
1871
-
1872
- /*
1873
- * When the condition is true, the loop continues back to the top,
1874
- * so create a path from each possible true condition back to the
1875
- * top of the loop.
1876
- */
1877
- const segmentsList = choiceContext.trueForkContext.segmentsList;
1878
-
1879
- for (let i = 0; i < segmentsList.length; ++i) {
1880
- makeLooped(
1881
- this,
1882
- segmentsList[i],
1883
- context.entrySegments
1884
- );
1885
- }
1886
- break;
1887
- }
1888
-
1889
- case "ForInStatement":
1890
- case "ForOfStatement":
1891
- brokenForkContext.add(forkContext.head);
1892
-
1893
- /*
1894
- * Creates the path from the end of the loop body up to the
1895
- * left expression (left of `in` or `of`) of the loop.
1896
- */
1897
- makeLooped(
1898
- this,
1899
- forkContext.head,
1900
- context.leftSegments
1901
- );
1902
- break;
1903
-
1904
- /* c8 ignore next */
1905
- default:
1906
- throw new Error("unreachable");
1907
- }
1908
-
1909
- /*
1910
- * If there wasn't a `break` statement in the loop, then we're at
1911
- * the end of the loop's path, so we make an unreachable segment
1912
- * to mark that.
1913
- *
1914
- * If there was a `break` statement, then we continue on into the
1915
- * `brokenForkContext`.
1916
- */
1917
- if (brokenForkContext.empty) {
1918
- forkContext.replaceHead(forkContext.makeUnreachable(-1, -1));
1919
- } else {
1920
- forkContext.replaceHead(brokenForkContext.makeNext(0, -1));
1921
- }
1922
- }
1923
-
1924
- /**
1925
- * Makes a code path segment for the test part of a WhileStatement.
1926
- * @param {boolean|undefined} test The test value (only when constant).
1927
- * @returns {void}
1928
- */
1929
- makeWhileTest(test) {
1930
- const context = this.loopContext;
1931
- const forkContext = this.forkContext;
1932
- const testSegments = forkContext.makeNext(0, -1);
1933
-
1934
- // Update state.
1935
- context.test = test;
1936
- context.continueDestSegments = testSegments;
1937
- forkContext.replaceHead(testSegments);
1938
- }
1939
-
1940
- /**
1941
- * Makes a code path segment for the body part of a WhileStatement.
1942
- * @returns {void}
1943
- */
1944
- makeWhileBody() {
1945
- const context = this.loopContext;
1946
- const choiceContext = this.choiceContext;
1947
- const forkContext = this.forkContext;
1948
-
1949
- if (!choiceContext.processed) {
1950
- choiceContext.trueForkContext.add(forkContext.head);
1951
- choiceContext.falseForkContext.add(forkContext.head);
1952
- }
1953
-
1954
- /*
1955
- * If this isn't a hardcoded `true` condition, then `break`
1956
- * should continue down the path as if the condition evaluated
1957
- * to false.
1958
- */
1959
- if (context.test !== true) {
1960
- context.brokenForkContext.addAll(choiceContext.falseForkContext);
1961
- }
1962
- forkContext.replaceHead(choiceContext.trueForkContext.makeNext(0, -1));
1963
- }
1964
-
1965
- /**
1966
- * Makes a code path segment for the body part of a DoWhileStatement.
1967
- * @returns {void}
1968
- */
1969
- makeDoWhileBody() {
1970
- const context = this.loopContext;
1971
- const forkContext = this.forkContext;
1972
- const bodySegments = forkContext.makeNext(-1, -1);
1973
-
1974
- // Update state.
1975
- context.entrySegments = bodySegments;
1976
- forkContext.replaceHead(bodySegments);
1977
- }
1978
-
1979
- /**
1980
- * Makes a code path segment for the test part of a DoWhileStatement.
1981
- * @param {boolean|undefined} test The test value (only when constant).
1982
- * @returns {void}
1983
- */
1984
- makeDoWhileTest(test) {
1985
- const context = this.loopContext;
1986
- const forkContext = this.forkContext;
1987
-
1988
- context.test = test;
1989
-
1990
- /*
1991
- * If there is a `continue` statement in the loop then `continueForkContext`
1992
- * won't be empty. We wire up the path from `continue` to the loop
1993
- * test condition and then continue the traversal in the root fork context.
1994
- */
1995
- if (!context.continueForkContext.empty) {
1996
- context.continueForkContext.add(forkContext.head);
1997
- const testSegments = context.continueForkContext.makeNext(0, -1);
1998
-
1999
- forkContext.replaceHead(testSegments);
2000
- }
2001
- }
2002
-
2003
- /**
2004
- * Makes a code path segment for the test part of a ForStatement.
2005
- * @param {boolean|undefined} test The test value (only when constant).
2006
- * @returns {void}
2007
- */
2008
- makeForTest(test) {
2009
- const context = this.loopContext;
2010
- const forkContext = this.forkContext;
2011
- const endOfInitSegments = forkContext.head;
2012
- const testSegments = forkContext.makeNext(-1, -1);
2013
-
2014
- /*
2015
- * Update the state.
2016
- *
2017
- * The `continueDestSegments` are set to `testSegments` because we
2018
- * don't yet know if there is an update expression in this loop. So,
2019
- * from what we already know at this point, a `continue` statement
2020
- * will jump back to the test expression.
2021
- */
2022
- context.test = test;
2023
- context.endOfInitSegments = endOfInitSegments;
2024
- context.continueDestSegments = context.testSegments = testSegments;
2025
- forkContext.replaceHead(testSegments);
2026
- }
2027
-
2028
- /**
2029
- * Makes a code path segment for the update part of a ForStatement.
2030
- * @returns {void}
2031
- */
2032
- makeForUpdate() {
2033
- const context = this.loopContext;
2034
- const choiceContext = this.choiceContext;
2035
- const forkContext = this.forkContext;
2036
-
2037
- // Make the next paths of the test.
2038
- if (context.testSegments) {
2039
- finalizeTestSegmentsOfFor(
2040
- context,
2041
- choiceContext,
2042
- forkContext.head
2043
- );
2044
- } else {
2045
- context.endOfInitSegments = forkContext.head;
2046
- }
2047
-
2048
- /*
2049
- * Update the state.
2050
- *
2051
- * The `continueDestSegments` are now set to `updateSegments` because we
2052
- * know there is an update expression in this loop. So, a `continue` statement
2053
- * in the loop will jump to the update expression first, and then to any
2054
- * test expression the loop might have.
2055
- */
2056
- const updateSegments = forkContext.makeDisconnected(-1, -1);
2057
-
2058
- context.continueDestSegments = context.updateSegments = updateSegments;
2059
- forkContext.replaceHead(updateSegments);
2060
- }
2061
-
2062
- /**
2063
- * Makes a code path segment for the body part of a ForStatement.
2064
- * @returns {void}
2065
- */
2066
- makeForBody() {
2067
- const context = this.loopContext;
2068
- const choiceContext = this.choiceContext;
2069
- const forkContext = this.forkContext;
2070
-
2071
- /*
2072
- * Determine what to do based on which part of the `for` loop are present.
2073
- * 1. If there is an update expression, then `updateSegments` is not null and
2074
- * we need to assign `endOfUpdateSegments`, and if there is a test
2075
- * expression, we then need to create the looped path to get back to
2076
- * the test condition.
2077
- * 2. If there is no update expression but there is a test expression,
2078
- * then we only need to update the test segment information.
2079
- * 3. If there is no update expression and no test expression, then we
2080
- * just save `endOfInitSegments`.
2081
- */
2082
- if (context.updateSegments) {
2083
- context.endOfUpdateSegments = forkContext.head;
2084
-
2085
- /*
2086
- * In a `for` loop that has both an update expression and a test
2087
- * condition, execution flows from the test expression into the
2088
- * loop body, to the update expression, and then back to the test
2089
- * expression to determine if the loop should continue.
2090
- *
2091
- * To account for that, we need to make a path from the end of the
2092
- * update expression to the start of the test expression. This is
2093
- * effectively what creates the loop in the code path.
2094
- */
2095
- if (context.testSegments) {
2096
- makeLooped(
2097
- this,
2098
- context.endOfUpdateSegments,
2099
- context.testSegments
2100
- );
2101
- }
2102
- } else if (context.testSegments) {
2103
- finalizeTestSegmentsOfFor(
2104
- context,
2105
- choiceContext,
2106
- forkContext.head
2107
- );
2108
- } else {
2109
- context.endOfInitSegments = forkContext.head;
2110
- }
2111
-
2112
- let bodySegments = context.endOfTestSegments;
2113
-
2114
- /*
2115
- * If there is a test condition, then there `endOfTestSegments` is also
2116
- * the start of the loop body. If there isn't a test condition then
2117
- * `bodySegments` will be null and we need to look elsewhere to find
2118
- * the start of the body.
2119
- *
2120
- * The body starts at the end of the init expression and ends at the end
2121
- * of the update expression, so we use those locations to determine the
2122
- * body segments.
2123
- */
2124
- if (!bodySegments) {
2125
-
2126
- const prevForkContext = ForkContext.newEmpty(forkContext);
2127
-
2128
- prevForkContext.add(context.endOfInitSegments);
2129
- if (context.endOfUpdateSegments) {
2130
- prevForkContext.add(context.endOfUpdateSegments);
2131
- }
2132
-
2133
- bodySegments = prevForkContext.makeNext(0, -1);
2134
- }
2135
-
2136
- /*
2137
- * If there was no test condition and no update expression, then
2138
- * `continueDestSegments` will be null. In that case, a
2139
- * `continue` should skip directly to the body of the loop.
2140
- * Otherwise, we want to keep the current `continueDestSegments`.
2141
- */
2142
- context.continueDestSegments = context.continueDestSegments || bodySegments;
2143
-
2144
- // move pointer to the body
2145
- forkContext.replaceHead(bodySegments);
2146
- }
2147
-
2148
- /**
2149
- * Makes a code path segment for the left part of a ForInStatement and a
2150
- * ForOfStatement.
2151
- * @returns {void}
2152
- */
2153
- makeForInOfLeft() {
2154
- const context = this.loopContext;
2155
- const forkContext = this.forkContext;
2156
- const leftSegments = forkContext.makeDisconnected(-1, -1);
2157
-
2158
- // Update state.
2159
- context.prevSegments = forkContext.head;
2160
- context.leftSegments = context.continueDestSegments = leftSegments;
2161
- forkContext.replaceHead(leftSegments);
2162
- }
2163
-
2164
- /**
2165
- * Makes a code path segment for the right part of a ForInStatement and a
2166
- * ForOfStatement.
2167
- * @returns {void}
2168
- */
2169
- makeForInOfRight() {
2170
- const context = this.loopContext;
2171
- const forkContext = this.forkContext;
2172
- const temp = ForkContext.newEmpty(forkContext);
2173
-
2174
- temp.add(context.prevSegments);
2175
- const rightSegments = temp.makeNext(-1, -1);
2176
-
2177
- // Update state.
2178
- context.endOfLeftSegments = forkContext.head;
2179
- forkContext.replaceHead(rightSegments);
2180
- }
2181
-
2182
- /**
2183
- * Makes a code path segment for the body part of a ForInStatement and a
2184
- * ForOfStatement.
2185
- * @returns {void}
2186
- */
2187
- makeForInOfBody() {
2188
- const context = this.loopContext;
2189
- const forkContext = this.forkContext;
2190
- const temp = ForkContext.newEmpty(forkContext);
2191
-
2192
- temp.add(context.endOfLeftSegments);
2193
- const bodySegments = temp.makeNext(-1, -1);
2194
-
2195
- // Make a path: `right` -> `left`.
2196
- makeLooped(this, forkContext.head, context.leftSegments);
2197
-
2198
- // Update state.
2199
- context.brokenForkContext.add(forkContext.head);
2200
- forkContext.replaceHead(bodySegments);
2201
- }
2202
-
2203
- //--------------------------------------------------------------------------
2204
- // Control Statements
2205
- //--------------------------------------------------------------------------
2206
-
2207
- /**
2208
- * Creates new context in which a `break` statement can be used. This occurs inside of a loop,
2209
- * labeled statement, or switch statement.
2210
- * @param {boolean} breakable Indicates if we are inside a statement where
2211
- * `break` without a label will exit the statement.
2212
- * @param {string|null} label The label associated with the statement.
2213
- * @returns {BreakContext} The new context.
2214
- */
2215
- pushBreakContext(breakable, label) {
2216
- this.breakContext = new BreakContext(this.breakContext, breakable, label, this.forkContext);
2217
- return this.breakContext;
2218
- }
2219
-
2220
- /**
2221
- * Removes the top item of the break context stack.
2222
- * @returns {Object} The removed context.
2223
- */
2224
- popBreakContext() {
2225
- const context = this.breakContext;
2226
- const forkContext = this.forkContext;
2227
-
2228
- this.breakContext = context.upper;
2229
-
2230
- // Process this context here for other than switches and loops.
2231
- if (!context.breakable) {
2232
- const brokenForkContext = context.brokenForkContext;
2233
-
2234
- if (!brokenForkContext.empty) {
2235
- brokenForkContext.add(forkContext.head);
2236
- forkContext.replaceHead(brokenForkContext.makeNext(0, -1));
2237
- }
2238
- }
2239
-
2240
- return context;
2241
- }
2242
-
2243
- /**
2244
- * Makes a path for a `break` statement.
2245
- *
2246
- * It registers the head segment to a context of `break`.
2247
- * It makes new unreachable segment, then it set the head with the segment.
2248
- * @param {string|null} label A label of the break statement.
2249
- * @returns {void}
2250
- */
2251
- makeBreak(label) {
2252
- const forkContext = this.forkContext;
2253
-
2254
- if (!forkContext.reachable) {
2255
- return;
2256
- }
2257
-
2258
- const context = getBreakContext(this, label);
2259
-
2260
-
2261
- if (context) {
2262
- context.brokenForkContext.add(forkContext.head);
2263
- }
2264
-
2265
- /* c8 ignore next */
2266
- forkContext.replaceHead(forkContext.makeUnreachable(-1, -1));
2267
- }
2268
-
2269
- /**
2270
- * Makes a path for a `continue` statement.
2271
- *
2272
- * It makes a looping path.
2273
- * It makes new unreachable segment, then it set the head with the segment.
2274
- * @param {string|null} label A label of the continue statement.
2275
- * @returns {void}
2276
- */
2277
- makeContinue(label) {
2278
- const forkContext = this.forkContext;
2279
-
2280
- if (!forkContext.reachable) {
2281
- return;
2282
- }
2283
-
2284
- const context = getContinueContext(this, label);
2285
-
2286
- if (context) {
2287
- if (context.continueDestSegments) {
2288
- makeLooped(this, forkContext.head, context.continueDestSegments);
2289
-
2290
- // If the context is a for-in/of loop, this affects a break also.
2291
- if (context.type === "ForInStatement" ||
2292
- context.type === "ForOfStatement"
2293
- ) {
2294
- context.brokenForkContext.add(forkContext.head);
2295
- }
2296
- } else {
2297
- context.continueForkContext.add(forkContext.head);
2298
- }
2299
- }
2300
- forkContext.replaceHead(forkContext.makeUnreachable(-1, -1));
2301
- }
2302
-
2303
- /**
2304
- * Makes a path for a `return` statement.
2305
- *
2306
- * It registers the head segment to a context of `return`.
2307
- * It makes new unreachable segment, then it set the head with the segment.
2308
- * @returns {void}
2309
- */
2310
- makeReturn() {
2311
- const forkContext = this.forkContext;
2312
-
2313
- if (forkContext.reachable) {
2314
- getReturnContext(this).returnedForkContext.add(forkContext.head);
2315
- forkContext.replaceHead(forkContext.makeUnreachable(-1, -1));
2316
- }
2317
- }
2318
-
2319
- /**
2320
- * Makes a path for a `throw` statement.
2321
- *
2322
- * It registers the head segment to a context of `throw`.
2323
- * It makes new unreachable segment, then it set the head with the segment.
2324
- * @returns {void}
2325
- */
2326
- makeThrow() {
2327
- const forkContext = this.forkContext;
2328
-
2329
- if (forkContext.reachable) {
2330
- getThrowContext(this).thrownForkContext.add(forkContext.head);
2331
- forkContext.replaceHead(forkContext.makeUnreachable(-1, -1));
2332
- }
2333
- }
2334
-
2335
- /**
2336
- * Makes the final path.
2337
- * @returns {void}
2338
- */
2339
- makeFinal() {
2340
- const segments = this.currentSegments;
2341
-
2342
- if (segments.length > 0 && segments[0].reachable) {
2343
- this.returnedForkContext.add(segments);
2344
- }
2345
- }
2346
- }
2347
-
2348
- module.exports = CodePathState;