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.
- package/README.md +4 -4
- package/package.json +1 -1
- package/template/web-app/react-rspack/.env +2 -0
- package/template/web-app/react-rspack/.env.development +2 -0
- package/template/web-app/react-rspack/.eslintrc +120 -0
- package/template/web-app/react-rspack/README.md +14 -0
- package/template/web-app/react-rspack/domain/router/router.tsx +28 -0
- package/template/web-app/react-rspack/env.d.ts +17 -0
- package/template/web-app/react-rspack/index.html +12 -0
- package/template/web-app/react-rspack/package.json +83 -0
- package/template/web-app/react-rspack/public/rsbuild-logo.svg +1 -0
- package/template/web-app/react-rspack/rsbuild.config.ts +78 -0
- package/template/web-app/react-rspack/shared/service/home.ts +8 -0
- package/template/web-app/react-rspack/shared/service/request.ts +5 -0
- package/template/web-app/react-rspack/tsconfig.node.json +14 -0
- package/template/web-app/react-vite/.editorconfig +14 -0
- package/template/web-app/react-vite/.eslintignore +4 -0
- package/template/web-app/react-vite/.gitignore +28 -0
- package/template/web-app/react-vite/.husky/commit-msg +4 -0
- package/template/web-app/react-vite/.husky/pre-commit +4 -0
- package/template/web-app/react-vite/.prettierignore +6 -0
- package/template/web-app/react-vite/.prettierrc +12 -0
- package/template/web-app/react-vite/.stylelintignore +4 -0
- package/template/web-app/react-vite/.stylelintrc +24 -0
- package/template/web-app/react-vite/.vscode/extensions.json +8 -0
- package/template/web-app/react-vite/.vscode/settings.json +18 -0
- package/template/web-app/react-vite/commitlint.config.cjs +1 -0
- package/template/web-app/react-vite/domain/app/app.model.ts +7 -0
- package/template/web-app/react-vite/domain/app/app.styled.ts +3 -0
- package/template/web-app/react-vite/domain/app/components/app-context.tsx +17 -0
- package/template/web-app/react-vite/domain/app/components/app.tsx +24 -0
- package/template/web-app/react-vite/domain/app/components/index.ts +1 -0
- package/template/web-app/react-vite/domain/app/index.ts +2 -0
- package/template/web-app/react-vite/domain/router/home/ids.ts +3 -0
- package/template/web-app/react-vite/domain/router/home/index.ts +2 -0
- package/template/web-app/react-vite/domain/router/home/routes.tsx +13 -0
- package/template/web-app/react-vite/domain/router/ids.ts +6 -0
- package/template/web-app/react-vite/domain/router/index.ts +3 -0
- package/template/web-app/react-vite/domain/router/router.types.ts +3 -0
- package/template/web-app/react-vite/main.tsx +4 -0
- package/template/web-app/react-vite/pages/home/home.styled.ts +7 -0
- package/template/web-app/react-vite/pages/home/home.tsx +10 -0
- package/template/web-app/react-vite/pages/home/index.ts +1 -0
- package/template/web-app/react-vite/pages/index.tsx +18 -0
- package/template/web-app/react-vite/pages/not-found.tsx +3 -0
- package/template/web-app/react-vite/postcss.config.cjs +7 -0
- package/template/web-app/react-vite/scripts/createChunks.ts +26 -0
- package/template/web-app/react-vite/scripts/index.ts +1 -0
- package/template/web-app/react-vite/shared/assets/react.svg +1 -0
- package/template/web-app/react-vite/shared/components/index.ts +0 -0
- package/template/web-app/react-vite/shared/constant/index.ts +0 -0
- package/template/web-app/react-vite/shared/hooks/defineRouter/defineRouter.types.ts +33 -0
- package/template/web-app/react-vite/shared/hooks/defineRouter/deineRouter.tsx +160 -0
- package/template/web-app/react-vite/shared/hooks/defineRouter/index.ts +2 -0
- package/template/web-app/react-vite/shared/hooks/index.ts +6 -0
- package/template/web-app/react-vite/shared/hooks/useInterval.ts +26 -0
- package/template/web-app/react-vite/shared/hooks/useLoadingAction.ts +27 -0
- package/template/web-app/react-vite/shared/hooks/useLowPriorityState.ts +26 -0
- package/template/web-app/react-vite/shared/hooks/useSyncState.ts +15 -0
- package/template/web-app/react-vite/shared/hooks/useVisible.ts +27 -0
- package/template/web-app/react-vite/shared/service/api.ts +1 -0
- package/template/web-app/react-vite/shared/service/index.ts +3 -0
- package/template/web-app/react-vite/shared/theme/index.ts +1 -0
- package/template/web-app/react-vite/shared/theme/theme.styled.ts +56 -0
- package/template/web-app/react-vite/shared/tools/componentInstance.tsx +80 -0
- package/template/web-app/react-vite/shared/tools/index.ts +1 -0
- package/template/web-app/react-vite/shared/types/index.ts +1 -0
- package/template/web-app/react-vite/shared/types/utils.ts +2 -0
- package/template/web-app/react-vite/tsconfig.json +44 -0
- package/template/web-app/react-webpack/webpack.config.mjs +4 -5
- package/template/lib/react/node_modules/.bin/acorn +0 -17
- package/template/lib/react/node_modules/.bin/acorn.CMD +0 -12
- package/template/lib/react/node_modules/.bin/acorn.ps1 +0 -41
- package/template/lib/react/node_modules/.bin/browserslist +0 -17
- package/template/lib/react/node_modules/.bin/browserslist.CMD +0 -12
- package/template/lib/react/node_modules/.bin/browserslist.ps1 +0 -41
- package/template/lib/react/node_modules/.bin/esbuild +0 -17
- package/template/lib/react/node_modules/.bin/esbuild.CMD +0 -12
- package/template/lib/react/node_modules/.bin/esbuild.ps1 +0 -41
- package/template/lib/react/node_modules/.bin/eslint +0 -17
- package/template/lib/react/node_modules/.bin/eslint.CMD +0 -12
- package/template/lib/react/node_modules/.bin/eslint.ps1 +0 -41
- package/template/lib/react/node_modules/.bin/prettier +0 -17
- package/template/lib/react/node_modules/.bin/prettier.CMD +0 -12
- package/template/lib/react/node_modules/.bin/prettier.ps1 +0 -41
- package/template/lib/react/node_modules/.bin/sb +0 -17
- package/template/lib/react/node_modules/.bin/sb.CMD +0 -12
- package/template/lib/react/node_modules/.bin/sb.ps1 +0 -41
- package/template/lib/react/node_modules/.bin/storybook +0 -17
- package/template/lib/react/node_modules/.bin/storybook.CMD +0 -12
- package/template/lib/react/node_modules/.bin/storybook.ps1 +0 -41
- package/template/lib/react/node_modules/.bin/stylelint +0 -17
- package/template/lib/react/node_modules/.bin/stylelint.CMD +0 -12
- package/template/lib/react/node_modules/.bin/stylelint.ps1 +0 -41
- package/template/lib/react/node_modules/.bin/tsc +0 -17
- package/template/lib/react/node_modules/.bin/tsc.CMD +0 -12
- package/template/lib/react/node_modules/.bin/tsc.ps1 +0 -41
- package/template/lib/react/node_modules/.bin/tsserver +0 -17
- package/template/lib/react/node_modules/.bin/tsserver.CMD +0 -12
- package/template/lib/react/node_modules/.bin/tsserver.ps1 +0 -41
- package/template/lib/react/node_modules/.bin/vite +0 -17
- package/template/lib/react/node_modules/.bin/vite.CMD +0 -12
- package/template/lib/react/node_modules/.bin/vite.ps1 +0 -41
- package/template/lib/react/node_modules/eslint/LICENSE +0 -19
- package/template/lib/react/node_modules/eslint/README.md +0 -304
- package/template/lib/react/node_modules/eslint/bin/eslint.js +0 -173
- package/template/lib/react/node_modules/eslint/conf/config-schema.js +0 -93
- package/template/lib/react/node_modules/eslint/conf/default-cli-options.js +0 -32
- package/template/lib/react/node_modules/eslint/conf/globals.js +0 -154
- package/template/lib/react/node_modules/eslint/conf/replacements.json +0 -22
- package/template/lib/react/node_modules/eslint/conf/rule-type-list.json +0 -28
- package/template/lib/react/node_modules/eslint/lib/api.js +0 -26
- package/template/lib/react/node_modules/eslint/lib/cli-engine/cli-engine.js +0 -1078
- package/template/lib/react/node_modules/eslint/lib/cli-engine/file-enumerator.js +0 -547
- package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/checkstyle.js +0 -60
- package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/compact.js +0 -60
- package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/formatters-meta.json +0 -46
- package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/html.js +0 -351
- package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/jslint-xml.js +0 -41
- package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/json-with-metadata.js +0 -16
- package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/json.js +0 -13
- package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/junit.js +0 -82
- package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/stylish.js +0 -101
- package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/tap.js +0 -95
- package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/unix.js +0 -58
- package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/visualstudio.js +0 -63
- package/template/lib/react/node_modules/eslint/lib/cli-engine/hash.js +0 -35
- package/template/lib/react/node_modules/eslint/lib/cli-engine/index.js +0 -7
- package/template/lib/react/node_modules/eslint/lib/cli-engine/lint-result-cache.js +0 -203
- package/template/lib/react/node_modules/eslint/lib/cli-engine/load-rules.js +0 -46
- package/template/lib/react/node_modules/eslint/lib/cli-engine/xml-escape.js +0 -34
- package/template/lib/react/node_modules/eslint/lib/cli.js +0 -471
- package/template/lib/react/node_modules/eslint/lib/config/default-config.js +0 -67
- package/template/lib/react/node_modules/eslint/lib/config/flat-config-array.js +0 -274
- package/template/lib/react/node_modules/eslint/lib/config/flat-config-helpers.js +0 -111
- package/template/lib/react/node_modules/eslint/lib/config/flat-config-schema.js +0 -583
- package/template/lib/react/node_modules/eslint/lib/config/rule-validator.js +0 -158
- package/template/lib/react/node_modules/eslint/lib/eslint/eslint-helpers.js +0 -902
- package/template/lib/react/node_modules/eslint/lib/eslint/eslint.js +0 -700
- package/template/lib/react/node_modules/eslint/lib/eslint/flat-eslint.js +0 -1142
- package/template/lib/react/node_modules/eslint/lib/eslint/index.js +0 -9
- package/template/lib/react/node_modules/eslint/lib/linter/apply-disable-directives.js +0 -465
- package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js +0 -852
- package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/code-path-segment.js +0 -263
- package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/code-path-state.js +0 -2348
- package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/code-path.js +0 -342
- package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/debug-helpers.js +0 -203
- package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/fork-context.js +0 -349
- package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/id-generator.js +0 -45
- package/template/lib/react/node_modules/eslint/lib/linter/config-comment-parser.js +0 -185
- package/template/lib/react/node_modules/eslint/lib/linter/index.js +0 -13
- package/template/lib/react/node_modules/eslint/lib/linter/interpolate.js +0 -28
- package/template/lib/react/node_modules/eslint/lib/linter/linter.js +0 -2119
- package/template/lib/react/node_modules/eslint/lib/linter/node-event-generator.js +0 -354
- package/template/lib/react/node_modules/eslint/lib/linter/report-translator.js +0 -369
- package/template/lib/react/node_modules/eslint/lib/linter/rule-fixer.js +0 -140
- package/template/lib/react/node_modules/eslint/lib/linter/rules.js +0 -80
- package/template/lib/react/node_modules/eslint/lib/linter/safe-emitter.js +0 -52
- package/template/lib/react/node_modules/eslint/lib/linter/source-code-fixer.js +0 -152
- package/template/lib/react/node_modules/eslint/lib/linter/timing.js +0 -161
- package/template/lib/react/node_modules/eslint/lib/options.js +0 -398
- package/template/lib/react/node_modules/eslint/lib/rule-tester/flat-rule-tester.js +0 -1122
- package/template/lib/react/node_modules/eslint/lib/rule-tester/index.js +0 -5
- package/template/lib/react/node_modules/eslint/lib/rule-tester/rule-tester.js +0 -1206
- package/template/lib/react/node_modules/eslint/lib/rules/accessor-pairs.js +0 -346
- package/template/lib/react/node_modules/eslint/lib/rules/array-bracket-newline.js +0 -261
- package/template/lib/react/node_modules/eslint/lib/rules/array-bracket-spacing.js +0 -244
- package/template/lib/react/node_modules/eslint/lib/rules/array-callback-return.js +0 -446
- package/template/lib/react/node_modules/eslint/lib/rules/array-element-newline.js +0 -311
- package/template/lib/react/node_modules/eslint/lib/rules/arrow-body-style.js +0 -296
- package/template/lib/react/node_modules/eslint/lib/rules/arrow-parens.js +0 -186
- package/template/lib/react/node_modules/eslint/lib/rules/arrow-spacing.js +0 -164
- package/template/lib/react/node_modules/eslint/lib/rules/block-scoped-var.js +0 -135
- package/template/lib/react/node_modules/eslint/lib/rules/block-spacing.js +0 -174
- package/template/lib/react/node_modules/eslint/lib/rules/brace-style.js +0 -197
- package/template/lib/react/node_modules/eslint/lib/rules/callback-return.js +0 -187
- package/template/lib/react/node_modules/eslint/lib/rules/camelcase.js +0 -399
- package/template/lib/react/node_modules/eslint/lib/rules/capitalized-comments.js +0 -300
- package/template/lib/react/node_modules/eslint/lib/rules/class-methods-use-this.js +0 -187
- package/template/lib/react/node_modules/eslint/lib/rules/comma-dangle.js +0 -373
- package/template/lib/react/node_modules/eslint/lib/rules/comma-spacing.js +0 -192
- package/template/lib/react/node_modules/eslint/lib/rules/comma-style.js +0 -314
- package/template/lib/react/node_modules/eslint/lib/rules/complexity.js +0 -165
- package/template/lib/react/node_modules/eslint/lib/rules/computed-property-spacing.js +0 -208
- package/template/lib/react/node_modules/eslint/lib/rules/consistent-return.js +0 -210
- package/template/lib/react/node_modules/eslint/lib/rules/consistent-this.js +0 -153
- package/template/lib/react/node_modules/eslint/lib/rules/constructor-super.js +0 -446
- package/template/lib/react/node_modules/eslint/lib/rules/curly.js +0 -486
- package/template/lib/react/node_modules/eslint/lib/rules/default-case-last.js +0 -44
- package/template/lib/react/node_modules/eslint/lib/rules/default-case.js +0 -97
- package/template/lib/react/node_modules/eslint/lib/rules/default-param-last.js +0 -62
- package/template/lib/react/node_modules/eslint/lib/rules/dot-location.js +0 -108
- package/template/lib/react/node_modules/eslint/lib/rules/dot-notation.js +0 -176
- package/template/lib/react/node_modules/eslint/lib/rules/eol-last.js +0 -115
- package/template/lib/react/node_modules/eslint/lib/rules/eqeqeq.js +0 -174
- package/template/lib/react/node_modules/eslint/lib/rules/for-direction.js +0 -140
- package/template/lib/react/node_modules/eslint/lib/rules/func-call-spacing.js +0 -233
- package/template/lib/react/node_modules/eslint/lib/rules/func-name-matching.js +0 -253
- package/template/lib/react/node_modules/eslint/lib/rules/func-names.js +0 -191
- package/template/lib/react/node_modules/eslint/lib/rules/func-style.js +0 -98
- package/template/lib/react/node_modules/eslint/lib/rules/function-call-argument-newline.js +0 -125
- package/template/lib/react/node_modules/eslint/lib/rules/function-paren-newline.js +0 -292
- package/template/lib/react/node_modules/eslint/lib/rules/generator-star-spacing.js +0 -209
- package/template/lib/react/node_modules/eslint/lib/rules/getter-return.js +0 -204
- package/template/lib/react/node_modules/eslint/lib/rules/global-require.js +0 -90
- package/template/lib/react/node_modules/eslint/lib/rules/grouped-accessor-pairs.js +0 -215
- package/template/lib/react/node_modules/eslint/lib/rules/guard-for-in.js +0 -76
- package/template/lib/react/node_modules/eslint/lib/rules/handle-callback-err.js +0 -101
- package/template/lib/react/node_modules/eslint/lib/rules/id-blacklist.js +0 -246
- package/template/lib/react/node_modules/eslint/lib/rules/id-denylist.js +0 -228
- package/template/lib/react/node_modules/eslint/lib/rules/id-length.js +0 -177
- package/template/lib/react/node_modules/eslint/lib/rules/id-match.js +0 -299
- package/template/lib/react/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js +0 -84
- package/template/lib/react/node_modules/eslint/lib/rules/indent-legacy.js +0 -1126
- package/template/lib/react/node_modules/eslint/lib/rules/indent.js +0 -1803
- package/template/lib/react/node_modules/eslint/lib/rules/index.js +0 -306
- package/template/lib/react/node_modules/eslint/lib/rules/init-declarations.js +0 -139
- package/template/lib/react/node_modules/eslint/lib/rules/jsx-quotes.js +0 -98
- package/template/lib/react/node_modules/eslint/lib/rules/key-spacing.js +0 -687
- package/template/lib/react/node_modules/eslint/lib/rules/keyword-spacing.js +0 -640
- package/template/lib/react/node_modules/eslint/lib/rules/line-comment-position.js +0 -122
- package/template/lib/react/node_modules/eslint/lib/rules/linebreak-style.js +0 -108
- package/template/lib/react/node_modules/eslint/lib/rules/lines-around-comment.js +0 -471
- package/template/lib/react/node_modules/eslint/lib/rules/lines-around-directive.js +0 -201
- package/template/lib/react/node_modules/eslint/lib/rules/lines-between-class-members.js +0 -269
- package/template/lib/react/node_modules/eslint/lib/rules/logical-assignment-operators.js +0 -504
- package/template/lib/react/node_modules/eslint/lib/rules/max-classes-per-file.js +0 -89
- package/template/lib/react/node_modules/eslint/lib/rules/max-depth.js +0 -156
- package/template/lib/react/node_modules/eslint/lib/rules/max-len.js +0 -440
- package/template/lib/react/node_modules/eslint/lib/rules/max-lines-per-function.js +0 -213
- package/template/lib/react/node_modules/eslint/lib/rules/max-lines.js +0 -193
- package/template/lib/react/node_modules/eslint/lib/rules/max-nested-callbacks.js +0 -117
- package/template/lib/react/node_modules/eslint/lib/rules/max-params.js +0 -102
- package/template/lib/react/node_modules/eslint/lib/rules/max-statements-per-line.js +0 -199
- package/template/lib/react/node_modules/eslint/lib/rules/max-statements.js +0 -184
- package/template/lib/react/node_modules/eslint/lib/rules/multiline-comment-style.js +0 -474
- package/template/lib/react/node_modules/eslint/lib/rules/multiline-ternary.js +0 -174
- package/template/lib/react/node_modules/eslint/lib/rules/new-cap.js +0 -276
- package/template/lib/react/node_modules/eslint/lib/rules/new-parens.js +0 -93
- package/template/lib/react/node_modules/eslint/lib/rules/newline-after-var.js +0 -253
- package/template/lib/react/node_modules/eslint/lib/rules/newline-before-return.js +0 -217
- package/template/lib/react/node_modules/eslint/lib/rules/newline-per-chained-call.js +0 -126
- package/template/lib/react/node_modules/eslint/lib/rules/no-alert.js +0 -138
- package/template/lib/react/node_modules/eslint/lib/rules/no-array-constructor.js +0 -133
- package/template/lib/react/node_modules/eslint/lib/rules/no-async-promise-executor.js +0 -39
- package/template/lib/react/node_modules/eslint/lib/rules/no-await-in-loop.js +0 -106
- package/template/lib/react/node_modules/eslint/lib/rules/no-bitwise.js +0 -119
- package/template/lib/react/node_modules/eslint/lib/rules/no-buffer-constructor.js +0 -50
- package/template/lib/react/node_modules/eslint/lib/rules/no-caller.js +0 -46
- package/template/lib/react/node_modules/eslint/lib/rules/no-case-declarations.js +0 -64
- package/template/lib/react/node_modules/eslint/lib/rules/no-catch-shadow.js +0 -82
- package/template/lib/react/node_modules/eslint/lib/rules/no-class-assign.js +0 -63
- package/template/lib/react/node_modules/eslint/lib/rules/no-compare-neg-zero.js +0 -60
- package/template/lib/react/node_modules/eslint/lib/rules/no-cond-assign.js +0 -159
- package/template/lib/react/node_modules/eslint/lib/rules/no-confusing-arrow.js +0 -92
- package/template/lib/react/node_modules/eslint/lib/rules/no-console.js +0 -207
- package/template/lib/react/node_modules/eslint/lib/rules/no-const-assign.js +0 -56
- package/template/lib/react/node_modules/eslint/lib/rules/no-constant-binary-expression.js +0 -509
- package/template/lib/react/node_modules/eslint/lib/rules/no-constant-condition.js +0 -150
- package/template/lib/react/node_modules/eslint/lib/rules/no-constructor-return.js +0 -62
- package/template/lib/react/node_modules/eslint/lib/rules/no-continue.js +0 -39
- package/template/lib/react/node_modules/eslint/lib/rules/no-control-regex.js +0 -138
- package/template/lib/react/node_modules/eslint/lib/rules/no-debugger.js +0 -43
- package/template/lib/react/node_modules/eslint/lib/rules/no-delete-var.js +0 -42
- package/template/lib/react/node_modules/eslint/lib/rules/no-div-regex.js +0 -53
- package/template/lib/react/node_modules/eslint/lib/rules/no-dupe-args.js +0 -82
- package/template/lib/react/node_modules/eslint/lib/rules/no-dupe-class-members.js +0 -104
- package/template/lib/react/node_modules/eslint/lib/rules/no-dupe-else-if.js +0 -122
- package/template/lib/react/node_modules/eslint/lib/rules/no-dupe-keys.js +0 -142
- package/template/lib/react/node_modules/eslint/lib/rules/no-duplicate-case.js +0 -71
- package/template/lib/react/node_modules/eslint/lib/rules/no-duplicate-imports.js +0 -290
- package/template/lib/react/node_modules/eslint/lib/rules/no-else-return.js +0 -405
- package/template/lib/react/node_modules/eslint/lib/rules/no-empty-character-class.js +0 -76
- package/template/lib/react/node_modules/eslint/lib/rules/no-empty-function.js +0 -167
- package/template/lib/react/node_modules/eslint/lib/rules/no-empty-pattern.js +0 -78
- package/template/lib/react/node_modules/eslint/lib/rules/no-empty-static-block.js +0 -47
- package/template/lib/react/node_modules/eslint/lib/rules/no-empty.js +0 -103
- package/template/lib/react/node_modules/eslint/lib/rules/no-eq-null.js +0 -46
- package/template/lib/react/node_modules/eslint/lib/rules/no-eval.js +0 -286
- package/template/lib/react/node_modules/eslint/lib/rules/no-ex-assign.js +0 -54
- package/template/lib/react/node_modules/eslint/lib/rules/no-extend-native.js +0 -179
- package/template/lib/react/node_modules/eslint/lib/rules/no-extra-bind.js +0 -213
- package/template/lib/react/node_modules/eslint/lib/rules/no-extra-boolean-cast.js +0 -317
- package/template/lib/react/node_modules/eslint/lib/rules/no-extra-label.js +0 -149
- package/template/lib/react/node_modules/eslint/lib/rules/no-extra-parens.js +0 -1322
- package/template/lib/react/node_modules/eslint/lib/rules/no-extra-semi.js +0 -147
- package/template/lib/react/node_modules/eslint/lib/rules/no-fallthrough.js +0 -196
- package/template/lib/react/node_modules/eslint/lib/rules/no-floating-decimal.js +0 -73
- package/template/lib/react/node_modules/eslint/lib/rules/no-func-assign.js +0 -78
- package/template/lib/react/node_modules/eslint/lib/rules/no-global-assign.js +0 -95
- package/template/lib/react/node_modules/eslint/lib/rules/no-implicit-coercion.js +0 -380
- package/template/lib/react/node_modules/eslint/lib/rules/no-implicit-globals.js +0 -146
- package/template/lib/react/node_modules/eslint/lib/rules/no-implied-eval.js +0 -132
- package/template/lib/react/node_modules/eslint/lib/rules/no-import-assign.js +0 -241
- package/template/lib/react/node_modules/eslint/lib/rules/no-inline-comments.js +0 -110
- package/template/lib/react/node_modules/eslint/lib/rules/no-inner-declarations.js +0 -110
- package/template/lib/react/node_modules/eslint/lib/rules/no-invalid-regexp.js +0 -194
- package/template/lib/react/node_modules/eslint/lib/rules/no-invalid-this.js +0 -150
- package/template/lib/react/node_modules/eslint/lib/rules/no-irregular-whitespace.js +0 -276
- package/template/lib/react/node_modules/eslint/lib/rules/no-iterator.js +0 -52
- package/template/lib/react/node_modules/eslint/lib/rules/no-label-var.js +0 -80
- package/template/lib/react/node_modules/eslint/lib/rules/no-labels.js +0 -149
- package/template/lib/react/node_modules/eslint/lib/rules/no-lone-blocks.js +0 -136
- package/template/lib/react/node_modules/eslint/lib/rules/no-lonely-if.js +0 -88
- package/template/lib/react/node_modules/eslint/lib/rules/no-loop-func.js +0 -206
- package/template/lib/react/node_modules/eslint/lib/rules/no-loss-of-precision.js +0 -214
- package/template/lib/react/node_modules/eslint/lib/rules/no-magic-numbers.js +0 -243
- package/template/lib/react/node_modules/eslint/lib/rules/no-misleading-character-class.js +0 -300
- package/template/lib/react/node_modules/eslint/lib/rules/no-mixed-operators.js +0 -229
- package/template/lib/react/node_modules/eslint/lib/rules/no-mixed-requires.js +0 -238
- package/template/lib/react/node_modules/eslint/lib/rules/no-mixed-spaces-and-tabs.js +0 -116
- package/template/lib/react/node_modules/eslint/lib/rules/no-multi-assign.js +0 -67
- package/template/lib/react/node_modules/eslint/lib/rules/no-multi-spaces.js +0 -141
- package/template/lib/react/node_modules/eslint/lib/rules/no-multi-str.js +0 -65
- package/template/lib/react/node_modules/eslint/lib/rules/no-multiple-empty-lines.js +0 -154
- package/template/lib/react/node_modules/eslint/lib/rules/no-native-reassign.js +0 -98
- package/template/lib/react/node_modules/eslint/lib/rules/no-negated-condition.js +0 -95
- package/template/lib/react/node_modules/eslint/lib/rules/no-negated-in-lhs.js +0 -46
- package/template/lib/react/node_modules/eslint/lib/rules/no-nested-ternary.js +0 -44
- package/template/lib/react/node_modules/eslint/lib/rules/no-new-func.js +0 -87
- package/template/lib/react/node_modules/eslint/lib/rules/no-new-native-nonconstructor.js +0 -66
- package/template/lib/react/node_modules/eslint/lib/rules/no-new-object.js +0 -67
- package/template/lib/react/node_modules/eslint/lib/rules/no-new-require.js +0 -50
- package/template/lib/react/node_modules/eslint/lib/rules/no-new-symbol.js +0 -56
- package/template/lib/react/node_modules/eslint/lib/rules/no-new-wrappers.js +0 -60
- package/template/lib/react/node_modules/eslint/lib/rules/no-new.js +0 -43
- package/template/lib/react/node_modules/eslint/lib/rules/no-nonoctal-decimal-escape.js +0 -148
- package/template/lib/react/node_modules/eslint/lib/rules/no-obj-calls.js +0 -86
- package/template/lib/react/node_modules/eslint/lib/rules/no-object-constructor.js +0 -117
- package/template/lib/react/node_modules/eslint/lib/rules/no-octal-escape.js +0 -56
- package/template/lib/react/node_modules/eslint/lib/rules/no-octal.js +0 -45
- package/template/lib/react/node_modules/eslint/lib/rules/no-param-reassign.js +0 -230
- package/template/lib/react/node_modules/eslint/lib/rules/no-path-concat.js +0 -64
- package/template/lib/react/node_modules/eslint/lib/rules/no-plusplus.js +0 -105
- package/template/lib/react/node_modules/eslint/lib/rules/no-process-env.js +0 -51
- package/template/lib/react/node_modules/eslint/lib/rules/no-process-exit.js +0 -47
- package/template/lib/react/node_modules/eslint/lib/rules/no-promise-executor-return.js +0 -263
- package/template/lib/react/node_modules/eslint/lib/rules/no-proto.js +0 -48
- package/template/lib/react/node_modules/eslint/lib/rules/no-prototype-builtins.js +0 -159
- package/template/lib/react/node_modules/eslint/lib/rules/no-redeclare.js +0 -174
- package/template/lib/react/node_modules/eslint/lib/rules/no-regex-spaces.js +0 -197
- package/template/lib/react/node_modules/eslint/lib/rules/no-restricted-exports.js +0 -193
- package/template/lib/react/node_modules/eslint/lib/rules/no-restricted-globals.js +0 -124
- package/template/lib/react/node_modules/eslint/lib/rules/no-restricted-imports.js +0 -410
- package/template/lib/react/node_modules/eslint/lib/rules/no-restricted-modules.js +0 -213
- package/template/lib/react/node_modules/eslint/lib/rules/no-restricted-properties.js +0 -168
- package/template/lib/react/node_modules/eslint/lib/rules/no-restricted-syntax.js +0 -70
- package/template/lib/react/node_modules/eslint/lib/rules/no-return-assign.js +0 -80
- package/template/lib/react/node_modules/eslint/lib/rules/no-return-await.js +0 -135
- package/template/lib/react/node_modules/eslint/lib/rules/no-script-url.js +0 -61
- package/template/lib/react/node_modules/eslint/lib/rules/no-self-assign.js +0 -183
- package/template/lib/react/node_modules/eslint/lib/rules/no-self-compare.js +0 -60
- package/template/lib/react/node_modules/eslint/lib/rules/no-sequences.js +0 -138
- package/template/lib/react/node_modules/eslint/lib/rules/no-setter-return.js +0 -226
- package/template/lib/react/node_modules/eslint/lib/rules/no-shadow-restricted-names.js +0 -65
- package/template/lib/react/node_modules/eslint/lib/rules/no-shadow.js +0 -336
- package/template/lib/react/node_modules/eslint/lib/rules/no-spaced-func.js +0 -83
- package/template/lib/react/node_modules/eslint/lib/rules/no-sparse-arrays.js +0 -50
- package/template/lib/react/node_modules/eslint/lib/rules/no-sync.js +0 -64
- package/template/lib/react/node_modules/eslint/lib/rules/no-tabs.js +0 -81
- package/template/lib/react/node_modules/eslint/lib/rules/no-template-curly-in-string.js +0 -44
- package/template/lib/react/node_modules/eslint/lib/rules/no-ternary.js +0 -41
- package/template/lib/react/node_modules/eslint/lib/rules/no-this-before-super.js +0 -331
- package/template/lib/react/node_modules/eslint/lib/rules/no-throw-literal.js +0 -51
- package/template/lib/react/node_modules/eslint/lib/rules/no-trailing-spaces.js +0 -193
- package/template/lib/react/node_modules/eslint/lib/rules/no-undef-init.js +0 -75
- package/template/lib/react/node_modules/eslint/lib/rules/no-undef.js +0 -79
- package/template/lib/react/node_modules/eslint/lib/rules/no-undefined.js +0 -86
- package/template/lib/react/node_modules/eslint/lib/rules/no-underscore-dangle.js +0 -335
- package/template/lib/react/node_modules/eslint/lib/rules/no-unexpected-multiline.js +0 -120
- package/template/lib/react/node_modules/eslint/lib/rules/no-unmodified-loop-condition.js +0 -360
- package/template/lib/react/node_modules/eslint/lib/rules/no-unneeded-ternary.js +0 -166
- package/template/lib/react/node_modules/eslint/lib/rules/no-unreachable-loop.js +0 -185
- package/template/lib/react/node_modules/eslint/lib/rules/no-unreachable.js +0 -293
- package/template/lib/react/node_modules/eslint/lib/rules/no-unsafe-finally.js +0 -111
- package/template/lib/react/node_modules/eslint/lib/rules/no-unsafe-negation.js +0 -128
- package/template/lib/react/node_modules/eslint/lib/rules/no-unsafe-optional-chaining.js +0 -205
- package/template/lib/react/node_modules/eslint/lib/rules/no-unused-expressions.js +0 -186
- package/template/lib/react/node_modules/eslint/lib/rules/no-unused-labels.js +0 -143
- package/template/lib/react/node_modules/eslint/lib/rules/no-unused-private-class-members.js +0 -195
- package/template/lib/react/node_modules/eslint/lib/rules/no-unused-vars.js +0 -718
- package/template/lib/react/node_modules/eslint/lib/rules/no-use-before-define.js +0 -348
- package/template/lib/react/node_modules/eslint/lib/rules/no-useless-backreference.js +0 -194
- package/template/lib/react/node_modules/eslint/lib/rules/no-useless-call.js +0 -90
- package/template/lib/react/node_modules/eslint/lib/rules/no-useless-catch.js +0 -57
- package/template/lib/react/node_modules/eslint/lib/rules/no-useless-computed-key.js +0 -168
- package/template/lib/react/node_modules/eslint/lib/rules/no-useless-concat.js +0 -115
- package/template/lib/react/node_modules/eslint/lib/rules/no-useless-constructor.js +0 -189
- package/template/lib/react/node_modules/eslint/lib/rules/no-useless-escape.js +0 -333
- package/template/lib/react/node_modules/eslint/lib/rules/no-useless-rename.js +0 -172
- package/template/lib/react/node_modules/eslint/lib/rules/no-useless-return.js +0 -364
- package/template/lib/react/node_modules/eslint/lib/rules/no-var.js +0 -334
- package/template/lib/react/node_modules/eslint/lib/rules/no-void.js +0 -64
- package/template/lib/react/node_modules/eslint/lib/rules/no-warning-comments.js +0 -201
- package/template/lib/react/node_modules/eslint/lib/rules/no-whitespace-before-property.js +0 -116
- package/template/lib/react/node_modules/eslint/lib/rules/no-with.js +0 -39
- package/template/lib/react/node_modules/eslint/lib/rules/nonblock-statement-body-position.js +0 -127
- package/template/lib/react/node_modules/eslint/lib/rules/object-curly-newline.js +0 -324
- package/template/lib/react/node_modules/eslint/lib/rules/object-curly-spacing.js +0 -311
- package/template/lib/react/node_modules/eslint/lib/rules/object-property-newline.js +0 -102
- package/template/lib/react/node_modules/eslint/lib/rules/object-shorthand.js +0 -520
- package/template/lib/react/node_modules/eslint/lib/rules/one-var-declaration-per-line.js +0 -95
- package/template/lib/react/node_modules/eslint/lib/rules/one-var.js +0 -567
- package/template/lib/react/node_modules/eslint/lib/rules/operator-assignment.js +0 -209
- package/template/lib/react/node_modules/eslint/lib/rules/operator-linebreak.js +0 -253
- package/template/lib/react/node_modules/eslint/lib/rules/padded-blocks.js +0 -310
- package/template/lib/react/node_modules/eslint/lib/rules/padding-line-between-statements.js +0 -590
- package/template/lib/react/node_modules/eslint/lib/rules/prefer-arrow-callback.js +0 -381
- package/template/lib/react/node_modules/eslint/lib/rules/prefer-const.js +0 -501
- package/template/lib/react/node_modules/eslint/lib/rules/prefer-destructuring.js +0 -301
- package/template/lib/react/node_modules/eslint/lib/rules/prefer-exponentiation-operator.js +0 -191
- package/template/lib/react/node_modules/eslint/lib/rules/prefer-named-capture-group.js +0 -178
- package/template/lib/react/node_modules/eslint/lib/rules/prefer-numeric-literals.js +0 -148
- package/template/lib/react/node_modules/eslint/lib/rules/prefer-object-has-own.js +0 -114
- package/template/lib/react/node_modules/eslint/lib/rules/prefer-object-spread.js +0 -298
- package/template/lib/react/node_modules/eslint/lib/rules/prefer-promise-reject-errors.js +0 -132
- package/template/lib/react/node_modules/eslint/lib/rules/prefer-reflect.js +0 -127
- package/template/lib/react/node_modules/eslint/lib/rules/prefer-regex-literals.js +0 -507
- package/template/lib/react/node_modules/eslint/lib/rules/prefer-rest-params.js +0 -118
- package/template/lib/react/node_modules/eslint/lib/rules/prefer-spread.js +0 -87
- package/template/lib/react/node_modules/eslint/lib/rules/prefer-template.js +0 -275
- package/template/lib/react/node_modules/eslint/lib/rules/quote-props.js +0 -310
- package/template/lib/react/node_modules/eslint/lib/rules/quotes.js +0 -350
- package/template/lib/react/node_modules/eslint/lib/rules/radix.js +0 -198
- package/template/lib/react/node_modules/eslint/lib/rules/require-atomic-updates.js +0 -331
- package/template/lib/react/node_modules/eslint/lib/rules/require-await.js +0 -113
- package/template/lib/react/node_modules/eslint/lib/rules/require-jsdoc.js +0 -122
- package/template/lib/react/node_modules/eslint/lib/rules/require-unicode-regexp.js +0 -129
- package/template/lib/react/node_modules/eslint/lib/rules/require-yield.js +0 -77
- package/template/lib/react/node_modules/eslint/lib/rules/rest-spread-spacing.js +0 -123
- package/template/lib/react/node_modules/eslint/lib/rules/semi-spacing.js +0 -248
- package/template/lib/react/node_modules/eslint/lib/rules/semi-style.js +0 -158
- package/template/lib/react/node_modules/eslint/lib/rules/semi.js +0 -438
- package/template/lib/react/node_modules/eslint/lib/rules/sort-imports.js +0 -241
- package/template/lib/react/node_modules/eslint/lib/rules/sort-keys.js +0 -230
- package/template/lib/react/node_modules/eslint/lib/rules/sort-vars.js +0 -104
- package/template/lib/react/node_modules/eslint/lib/rules/space-before-blocks.js +0 -204
- package/template/lib/react/node_modules/eslint/lib/rules/space-before-function-paren.js +0 -167
- package/template/lib/react/node_modules/eslint/lib/rules/space-in-parens.js +0 -285
- package/template/lib/react/node_modules/eslint/lib/rules/space-infix-ops.js +0 -198
- package/template/lib/react/node_modules/eslint/lib/rules/space-unary-ops.js +0 -324
- package/template/lib/react/node_modules/eslint/lib/rules/spaced-comment.js +0 -385
- package/template/lib/react/node_modules/eslint/lib/rules/strict.js +0 -277
- package/template/lib/react/node_modules/eslint/lib/rules/switch-colon-spacing.js +0 -132
- package/template/lib/react/node_modules/eslint/lib/rules/symbol-description.js +0 -73
- package/template/lib/react/node_modules/eslint/lib/rules/template-curly-spacing.js +0 -144
- package/template/lib/react/node_modules/eslint/lib/rules/template-tag-spacing.js +0 -93
- package/template/lib/react/node_modules/eslint/lib/rules/unicode-bom.js +0 -73
- package/template/lib/react/node_modules/eslint/lib/rules/use-isnan.js +0 -141
- package/template/lib/react/node_modules/eslint/lib/rules/utils/ast-utils.js +0 -2282
- package/template/lib/react/node_modules/eslint/lib/rules/utils/fix-tracker.js +0 -114
- package/template/lib/react/node_modules/eslint/lib/rules/utils/keywords.js +0 -67
- package/template/lib/react/node_modules/eslint/lib/rules/utils/lazy-loading-rule-map.js +0 -115
- package/template/lib/react/node_modules/eslint/lib/rules/utils/patterns/letters.js +0 -36
- package/template/lib/react/node_modules/eslint/lib/rules/utils/regular-expressions.js +0 -42
- package/template/lib/react/node_modules/eslint/lib/rules/utils/unicode/index.js +0 -11
- package/template/lib/react/node_modules/eslint/lib/rules/utils/unicode/is-combining-character.js +0 -13
- package/template/lib/react/node_modules/eslint/lib/rules/utils/unicode/is-emoji-modifier.js +0 -13
- package/template/lib/react/node_modules/eslint/lib/rules/utils/unicode/is-regional-indicator-symbol.js +0 -13
- package/template/lib/react/node_modules/eslint/lib/rules/utils/unicode/is-surrogate-pair.js +0 -14
- package/template/lib/react/node_modules/eslint/lib/rules/valid-jsdoc.js +0 -516
- package/template/lib/react/node_modules/eslint/lib/rules/valid-typeof.js +0 -127
- package/template/lib/react/node_modules/eslint/lib/rules/vars-on-top.js +0 -157
- package/template/lib/react/node_modules/eslint/lib/rules/wrap-iife.js +0 -207
- package/template/lib/react/node_modules/eslint/lib/rules/wrap-regex.js +0 -61
- package/template/lib/react/node_modules/eslint/lib/rules/yield-star-spacing.js +0 -130
- package/template/lib/react/node_modules/eslint/lib/rules/yoda.js +0 -353
- package/template/lib/react/node_modules/eslint/lib/shared/ajv.js +0 -34
- package/template/lib/react/node_modules/eslint/lib/shared/ast-utils.js +0 -29
- package/template/lib/react/node_modules/eslint/lib/shared/config-validator.js +0 -347
- package/template/lib/react/node_modules/eslint/lib/shared/deprecation-warnings.js +0 -58
- package/template/lib/react/node_modules/eslint/lib/shared/directives.js +0 -15
- package/template/lib/react/node_modules/eslint/lib/shared/logging.js +0 -30
- package/template/lib/react/node_modules/eslint/lib/shared/relative-module-resolver.js +0 -50
- package/template/lib/react/node_modules/eslint/lib/shared/runtime-info.js +0 -167
- package/template/lib/react/node_modules/eslint/lib/shared/severity.js +0 -49
- package/template/lib/react/node_modules/eslint/lib/shared/string-utils.js +0 -60
- package/template/lib/react/node_modules/eslint/lib/shared/traverser.js +0 -195
- package/template/lib/react/node_modules/eslint/lib/shared/types.js +0 -216
- package/template/lib/react/node_modules/eslint/lib/source-code/index.js +0 -5
- package/template/lib/react/node_modules/eslint/lib/source-code/source-code.js +0 -1055
- package/template/lib/react/node_modules/eslint/lib/source-code/token-store/backward-token-comment-cursor.js +0 -57
- package/template/lib/react/node_modules/eslint/lib/source-code/token-store/backward-token-cursor.js +0 -58
- package/template/lib/react/node_modules/eslint/lib/source-code/token-store/cursor.js +0 -76
- package/template/lib/react/node_modules/eslint/lib/source-code/token-store/cursors.js +0 -90
- package/template/lib/react/node_modules/eslint/lib/source-code/token-store/decorative-cursor.js +0 -39
- package/template/lib/react/node_modules/eslint/lib/source-code/token-store/filter-cursor.js +0 -43
- package/template/lib/react/node_modules/eslint/lib/source-code/token-store/forward-token-comment-cursor.js +0 -57
- package/template/lib/react/node_modules/eslint/lib/source-code/token-store/forward-token-cursor.js +0 -63
- package/template/lib/react/node_modules/eslint/lib/source-code/token-store/index.js +0 -627
- package/template/lib/react/node_modules/eslint/lib/source-code/token-store/limit-cursor.js +0 -40
- package/template/lib/react/node_modules/eslint/lib/source-code/token-store/padded-token-cursor.js +0 -38
- package/template/lib/react/node_modules/eslint/lib/source-code/token-store/skip-cursor.js +0 -42
- package/template/lib/react/node_modules/eslint/lib/source-code/token-store/utils.js +0 -107
- package/template/lib/react/node_modules/eslint/lib/unsupported-api.js +0 -30
- package/template/lib/react/node_modules/eslint/messages/all-files-ignored.js +0 -16
- package/template/lib/react/node_modules/eslint/messages/eslintrc-incompat.js +0 -98
- package/template/lib/react/node_modules/eslint/messages/eslintrc-plugins.js +0 -24
- package/template/lib/react/node_modules/eslint/messages/extend-config-missing.js +0 -13
- package/template/lib/react/node_modules/eslint/messages/failed-to-read-json.js +0 -11
- package/template/lib/react/node_modules/eslint/messages/file-not-found.js +0 -10
- package/template/lib/react/node_modules/eslint/messages/invalid-rule-options.js +0 -17
- package/template/lib/react/node_modules/eslint/messages/invalid-rule-severity.js +0 -13
- package/template/lib/react/node_modules/eslint/messages/no-config-found.js +0 -15
- package/template/lib/react/node_modules/eslint/messages/plugin-conflict.js +0 -22
- package/template/lib/react/node_modules/eslint/messages/plugin-invalid.js +0 -16
- package/template/lib/react/node_modules/eslint/messages/plugin-missing.js +0 -19
- package/template/lib/react/node_modules/eslint/messages/print-config-with-directory-path.js +0 -8
- package/template/lib/react/node_modules/eslint/messages/shared.js +0 -18
- package/template/lib/react/node_modules/eslint/messages/whitespace-found.js +0 -11
- package/template/lib/react/node_modules/eslint/node_modules/.bin/eslint +0 -17
- package/template/lib/react/node_modules/eslint/node_modules/.bin/eslint.CMD +0 -12
- package/template/lib/react/node_modules/eslint/node_modules/.bin/eslint.ps1 +0 -41
- package/template/lib/react/node_modules/eslint/node_modules/.bin/js-yaml +0 -17
- package/template/lib/react/node_modules/eslint/node_modules/.bin/js-yaml.CMD +0 -12
- package/template/lib/react/node_modules/eslint/node_modules/.bin/js-yaml.ps1 +0 -41
- package/template/lib/react/node_modules/eslint/package.json +0 -179
- package/template/lib/react/node_modules/eslint-import-resolver-typescript/LICENSE +0 -5
- package/template/lib/react/node_modules/eslint-import-resolver-typescript/README.md +0 -232
- package/template/lib/react/node_modules/eslint-import-resolver-typescript/lib/index.cjs +0 -278
- package/template/lib/react/node_modules/eslint-import-resolver-typescript/lib/index.d.ts +0 -20
- package/template/lib/react/node_modules/eslint-import-resolver-typescript/lib/index.es2020.mjs +0 -251
- package/template/lib/react/node_modules/eslint-import-resolver-typescript/lib/index.js +0 -252
- package/template/lib/react/node_modules/eslint-import-resolver-typescript/lib/index.js.map +0 -1
- package/template/lib/react/node_modules/eslint-import-resolver-typescript/node_modules/.bin/eslint +0 -17
- package/template/lib/react/node_modules/eslint-import-resolver-typescript/node_modules/.bin/eslint.CMD +0 -12
- package/template/lib/react/node_modules/eslint-import-resolver-typescript/node_modules/.bin/eslint.ps1 +0 -41
- package/template/lib/react/node_modules/eslint-import-resolver-typescript/package.json +0 -108
- package/template/lib/react/node_modules/eslint-import-resolver-typescript/shim.d.ts +0 -4
- package/template/lib/react/node_modules/eslint-plugin-import/CHANGELOG.md +0 -1925
- package/template/lib/react/node_modules/eslint-plugin-import/CONTRIBUTING.md +0 -84
- package/template/lib/react/node_modules/eslint-plugin-import/LICENSE +0 -22
- package/template/lib/react/node_modules/eslint-plugin-import/README.md +0 -500
- package/template/lib/react/node_modules/eslint-plugin-import/RELEASE.md +0 -54
- package/template/lib/react/node_modules/eslint-plugin-import/SECURITY.md +0 -11
- package/template/lib/react/node_modules/eslint-plugin-import/config/electron.js +0 -8
- package/template/lib/react/node_modules/eslint-plugin-import/config/errors.js +0 -14
- package/template/lib/react/node_modules/eslint-plugin-import/config/react-native.js +0 -13
- package/template/lib/react/node_modules/eslint-plugin-import/config/react.js +0 -18
- package/template/lib/react/node_modules/eslint-plugin-import/config/recommended.js +0 -28
- package/template/lib/react/node_modules/eslint-plugin-import/config/stage-0.js +0 -12
- package/template/lib/react/node_modules/eslint-plugin-import/config/typescript.js +0 -34
- package/template/lib/react/node_modules/eslint-plugin-import/config/warnings.js +0 -12
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/consistent-type-specifier-style.md +0 -91
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/default.md +0 -72
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/dynamic-import-chunkname.md +0 -92
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/export.md +0 -37
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/exports-last.md +0 -51
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/extensions.md +0 -174
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/first.md +0 -75
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/group-exports.md +0 -118
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/imports-first.md +0 -9
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/max-dependencies.md +0 -70
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/named.md +0 -102
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/namespace.md +0 -106
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/newline-after-import.md +0 -167
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-absolute-path.md +0 -54
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-amd.md +0 -37
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-anonymous-default-export.md +0 -83
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-commonjs.md +0 -96
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-cycle.md +0 -111
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-default-export.md +0 -65
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-deprecated.md +0 -62
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-duplicates.md +0 -109
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-dynamic-require.md +0 -25
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-empty-named-blocks.md +0 -49
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-extraneous-dependencies.md +0 -139
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-import-module-exports.md +0 -81
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-internal-modules.md +0 -136
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-mutable-exports.md +0 -54
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-named-as-default-member.md +0 -52
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-named-as-default.md +0 -53
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-named-default.md +0 -36
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-named-export.md +0 -79
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-namespace.md +0 -44
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-nodejs-modules.md +0 -42
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-relative-packages.md +0 -70
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-relative-parent-imports.md +0 -123
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-restricted-paths.md +0 -198
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-self-import.md +0 -32
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-unassigned-import.md +0 -60
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-unresolved.md +0 -110
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-unused-modules.md +0 -125
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-useless-path-segments.md +0 -85
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-webpack-loader-syntax.md +0 -39
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/order.md +0 -365
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/prefer-default-export.md +0 -185
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/unambiguous.md +0 -57
- package/template/lib/react/node_modules/eslint-plugin-import/lib/ExportMap.js +0 -856
- package/template/lib/react/node_modules/eslint-plugin-import/lib/core/importType.js +0 -129
- package/template/lib/react/node_modules/eslint-plugin-import/lib/core/packagePath.js +0 -22
- package/template/lib/react/node_modules/eslint-plugin-import/lib/core/staticRequire.js +0 -11
- package/template/lib/react/node_modules/eslint-plugin-import/lib/docsUrl.js +0 -8
- package/template/lib/react/node_modules/eslint-plugin-import/lib/importDeclaration.js +0 -5
- package/template/lib/react/node_modules/eslint-plugin-import/lib/index.js +0 -71
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/consistent-type-specifier-style.js +0 -221
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/default.js +0 -40
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/dynamic-import-chunkname.js +0 -120
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/export.js +0 -250
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/exports-last.js +0 -40
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/extensions.js +0 -193
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/first.js +0 -144
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/group-exports.js +0 -155
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/imports-first.js +0 -16
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/max-dependencies.js +0 -60
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/named.js +0 -143
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/namespace.js +0 -218
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/newline-after-import.js +0 -237
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-absolute-path.js +0 -40
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-amd.js +0 -47
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-anonymous-default-export.js +0 -103
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-commonjs.js +0 -141
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-cycle.js +0 -158
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-default-export.js +0 -43
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-deprecated.js +0 -138
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-duplicates.js +0 -354
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-dynamic-require.js +0 -77
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-empty-named-blocks.js +0 -105
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-extraneous-dependencies.js +0 -301
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-import-module-exports.js +0 -85
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-internal-modules.js +0 -144
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-mutable-exports.js +0 -59
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-named-as-default-member.js +0 -96
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-named-as-default.js +0 -45
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-named-default.js +0 -31
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-named-export.js +0 -39
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-namespace.js +0 -175
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-nodejs-modules.js +0 -44
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-relative-packages.js +0 -71
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-relative-parent-imports.js +0 -48
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-restricted-paths.js +0 -245
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-self-import.js +0 -39
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-unassigned-import.js +0 -79
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-unresolved.js +0 -60
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-unused-modules.js +0 -945
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-useless-path-segments.js +0 -147
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-webpack-loader-syntax.js +0 -26
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/order.js +0 -785
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/prefer-default-export.js +0 -116
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/unambiguous.js +0 -38
- package/template/lib/react/node_modules/eslint-plugin-import/memo-parser/LICENSE +0 -22
- package/template/lib/react/node_modules/eslint-plugin-import/memo-parser/README.md +0 -21
- package/template/lib/react/node_modules/eslint-plugin-import/memo-parser/index.js +0 -41
- package/template/lib/react/node_modules/eslint-plugin-import/node_modules/.bin/eslint +0 -17
- package/template/lib/react/node_modules/eslint-plugin-import/node_modules/.bin/eslint.CMD +0 -12
- package/template/lib/react/node_modules/eslint-plugin-import/node_modules/.bin/eslint.ps1 +0 -41
- package/template/lib/react/node_modules/eslint-plugin-import/node_modules/.bin/semver +0 -17
- package/template/lib/react/node_modules/eslint-plugin-import/node_modules/.bin/semver.CMD +0 -12
- package/template/lib/react/node_modules/eslint-plugin-import/node_modules/.bin/semver.ps1 +0 -41
- package/template/lib/react/node_modules/eslint-plugin-import/package.json +0 -124
- package/template/lib/react/node_modules/eslint-plugin-prettier/LICENSE.md +0 -24
- package/template/lib/react/node_modules/eslint-plugin-prettier/README.md +0 -202
- package/template/lib/react/node_modules/eslint-plugin-prettier/eslint-plugin-prettier.d.ts +0 -5
- package/template/lib/react/node_modules/eslint-plugin-prettier/eslint-plugin-prettier.js +0 -254
- package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint +0 -17
- package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint-config-prettier +0 -17
- package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint-config-prettier.CMD +0 -12
- package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint-config-prettier.ps1 +0 -41
- package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint.CMD +0 -12
- package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint.ps1 +0 -41
- package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/prettier +0 -17
- package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/prettier.CMD +0 -12
- package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/prettier.ps1 +0 -41
- package/template/lib/react/node_modules/eslint-plugin-prettier/package.json +0 -101
- package/template/lib/react/node_modules/eslint-plugin-prettier/recommended.d.ts +0 -5
- package/template/lib/react/node_modules/eslint-plugin-prettier/recommended.js +0 -17
- package/template/lib/react/node_modules/eslint-plugin-prettier/worker.js +0 -181
- package/template/lib/react/node_modules/eslint-plugin-react/LICENSE +0 -22
- package/template/lib/react/node_modules/eslint-plugin-react/README.md +0 -420
- package/template/lib/react/node_modules/eslint-plugin-react/configs/all.js +0 -39
- package/template/lib/react/node_modules/eslint-plugin-react/configs/jsx-runtime.js +0 -18
- package/template/lib/react/node_modules/eslint-plugin-react/configs/recommended.js +0 -34
- package/template/lib/react/node_modules/eslint-plugin-react/index.js +0 -31
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/boolean-prop-naming.js +0 -400
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/button-has-type.js +0 -163
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/default-props-match-prop-types.js +0 -108
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/destructuring-assignment.js +0 -280
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/display-name.js +0 -283
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/forbid-component-props.js +0 -134
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/forbid-dom-props.js +0 -121
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/forbid-elements.js +0 -114
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/forbid-foreign-prop-types.js +0 -134
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/forbid-prop-types.js +0 -293
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/function-component-definition.js +0 -284
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/hook-use-state.js +0 -203
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/iframe-missing-sandbox.js +0 -142
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/index.js +0 -106
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-boolean-value.js +0 -159
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-child-element-spacing.js +0 -116
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-closing-bracket-location.js +0 -308
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-closing-tag-location.js +0 -73
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-curly-brace-presence.js +0 -414
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-curly-newline.js +0 -184
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-curly-spacing.js +0 -430
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-equals-spacing.js +0 -110
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-filename-extension.js +0 -110
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-first-prop-new-line.js +0 -80
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-fragments.js +0 -209
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-handler-names.js +0 -171
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-indent-props.js +0 -213
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-indent.js +0 -441
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-key.js +0 -293
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-max-depth.js +0 -162
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-max-props-per-line.js +0 -154
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-newline.js +0 -168
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-bind.js +0 -208
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-comment-textnodes.js +0 -64
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-constructed-context-values.js +0 -225
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-duplicate-props.js +0 -76
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-leaked-render.js +0 -186
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-literals.js +0 -195
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-script-url.js +0 -97
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-target-blank.js +0 -283
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-undef.js +0 -115
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-useless-fragment.js +0 -257
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-one-expression-per-line.js +0 -233
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-pascal-case.js +0 -163
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-props-no-multi-spaces.js +0 -134
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-props-no-spreading.js +0 -141
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-sort-default-props.js +0 -188
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-sort-props.js +0 -530
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-space-before-closing.js +0 -96
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-tag-spacing.js +0 -323
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-uses-react.js +0 -46
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-uses-vars.js +0 -60
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-wrap-multilines.js +0 -260
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-access-state-in-setstate.js +0 -187
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-adjacent-inline-elements.js +0 -125
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-array-index-key.js +0 -288
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-arrow-function-lifecycle.js +0 -144
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-children-prop.js +0 -119
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-danger-with-children.js +0 -155
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-danger.js +0 -74
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-deprecated.js +0 -258
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-did-mount-set-state.js +0 -10
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-did-update-set-state.js +0 -10
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-direct-mutation-state.js +0 -154
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-find-dom-node.js +0 -50
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-invalid-html-attribute.js +0 -639
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-is-mounted.js +0 -55
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-multi-comp.js +0 -80
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-namespace.js +0 -61
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-object-type-as-default-prop.js +0 -103
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-redundant-should-component-update.js +0 -87
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-render-return-value.js +0 -81
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-set-state.js +0 -88
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-string-refs.js +0 -119
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-this-in-sfc.js +0 -46
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-typos.js +0 -257
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unescaped-entities.js +0 -133
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unknown-property.js +0 -609
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unsafe.js +0 -153
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unstable-nested-components.js +0 -491
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unused-class-component-methods.js +0 -257
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unused-prop-types.js +0 -173
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unused-state.js +0 -522
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-will-update-set-state.js +0 -14
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/prefer-es6-class.js +0 -57
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/prefer-exact-props.js +0 -161
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/prefer-read-only-props.js +0 -116
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/prefer-stateless-function.js +0 -390
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/prop-types.js +0 -201
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/react-in-jsx-scope.js +0 -56
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/require-default-props.js +0 -193
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/require-optimization.js +0 -239
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/require-render-return.js +0 -104
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/self-closing-comp.js +0 -103
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/sort-comp.js +0 -446
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/sort-default-props.js +0 -174
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/sort-prop-types.js +0 -266
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/state-in-constructor.js +0 -67
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/static-property-placement.js +0 -187
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/style-prop-object.js +0 -137
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/void-dom-elements-no-children.js +0 -165
- package/template/lib/react/node_modules/eslint-plugin-react/lib/types.d.ts +0 -28
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/Components.js +0 -946
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/annotations.js +0 -32
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/ast.js +0 -461
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/componentUtil.js +0 -182
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/defaultProps.js +0 -268
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/docsUrl.js +0 -7
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/error.js +0 -14
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/getTokenBeforeClosingBracket.js +0 -16
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/isCreateContext.js +0 -53
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/isCreateElement.js +0 -33
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/isDestructuredFromPragmaImport.js +0 -79
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/isFirstLetterCapitalized.js +0 -16
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/jsx.js +0 -196
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/lifecycleMethods.js +0 -30
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/linkComponents.js +0 -49
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/log.js +0 -14
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/makeNoMethodSetStateRule.js +0 -119
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/message.js +0 -8
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/pragma.js +0 -72
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/propTypes.js +0 -1248
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/propTypesSort.js +0 -211
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/propWrapper.js +0 -61
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/props.js +0 -103
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/report.js +0 -12
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/usedPropTypes.js +0 -569
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/variable.js +0 -94
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/version.js +0 -161
- package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/eslint +0 -17
- package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/eslint.CMD +0 -12
- package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/eslint.ps1 +0 -41
- package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/resolve +0 -17
- package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/resolve.CMD +0 -12
- package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/resolve.ps1 +0 -41
- package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/semver +0 -17
- package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/semver.CMD +0 -12
- package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/semver.ps1 +0 -41
- package/template/lib/react/node_modules/eslint-plugin-react/package.json +0 -106
- package/template/lib/react/node_modules/eslint-plugin-react-hooks/LICENSE +0 -21
- package/template/lib/react/node_modules/eslint-plugin-react-hooks/README.md +0 -75
- package/template/lib/react/node_modules/eslint-plugin-react-hooks/cjs/eslint-plugin-react-hooks.development.js +0 -2458
- package/template/lib/react/node_modules/eslint-plugin-react-hooks/cjs/eslint-plugin-react-hooks.production.min.js +0 -63
- package/template/lib/react/node_modules/eslint-plugin-react-hooks/index.js +0 -9
- package/template/lib/react/node_modules/eslint-plugin-react-hooks/node_modules/.bin/eslint +0 -17
- package/template/lib/react/node_modules/eslint-plugin-react-hooks/node_modules/.bin/eslint.CMD +0 -12
- package/template/lib/react/node_modules/eslint-plugin-react-hooks/node_modules/.bin/eslint.ps1 +0 -41
- package/template/lib/react/node_modules/eslint-plugin-react-hooks/package.json +0 -39
- package/template/lib/react/node_modules/prettier/LICENSE +0 -4857
- package/template/lib/react/node_modules/prettier/README.md +0 -109
- package/template/lib/react/node_modules/prettier/bin/prettier.cjs +0 -68
- package/template/lib/react/node_modules/prettier/doc.d.ts +0 -243
- package/template/lib/react/node_modules/prettier/doc.js +0 -1328
- package/template/lib/react/node_modules/prettier/doc.mjs +0 -1300
- package/template/lib/react/node_modules/prettier/index.cjs +0 -648
- package/template/lib/react/node_modules/prettier/index.d.ts +0 -940
- package/template/lib/react/node_modules/prettier/index.mjs +0 -24255
- package/template/lib/react/node_modules/prettier/internal/cli.mjs +0 -7089
- package/template/lib/react/node_modules/prettier/node_modules/.bin/prettier +0 -17
- package/template/lib/react/node_modules/prettier/node_modules/.bin/prettier.CMD +0 -12
- package/template/lib/react/node_modules/prettier/node_modules/.bin/prettier.ps1 +0 -41
- package/template/lib/react/node_modules/prettier/package.json +0 -198
- package/template/lib/react/node_modules/prettier/plugins/acorn.d.ts +0 -6
- package/template/lib/react/node_modules/prettier/plugins/acorn.js +0 -13
- package/template/lib/react/node_modules/prettier/plugins/acorn.mjs +0 -13
- package/template/lib/react/node_modules/prettier/plugins/angular.d.ts +0 -8
- package/template/lib/react/node_modules/prettier/plugins/angular.js +0 -1
- package/template/lib/react/node_modules/prettier/plugins/angular.mjs +0 -1
- package/template/lib/react/node_modules/prettier/plugins/babel.d.ts +0 -18
- package/template/lib/react/node_modules/prettier/plugins/babel.js +0 -16
- package/template/lib/react/node_modules/prettier/plugins/babel.mjs +0 -16
- package/template/lib/react/node_modules/prettier/plugins/estree.d.ts +0 -1
- package/template/lib/react/node_modules/prettier/plugins/estree.js +0 -36
- package/template/lib/react/node_modules/prettier/plugins/estree.mjs +0 -36
- package/template/lib/react/node_modules/prettier/plugins/flow.d.ts +0 -5
- package/template/lib/react/node_modules/prettier/plugins/flow.js +0 -21
- package/template/lib/react/node_modules/prettier/plugins/flow.mjs +0 -21
- package/template/lib/react/node_modules/prettier/plugins/glimmer.d.ts +0 -5
- package/template/lib/react/node_modules/prettier/plugins/glimmer.js +0 -30
- package/template/lib/react/node_modules/prettier/plugins/glimmer.mjs +0 -30
- package/template/lib/react/node_modules/prettier/plugins/graphql.d.ts +0 -5
- package/template/lib/react/node_modules/prettier/plugins/graphql.js +0 -29
- package/template/lib/react/node_modules/prettier/plugins/graphql.mjs +0 -29
- package/template/lib/react/node_modules/prettier/plugins/html.d.ts +0 -8
- package/template/lib/react/node_modules/prettier/plugins/html.js +0 -19
- package/template/lib/react/node_modules/prettier/plugins/html.mjs +0 -19
- package/template/lib/react/node_modules/prettier/plugins/markdown.d.ts +0 -7
- package/template/lib/react/node_modules/prettier/plugins/markdown.js +0 -59
- package/template/lib/react/node_modules/prettier/plugins/markdown.mjs +0 -59
- package/template/lib/react/node_modules/prettier/plugins/meriyah.d.ts +0 -5
- package/template/lib/react/node_modules/prettier/plugins/meriyah.js +0 -5
- package/template/lib/react/node_modules/prettier/plugins/meriyah.mjs +0 -5
- package/template/lib/react/node_modules/prettier/plugins/postcss.d.ts +0 -7
- package/template/lib/react/node_modules/prettier/plugins/postcss.js +0 -49
- package/template/lib/react/node_modules/prettier/plugins/postcss.mjs +0 -49
- package/template/lib/react/node_modules/prettier/plugins/typescript.d.ts +0 -5
- package/template/lib/react/node_modules/prettier/plugins/typescript.js +0 -25
- package/template/lib/react/node_modules/prettier/plugins/typescript.mjs +0 -25
- package/template/lib/react/node_modules/prettier/plugins/yaml.d.ts +0 -5
- package/template/lib/react/node_modules/prettier/plugins/yaml.js +0 -161
- package/template/lib/react/node_modules/prettier/plugins/yaml.mjs +0 -161
- package/template/lib/react/node_modules/prettier/standalone.d.ts +0 -33
- package/template/lib/react/node_modules/prettier/standalone.js +0 -34
- package/template/lib/react/node_modules/prettier/standalone.mjs +0 -34
- package/template/lib/react/node_modules/prop-types/LICENSE +0 -21
- package/template/lib/react/node_modules/prop-types/README.md +0 -302
- package/template/lib/react/node_modules/prop-types/checkPropTypes.js +0 -103
- package/template/lib/react/node_modules/prop-types/factory.js +0 -19
- package/template/lib/react/node_modules/prop-types/factoryWithThrowingShims.js +0 -65
- package/template/lib/react/node_modules/prop-types/factoryWithTypeCheckers.js +0 -610
- package/template/lib/react/node_modules/prop-types/index.js +0 -19
- package/template/lib/react/node_modules/prop-types/lib/ReactPropTypesSecret.js +0 -12
- package/template/lib/react/node_modules/prop-types/lib/has.js +0 -1
- package/template/lib/react/node_modules/prop-types/node_modules/.bin/loose-envify +0 -17
- package/template/lib/react/node_modules/prop-types/node_modules/.bin/loose-envify.CMD +0 -12
- package/template/lib/react/node_modules/prop-types/node_modules/.bin/loose-envify.ps1 +0 -41
- package/template/lib/react/node_modules/prop-types/package.json +0 -60
- package/template/lib/react/node_modules/prop-types/prop-types.js +0 -1315
- package/template/lib/react/node_modules/prop-types/prop-types.min.js +0 -1
- package/template/lib/react/node_modules/react/LICENSE +0 -21
- package/template/lib/react/node_modules/react/README.md +0 -37
- package/template/lib/react/node_modules/react/cjs/react-jsx-dev-runtime.development.js +0 -1296
- package/template/lib/react/node_modules/react/cjs/react-jsx-dev-runtime.production.min.js +0 -10
- package/template/lib/react/node_modules/react/cjs/react-jsx-dev-runtime.profiling.min.js +0 -10
- package/template/lib/react/node_modules/react/cjs/react-jsx-runtime.development.js +0 -1314
- package/template/lib/react/node_modules/react/cjs/react-jsx-runtime.production.min.js +0 -11
- package/template/lib/react/node_modules/react/cjs/react-jsx-runtime.profiling.min.js +0 -11
- package/template/lib/react/node_modules/react/cjs/react.development.js +0 -2739
- package/template/lib/react/node_modules/react/cjs/react.production.min.js +0 -26
- package/template/lib/react/node_modules/react/cjs/react.shared-subset.development.js +0 -20
- package/template/lib/react/node_modules/react/cjs/react.shared-subset.production.min.js +0 -10
- package/template/lib/react/node_modules/react/index.js +0 -7
- package/template/lib/react/node_modules/react/jsx-dev-runtime.js +0 -7
- package/template/lib/react/node_modules/react/jsx-runtime.js +0 -7
- package/template/lib/react/node_modules/react/node_modules/.bin/loose-envify +0 -17
- package/template/lib/react/node_modules/react/node_modules/.bin/loose-envify.CMD +0 -12
- package/template/lib/react/node_modules/react/node_modules/.bin/loose-envify.ps1 +0 -41
- package/template/lib/react/node_modules/react/package.json +0 -47
- package/template/lib/react/node_modules/react/react.shared-subset.js +0 -7
- package/template/lib/react/node_modules/react/umd/react.development.js +0 -3342
- package/template/lib/react/node_modules/react/umd/react.production.min.js +0 -31
- package/template/lib/react/node_modules/react/umd/react.profiling.min.js +0 -31
- package/template/lib/react/node_modules/react-dom/LICENSE +0 -21
- package/template/lib/react/node_modules/react-dom/README.md +0 -60
- package/template/lib/react/node_modules/react-dom/cjs/react-dom-server-legacy.browser.development.js +0 -7018
- package/template/lib/react/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.min.js +0 -93
- package/template/lib/react/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js +0 -7078
- package/template/lib/react/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.min.js +0 -101
- package/template/lib/react/node_modules/react-dom/cjs/react-dom-server.browser.development.js +0 -7003
- package/template/lib/react/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js +0 -96
- package/template/lib/react/node_modules/react-dom/cjs/react-dom-server.node.development.js +0 -7059
- package/template/lib/react/node_modules/react-dom/cjs/react-dom-server.node.production.min.js +0 -102
- package/template/lib/react/node_modules/react-dom/cjs/react-dom-test-utils.development.js +0 -1741
- package/template/lib/react/node_modules/react-dom/cjs/react-dom-test-utils.production.min.js +0 -40
- package/template/lib/react/node_modules/react-dom/cjs/react-dom.development.js +0 -29868
- package/template/lib/react/node_modules/react-dom/cjs/react-dom.production.min.js +0 -323
- package/template/lib/react/node_modules/react-dom/cjs/react-dom.profiling.min.js +0 -367
- package/template/lib/react/node_modules/react-dom/client.js +0 -25
- package/template/lib/react/node_modules/react-dom/index.js +0 -38
- package/template/lib/react/node_modules/react-dom/node_modules/.bin/loose-envify +0 -17
- package/template/lib/react/node_modules/react-dom/node_modules/.bin/loose-envify.CMD +0 -12
- package/template/lib/react/node_modules/react-dom/node_modules/.bin/loose-envify.ps1 +0 -41
- package/template/lib/react/node_modules/react-dom/package.json +0 -62
- package/template/lib/react/node_modules/react-dom/profiling.js +0 -38
- package/template/lib/react/node_modules/react-dom/server.browser.js +0 -17
- package/template/lib/react/node_modules/react-dom/server.js +0 -3
- package/template/lib/react/node_modules/react-dom/server.node.js +0 -17
- package/template/lib/react/node_modules/react-dom/test-utils.js +0 -7
- package/template/lib/react/node_modules/react-dom/umd/react-dom-server-legacy.browser.development.js +0 -7015
- package/template/lib/react/node_modules/react-dom/umd/react-dom-server-legacy.browser.production.min.js +0 -75
- package/template/lib/react/node_modules/react-dom/umd/react-dom-server.browser.development.js +0 -7000
- package/template/lib/react/node_modules/react-dom/umd/react-dom-server.browser.production.min.js +0 -76
- package/template/lib/react/node_modules/react-dom/umd/react-dom-test-utils.development.js +0 -1737
- package/template/lib/react/node_modules/react-dom/umd/react-dom-test-utils.production.min.js +0 -33
- package/template/lib/react/node_modules/react-dom/umd/react-dom.development.js +0 -29869
- package/template/lib/react/node_modules/react-dom/umd/react-dom.production.min.js +0 -267
- package/template/lib/react/node_modules/react-dom/umd/react-dom.profiling.min.js +0 -285
- package/template/lib/react/node_modules/stylelint-config-standard-scss/LICENSE +0 -21
- package/template/lib/react/node_modules/stylelint-config-standard-scss/README.md +0 -50
- package/template/lib/react/node_modules/stylelint-config-standard-scss/index.js +0 -67
- package/template/lib/react/node_modules/stylelint-config-standard-scss/node_modules/.bin/stylelint +0 -17
- package/template/lib/react/node_modules/stylelint-config-standard-scss/node_modules/.bin/stylelint.CMD +0 -12
- package/template/lib/react/node_modules/stylelint-config-standard-scss/node_modules/.bin/stylelint.ps1 +0 -41
- package/template/lib/react/node_modules/stylelint-config-standard-scss/package.json +0 -58
- package/template/lib/ts/node_modules/.bin/acorn +0 -17
- package/template/lib/ts/node_modules/.bin/acorn.CMD +0 -12
- package/template/lib/ts/node_modules/.bin/acorn.ps1 +0 -41
- package/template/lib/ts/node_modules/.bin/eslint +0 -17
- package/template/lib/ts/node_modules/.bin/eslint.CMD +0 -12
- package/template/lib/ts/node_modules/.bin/eslint.ps1 +0 -41
- package/template/lib/ts/node_modules/.bin/prettier +0 -17
- package/template/lib/ts/node_modules/.bin/prettier.CMD +0 -12
- package/template/lib/ts/node_modules/.bin/prettier.ps1 +0 -41
- package/template/lib/ts/node_modules/.bin/stylelint +0 -17
- package/template/lib/ts/node_modules/.bin/stylelint.CMD +0 -12
- package/template/lib/ts/node_modules/.bin/stylelint.ps1 +0 -41
- package/template/lib/ts/node_modules/.bin/tsc +0 -17
- package/template/lib/ts/node_modules/.bin/tsc.CMD +0 -12
- package/template/lib/ts/node_modules/.bin/tsc.ps1 +0 -41
- package/template/lib/ts/node_modules/.bin/tsserver +0 -17
- package/template/lib/ts/node_modules/.bin/tsserver.CMD +0 -12
- package/template/lib/ts/node_modules/.bin/tsserver.ps1 +0 -41
- package/template/lib/ts/node_modules/.bin/vitest +0 -17
- package/template/lib/ts/node_modules/.bin/vitest.CMD +0 -12
- package/template/lib/ts/node_modules/.bin/vitest.ps1 +0 -41
- package/template/lib/ts/node_modules/eslint/LICENSE +0 -19
- package/template/lib/ts/node_modules/eslint/README.md +0 -304
- package/template/lib/ts/node_modules/eslint/bin/eslint.js +0 -173
- package/template/lib/ts/node_modules/eslint/conf/config-schema.js +0 -93
- package/template/lib/ts/node_modules/eslint/conf/default-cli-options.js +0 -32
- package/template/lib/ts/node_modules/eslint/conf/globals.js +0 -154
- package/template/lib/ts/node_modules/eslint/conf/replacements.json +0 -22
- package/template/lib/ts/node_modules/eslint/conf/rule-type-list.json +0 -28
- package/template/lib/ts/node_modules/eslint/lib/api.js +0 -26
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/cli-engine.js +0 -1078
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/file-enumerator.js +0 -547
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/checkstyle.js +0 -60
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/compact.js +0 -60
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/formatters-meta.json +0 -46
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/html.js +0 -351
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/jslint-xml.js +0 -41
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/json-with-metadata.js +0 -16
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/json.js +0 -13
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/junit.js +0 -82
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/stylish.js +0 -101
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/tap.js +0 -95
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/unix.js +0 -58
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/visualstudio.js +0 -63
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/hash.js +0 -35
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/index.js +0 -7
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/lint-result-cache.js +0 -203
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/load-rules.js +0 -46
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/xml-escape.js +0 -34
- package/template/lib/ts/node_modules/eslint/lib/cli.js +0 -471
- package/template/lib/ts/node_modules/eslint/lib/config/default-config.js +0 -67
- package/template/lib/ts/node_modules/eslint/lib/config/flat-config-array.js +0 -274
- package/template/lib/ts/node_modules/eslint/lib/config/flat-config-helpers.js +0 -111
- package/template/lib/ts/node_modules/eslint/lib/config/flat-config-schema.js +0 -583
- package/template/lib/ts/node_modules/eslint/lib/config/rule-validator.js +0 -158
- package/template/lib/ts/node_modules/eslint/lib/eslint/eslint-helpers.js +0 -902
- package/template/lib/ts/node_modules/eslint/lib/eslint/eslint.js +0 -700
- package/template/lib/ts/node_modules/eslint/lib/eslint/flat-eslint.js +0 -1142
- package/template/lib/ts/node_modules/eslint/lib/eslint/index.js +0 -9
- package/template/lib/ts/node_modules/eslint/lib/linter/apply-disable-directives.js +0 -465
- package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js +0 -852
- package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/code-path-segment.js +0 -263
- package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/code-path-state.js +0 -2348
- package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/code-path.js +0 -342
- package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/debug-helpers.js +0 -203
- package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/fork-context.js +0 -349
- package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/id-generator.js +0 -45
- package/template/lib/ts/node_modules/eslint/lib/linter/config-comment-parser.js +0 -185
- package/template/lib/ts/node_modules/eslint/lib/linter/index.js +0 -13
- package/template/lib/ts/node_modules/eslint/lib/linter/interpolate.js +0 -28
- package/template/lib/ts/node_modules/eslint/lib/linter/linter.js +0 -2119
- package/template/lib/ts/node_modules/eslint/lib/linter/node-event-generator.js +0 -354
- package/template/lib/ts/node_modules/eslint/lib/linter/report-translator.js +0 -369
- package/template/lib/ts/node_modules/eslint/lib/linter/rule-fixer.js +0 -140
- package/template/lib/ts/node_modules/eslint/lib/linter/rules.js +0 -80
- package/template/lib/ts/node_modules/eslint/lib/linter/safe-emitter.js +0 -52
- package/template/lib/ts/node_modules/eslint/lib/linter/source-code-fixer.js +0 -152
- package/template/lib/ts/node_modules/eslint/lib/linter/timing.js +0 -161
- package/template/lib/ts/node_modules/eslint/lib/options.js +0 -398
- package/template/lib/ts/node_modules/eslint/lib/rule-tester/flat-rule-tester.js +0 -1122
- package/template/lib/ts/node_modules/eslint/lib/rule-tester/index.js +0 -5
- package/template/lib/ts/node_modules/eslint/lib/rule-tester/rule-tester.js +0 -1206
- package/template/lib/ts/node_modules/eslint/lib/rules/accessor-pairs.js +0 -346
- package/template/lib/ts/node_modules/eslint/lib/rules/array-bracket-newline.js +0 -261
- package/template/lib/ts/node_modules/eslint/lib/rules/array-bracket-spacing.js +0 -244
- package/template/lib/ts/node_modules/eslint/lib/rules/array-callback-return.js +0 -446
- package/template/lib/ts/node_modules/eslint/lib/rules/array-element-newline.js +0 -311
- package/template/lib/ts/node_modules/eslint/lib/rules/arrow-body-style.js +0 -296
- package/template/lib/ts/node_modules/eslint/lib/rules/arrow-parens.js +0 -186
- package/template/lib/ts/node_modules/eslint/lib/rules/arrow-spacing.js +0 -164
- package/template/lib/ts/node_modules/eslint/lib/rules/block-scoped-var.js +0 -135
- package/template/lib/ts/node_modules/eslint/lib/rules/block-spacing.js +0 -174
- package/template/lib/ts/node_modules/eslint/lib/rules/brace-style.js +0 -197
- package/template/lib/ts/node_modules/eslint/lib/rules/callback-return.js +0 -187
- package/template/lib/ts/node_modules/eslint/lib/rules/camelcase.js +0 -399
- package/template/lib/ts/node_modules/eslint/lib/rules/capitalized-comments.js +0 -300
- package/template/lib/ts/node_modules/eslint/lib/rules/class-methods-use-this.js +0 -187
- package/template/lib/ts/node_modules/eslint/lib/rules/comma-dangle.js +0 -373
- package/template/lib/ts/node_modules/eslint/lib/rules/comma-spacing.js +0 -192
- package/template/lib/ts/node_modules/eslint/lib/rules/comma-style.js +0 -314
- package/template/lib/ts/node_modules/eslint/lib/rules/complexity.js +0 -165
- package/template/lib/ts/node_modules/eslint/lib/rules/computed-property-spacing.js +0 -208
- package/template/lib/ts/node_modules/eslint/lib/rules/consistent-return.js +0 -210
- package/template/lib/ts/node_modules/eslint/lib/rules/consistent-this.js +0 -153
- package/template/lib/ts/node_modules/eslint/lib/rules/constructor-super.js +0 -446
- package/template/lib/ts/node_modules/eslint/lib/rules/curly.js +0 -486
- package/template/lib/ts/node_modules/eslint/lib/rules/default-case-last.js +0 -44
- package/template/lib/ts/node_modules/eslint/lib/rules/default-case.js +0 -97
- package/template/lib/ts/node_modules/eslint/lib/rules/default-param-last.js +0 -62
- package/template/lib/ts/node_modules/eslint/lib/rules/dot-location.js +0 -108
- package/template/lib/ts/node_modules/eslint/lib/rules/dot-notation.js +0 -176
- package/template/lib/ts/node_modules/eslint/lib/rules/eol-last.js +0 -115
- package/template/lib/ts/node_modules/eslint/lib/rules/eqeqeq.js +0 -174
- package/template/lib/ts/node_modules/eslint/lib/rules/for-direction.js +0 -140
- package/template/lib/ts/node_modules/eslint/lib/rules/func-call-spacing.js +0 -233
- package/template/lib/ts/node_modules/eslint/lib/rules/func-name-matching.js +0 -253
- package/template/lib/ts/node_modules/eslint/lib/rules/func-names.js +0 -191
- package/template/lib/ts/node_modules/eslint/lib/rules/func-style.js +0 -98
- package/template/lib/ts/node_modules/eslint/lib/rules/function-call-argument-newline.js +0 -125
- package/template/lib/ts/node_modules/eslint/lib/rules/function-paren-newline.js +0 -292
- package/template/lib/ts/node_modules/eslint/lib/rules/generator-star-spacing.js +0 -209
- package/template/lib/ts/node_modules/eslint/lib/rules/getter-return.js +0 -204
- package/template/lib/ts/node_modules/eslint/lib/rules/global-require.js +0 -90
- package/template/lib/ts/node_modules/eslint/lib/rules/grouped-accessor-pairs.js +0 -215
- package/template/lib/ts/node_modules/eslint/lib/rules/guard-for-in.js +0 -76
- package/template/lib/ts/node_modules/eslint/lib/rules/handle-callback-err.js +0 -101
- package/template/lib/ts/node_modules/eslint/lib/rules/id-blacklist.js +0 -246
- package/template/lib/ts/node_modules/eslint/lib/rules/id-denylist.js +0 -228
- package/template/lib/ts/node_modules/eslint/lib/rules/id-length.js +0 -177
- package/template/lib/ts/node_modules/eslint/lib/rules/id-match.js +0 -299
- package/template/lib/ts/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js +0 -84
- package/template/lib/ts/node_modules/eslint/lib/rules/indent-legacy.js +0 -1126
- package/template/lib/ts/node_modules/eslint/lib/rules/indent.js +0 -1803
- package/template/lib/ts/node_modules/eslint/lib/rules/index.js +0 -306
- package/template/lib/ts/node_modules/eslint/lib/rules/init-declarations.js +0 -139
- package/template/lib/ts/node_modules/eslint/lib/rules/jsx-quotes.js +0 -98
- package/template/lib/ts/node_modules/eslint/lib/rules/key-spacing.js +0 -687
- package/template/lib/ts/node_modules/eslint/lib/rules/keyword-spacing.js +0 -640
- package/template/lib/ts/node_modules/eslint/lib/rules/line-comment-position.js +0 -122
- package/template/lib/ts/node_modules/eslint/lib/rules/linebreak-style.js +0 -108
- package/template/lib/ts/node_modules/eslint/lib/rules/lines-around-comment.js +0 -471
- package/template/lib/ts/node_modules/eslint/lib/rules/lines-around-directive.js +0 -201
- package/template/lib/ts/node_modules/eslint/lib/rules/lines-between-class-members.js +0 -269
- package/template/lib/ts/node_modules/eslint/lib/rules/logical-assignment-operators.js +0 -504
- package/template/lib/ts/node_modules/eslint/lib/rules/max-classes-per-file.js +0 -89
- package/template/lib/ts/node_modules/eslint/lib/rules/max-depth.js +0 -156
- package/template/lib/ts/node_modules/eslint/lib/rules/max-len.js +0 -440
- package/template/lib/ts/node_modules/eslint/lib/rules/max-lines-per-function.js +0 -213
- package/template/lib/ts/node_modules/eslint/lib/rules/max-lines.js +0 -193
- package/template/lib/ts/node_modules/eslint/lib/rules/max-nested-callbacks.js +0 -117
- package/template/lib/ts/node_modules/eslint/lib/rules/max-params.js +0 -102
- package/template/lib/ts/node_modules/eslint/lib/rules/max-statements-per-line.js +0 -199
- package/template/lib/ts/node_modules/eslint/lib/rules/max-statements.js +0 -184
- package/template/lib/ts/node_modules/eslint/lib/rules/multiline-comment-style.js +0 -474
- package/template/lib/ts/node_modules/eslint/lib/rules/multiline-ternary.js +0 -174
- package/template/lib/ts/node_modules/eslint/lib/rules/new-cap.js +0 -276
- package/template/lib/ts/node_modules/eslint/lib/rules/new-parens.js +0 -93
- package/template/lib/ts/node_modules/eslint/lib/rules/newline-after-var.js +0 -253
- package/template/lib/ts/node_modules/eslint/lib/rules/newline-before-return.js +0 -217
- package/template/lib/ts/node_modules/eslint/lib/rules/newline-per-chained-call.js +0 -126
- package/template/lib/ts/node_modules/eslint/lib/rules/no-alert.js +0 -138
- package/template/lib/ts/node_modules/eslint/lib/rules/no-array-constructor.js +0 -133
- package/template/lib/ts/node_modules/eslint/lib/rules/no-async-promise-executor.js +0 -39
- package/template/lib/ts/node_modules/eslint/lib/rules/no-await-in-loop.js +0 -106
- package/template/lib/ts/node_modules/eslint/lib/rules/no-bitwise.js +0 -119
- package/template/lib/ts/node_modules/eslint/lib/rules/no-buffer-constructor.js +0 -50
- package/template/lib/ts/node_modules/eslint/lib/rules/no-caller.js +0 -46
- package/template/lib/ts/node_modules/eslint/lib/rules/no-case-declarations.js +0 -64
- package/template/lib/ts/node_modules/eslint/lib/rules/no-catch-shadow.js +0 -82
- package/template/lib/ts/node_modules/eslint/lib/rules/no-class-assign.js +0 -63
- package/template/lib/ts/node_modules/eslint/lib/rules/no-compare-neg-zero.js +0 -60
- package/template/lib/ts/node_modules/eslint/lib/rules/no-cond-assign.js +0 -159
- package/template/lib/ts/node_modules/eslint/lib/rules/no-confusing-arrow.js +0 -92
- package/template/lib/ts/node_modules/eslint/lib/rules/no-console.js +0 -207
- package/template/lib/ts/node_modules/eslint/lib/rules/no-const-assign.js +0 -56
- package/template/lib/ts/node_modules/eslint/lib/rules/no-constant-binary-expression.js +0 -509
- package/template/lib/ts/node_modules/eslint/lib/rules/no-constant-condition.js +0 -150
- package/template/lib/ts/node_modules/eslint/lib/rules/no-constructor-return.js +0 -62
- package/template/lib/ts/node_modules/eslint/lib/rules/no-continue.js +0 -39
- package/template/lib/ts/node_modules/eslint/lib/rules/no-control-regex.js +0 -138
- package/template/lib/ts/node_modules/eslint/lib/rules/no-debugger.js +0 -43
- package/template/lib/ts/node_modules/eslint/lib/rules/no-delete-var.js +0 -42
- package/template/lib/ts/node_modules/eslint/lib/rules/no-div-regex.js +0 -53
- package/template/lib/ts/node_modules/eslint/lib/rules/no-dupe-args.js +0 -82
- package/template/lib/ts/node_modules/eslint/lib/rules/no-dupe-class-members.js +0 -104
- package/template/lib/ts/node_modules/eslint/lib/rules/no-dupe-else-if.js +0 -122
- package/template/lib/ts/node_modules/eslint/lib/rules/no-dupe-keys.js +0 -142
- package/template/lib/ts/node_modules/eslint/lib/rules/no-duplicate-case.js +0 -71
- package/template/lib/ts/node_modules/eslint/lib/rules/no-duplicate-imports.js +0 -290
- package/template/lib/ts/node_modules/eslint/lib/rules/no-else-return.js +0 -405
- package/template/lib/ts/node_modules/eslint/lib/rules/no-empty-character-class.js +0 -76
- package/template/lib/ts/node_modules/eslint/lib/rules/no-empty-function.js +0 -167
- package/template/lib/ts/node_modules/eslint/lib/rules/no-empty-pattern.js +0 -78
- package/template/lib/ts/node_modules/eslint/lib/rules/no-empty-static-block.js +0 -47
- package/template/lib/ts/node_modules/eslint/lib/rules/no-empty.js +0 -103
- package/template/lib/ts/node_modules/eslint/lib/rules/no-eq-null.js +0 -46
- package/template/lib/ts/node_modules/eslint/lib/rules/no-eval.js +0 -286
- package/template/lib/ts/node_modules/eslint/lib/rules/no-ex-assign.js +0 -54
- package/template/lib/ts/node_modules/eslint/lib/rules/no-extend-native.js +0 -179
- package/template/lib/ts/node_modules/eslint/lib/rules/no-extra-bind.js +0 -213
- package/template/lib/ts/node_modules/eslint/lib/rules/no-extra-boolean-cast.js +0 -317
- package/template/lib/ts/node_modules/eslint/lib/rules/no-extra-label.js +0 -149
- package/template/lib/ts/node_modules/eslint/lib/rules/no-extra-parens.js +0 -1322
- package/template/lib/ts/node_modules/eslint/lib/rules/no-extra-semi.js +0 -147
- package/template/lib/ts/node_modules/eslint/lib/rules/no-fallthrough.js +0 -196
- package/template/lib/ts/node_modules/eslint/lib/rules/no-floating-decimal.js +0 -73
- package/template/lib/ts/node_modules/eslint/lib/rules/no-func-assign.js +0 -78
- package/template/lib/ts/node_modules/eslint/lib/rules/no-global-assign.js +0 -95
- package/template/lib/ts/node_modules/eslint/lib/rules/no-implicit-coercion.js +0 -380
- package/template/lib/ts/node_modules/eslint/lib/rules/no-implicit-globals.js +0 -146
- package/template/lib/ts/node_modules/eslint/lib/rules/no-implied-eval.js +0 -132
- package/template/lib/ts/node_modules/eslint/lib/rules/no-import-assign.js +0 -241
- package/template/lib/ts/node_modules/eslint/lib/rules/no-inline-comments.js +0 -110
- package/template/lib/ts/node_modules/eslint/lib/rules/no-inner-declarations.js +0 -110
- package/template/lib/ts/node_modules/eslint/lib/rules/no-invalid-regexp.js +0 -194
- package/template/lib/ts/node_modules/eslint/lib/rules/no-invalid-this.js +0 -150
- package/template/lib/ts/node_modules/eslint/lib/rules/no-irregular-whitespace.js +0 -276
- package/template/lib/ts/node_modules/eslint/lib/rules/no-iterator.js +0 -52
- package/template/lib/ts/node_modules/eslint/lib/rules/no-label-var.js +0 -80
- package/template/lib/ts/node_modules/eslint/lib/rules/no-labels.js +0 -149
- package/template/lib/ts/node_modules/eslint/lib/rules/no-lone-blocks.js +0 -136
- package/template/lib/ts/node_modules/eslint/lib/rules/no-lonely-if.js +0 -88
- package/template/lib/ts/node_modules/eslint/lib/rules/no-loop-func.js +0 -206
- package/template/lib/ts/node_modules/eslint/lib/rules/no-loss-of-precision.js +0 -214
- package/template/lib/ts/node_modules/eslint/lib/rules/no-magic-numbers.js +0 -243
- package/template/lib/ts/node_modules/eslint/lib/rules/no-misleading-character-class.js +0 -300
- package/template/lib/ts/node_modules/eslint/lib/rules/no-mixed-operators.js +0 -229
- package/template/lib/ts/node_modules/eslint/lib/rules/no-mixed-requires.js +0 -238
- package/template/lib/ts/node_modules/eslint/lib/rules/no-mixed-spaces-and-tabs.js +0 -116
- package/template/lib/ts/node_modules/eslint/lib/rules/no-multi-assign.js +0 -67
- package/template/lib/ts/node_modules/eslint/lib/rules/no-multi-spaces.js +0 -141
- package/template/lib/ts/node_modules/eslint/lib/rules/no-multi-str.js +0 -65
- package/template/lib/ts/node_modules/eslint/lib/rules/no-multiple-empty-lines.js +0 -154
- package/template/lib/ts/node_modules/eslint/lib/rules/no-native-reassign.js +0 -98
- package/template/lib/ts/node_modules/eslint/lib/rules/no-negated-condition.js +0 -95
- package/template/lib/ts/node_modules/eslint/lib/rules/no-negated-in-lhs.js +0 -46
- package/template/lib/ts/node_modules/eslint/lib/rules/no-nested-ternary.js +0 -44
- package/template/lib/ts/node_modules/eslint/lib/rules/no-new-func.js +0 -87
- package/template/lib/ts/node_modules/eslint/lib/rules/no-new-native-nonconstructor.js +0 -66
- package/template/lib/ts/node_modules/eslint/lib/rules/no-new-object.js +0 -67
- package/template/lib/ts/node_modules/eslint/lib/rules/no-new-require.js +0 -50
- package/template/lib/ts/node_modules/eslint/lib/rules/no-new-symbol.js +0 -56
- package/template/lib/ts/node_modules/eslint/lib/rules/no-new-wrappers.js +0 -60
- package/template/lib/ts/node_modules/eslint/lib/rules/no-new.js +0 -43
- package/template/lib/ts/node_modules/eslint/lib/rules/no-nonoctal-decimal-escape.js +0 -148
- package/template/lib/ts/node_modules/eslint/lib/rules/no-obj-calls.js +0 -86
- package/template/lib/ts/node_modules/eslint/lib/rules/no-object-constructor.js +0 -117
- package/template/lib/ts/node_modules/eslint/lib/rules/no-octal-escape.js +0 -56
- package/template/lib/ts/node_modules/eslint/lib/rules/no-octal.js +0 -45
- package/template/lib/ts/node_modules/eslint/lib/rules/no-param-reassign.js +0 -230
- package/template/lib/ts/node_modules/eslint/lib/rules/no-path-concat.js +0 -64
- package/template/lib/ts/node_modules/eslint/lib/rules/no-plusplus.js +0 -105
- package/template/lib/ts/node_modules/eslint/lib/rules/no-process-env.js +0 -51
- package/template/lib/ts/node_modules/eslint/lib/rules/no-process-exit.js +0 -47
- package/template/lib/ts/node_modules/eslint/lib/rules/no-promise-executor-return.js +0 -263
- package/template/lib/ts/node_modules/eslint/lib/rules/no-proto.js +0 -48
- package/template/lib/ts/node_modules/eslint/lib/rules/no-prototype-builtins.js +0 -159
- package/template/lib/ts/node_modules/eslint/lib/rules/no-redeclare.js +0 -174
- package/template/lib/ts/node_modules/eslint/lib/rules/no-regex-spaces.js +0 -197
- package/template/lib/ts/node_modules/eslint/lib/rules/no-restricted-exports.js +0 -193
- package/template/lib/ts/node_modules/eslint/lib/rules/no-restricted-globals.js +0 -124
- package/template/lib/ts/node_modules/eslint/lib/rules/no-restricted-imports.js +0 -410
- package/template/lib/ts/node_modules/eslint/lib/rules/no-restricted-modules.js +0 -213
- package/template/lib/ts/node_modules/eslint/lib/rules/no-restricted-properties.js +0 -168
- package/template/lib/ts/node_modules/eslint/lib/rules/no-restricted-syntax.js +0 -70
- package/template/lib/ts/node_modules/eslint/lib/rules/no-return-assign.js +0 -80
- package/template/lib/ts/node_modules/eslint/lib/rules/no-return-await.js +0 -135
- package/template/lib/ts/node_modules/eslint/lib/rules/no-script-url.js +0 -61
- package/template/lib/ts/node_modules/eslint/lib/rules/no-self-assign.js +0 -183
- package/template/lib/ts/node_modules/eslint/lib/rules/no-self-compare.js +0 -60
- package/template/lib/ts/node_modules/eslint/lib/rules/no-sequences.js +0 -138
- package/template/lib/ts/node_modules/eslint/lib/rules/no-setter-return.js +0 -226
- package/template/lib/ts/node_modules/eslint/lib/rules/no-shadow-restricted-names.js +0 -65
- package/template/lib/ts/node_modules/eslint/lib/rules/no-shadow.js +0 -336
- package/template/lib/ts/node_modules/eslint/lib/rules/no-spaced-func.js +0 -83
- package/template/lib/ts/node_modules/eslint/lib/rules/no-sparse-arrays.js +0 -50
- package/template/lib/ts/node_modules/eslint/lib/rules/no-sync.js +0 -64
- package/template/lib/ts/node_modules/eslint/lib/rules/no-tabs.js +0 -81
- package/template/lib/ts/node_modules/eslint/lib/rules/no-template-curly-in-string.js +0 -44
- package/template/lib/ts/node_modules/eslint/lib/rules/no-ternary.js +0 -41
- package/template/lib/ts/node_modules/eslint/lib/rules/no-this-before-super.js +0 -331
- package/template/lib/ts/node_modules/eslint/lib/rules/no-throw-literal.js +0 -51
- package/template/lib/ts/node_modules/eslint/lib/rules/no-trailing-spaces.js +0 -193
- package/template/lib/ts/node_modules/eslint/lib/rules/no-undef-init.js +0 -75
- package/template/lib/ts/node_modules/eslint/lib/rules/no-undef.js +0 -79
- package/template/lib/ts/node_modules/eslint/lib/rules/no-undefined.js +0 -86
- package/template/lib/ts/node_modules/eslint/lib/rules/no-underscore-dangle.js +0 -335
- package/template/lib/ts/node_modules/eslint/lib/rules/no-unexpected-multiline.js +0 -120
- package/template/lib/ts/node_modules/eslint/lib/rules/no-unmodified-loop-condition.js +0 -360
- package/template/lib/ts/node_modules/eslint/lib/rules/no-unneeded-ternary.js +0 -166
- package/template/lib/ts/node_modules/eslint/lib/rules/no-unreachable-loop.js +0 -185
- package/template/lib/ts/node_modules/eslint/lib/rules/no-unreachable.js +0 -293
- package/template/lib/ts/node_modules/eslint/lib/rules/no-unsafe-finally.js +0 -111
- package/template/lib/ts/node_modules/eslint/lib/rules/no-unsafe-negation.js +0 -128
- package/template/lib/ts/node_modules/eslint/lib/rules/no-unsafe-optional-chaining.js +0 -205
- package/template/lib/ts/node_modules/eslint/lib/rules/no-unused-expressions.js +0 -186
- package/template/lib/ts/node_modules/eslint/lib/rules/no-unused-labels.js +0 -143
- package/template/lib/ts/node_modules/eslint/lib/rules/no-unused-private-class-members.js +0 -195
- package/template/lib/ts/node_modules/eslint/lib/rules/no-unused-vars.js +0 -718
- package/template/lib/ts/node_modules/eslint/lib/rules/no-use-before-define.js +0 -348
- package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-backreference.js +0 -194
- package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-call.js +0 -90
- package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-catch.js +0 -57
- package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-computed-key.js +0 -168
- package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-concat.js +0 -115
- package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-constructor.js +0 -189
- package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-escape.js +0 -333
- package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-rename.js +0 -172
- package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-return.js +0 -364
- package/template/lib/ts/node_modules/eslint/lib/rules/no-var.js +0 -334
- package/template/lib/ts/node_modules/eslint/lib/rules/no-void.js +0 -64
- package/template/lib/ts/node_modules/eslint/lib/rules/no-warning-comments.js +0 -201
- package/template/lib/ts/node_modules/eslint/lib/rules/no-whitespace-before-property.js +0 -116
- package/template/lib/ts/node_modules/eslint/lib/rules/no-with.js +0 -39
- package/template/lib/ts/node_modules/eslint/lib/rules/nonblock-statement-body-position.js +0 -127
- package/template/lib/ts/node_modules/eslint/lib/rules/object-curly-newline.js +0 -324
- package/template/lib/ts/node_modules/eslint/lib/rules/object-curly-spacing.js +0 -311
- package/template/lib/ts/node_modules/eslint/lib/rules/object-property-newline.js +0 -102
- package/template/lib/ts/node_modules/eslint/lib/rules/object-shorthand.js +0 -520
- package/template/lib/ts/node_modules/eslint/lib/rules/one-var-declaration-per-line.js +0 -95
- package/template/lib/ts/node_modules/eslint/lib/rules/one-var.js +0 -567
- package/template/lib/ts/node_modules/eslint/lib/rules/operator-assignment.js +0 -209
- package/template/lib/ts/node_modules/eslint/lib/rules/operator-linebreak.js +0 -253
- package/template/lib/ts/node_modules/eslint/lib/rules/padded-blocks.js +0 -310
- package/template/lib/ts/node_modules/eslint/lib/rules/padding-line-between-statements.js +0 -590
- package/template/lib/ts/node_modules/eslint/lib/rules/prefer-arrow-callback.js +0 -381
- package/template/lib/ts/node_modules/eslint/lib/rules/prefer-const.js +0 -501
- package/template/lib/ts/node_modules/eslint/lib/rules/prefer-destructuring.js +0 -301
- package/template/lib/ts/node_modules/eslint/lib/rules/prefer-exponentiation-operator.js +0 -191
- package/template/lib/ts/node_modules/eslint/lib/rules/prefer-named-capture-group.js +0 -178
- package/template/lib/ts/node_modules/eslint/lib/rules/prefer-numeric-literals.js +0 -148
- package/template/lib/ts/node_modules/eslint/lib/rules/prefer-object-has-own.js +0 -114
- package/template/lib/ts/node_modules/eslint/lib/rules/prefer-object-spread.js +0 -298
- package/template/lib/ts/node_modules/eslint/lib/rules/prefer-promise-reject-errors.js +0 -132
- package/template/lib/ts/node_modules/eslint/lib/rules/prefer-reflect.js +0 -127
- package/template/lib/ts/node_modules/eslint/lib/rules/prefer-regex-literals.js +0 -507
- package/template/lib/ts/node_modules/eslint/lib/rules/prefer-rest-params.js +0 -118
- package/template/lib/ts/node_modules/eslint/lib/rules/prefer-spread.js +0 -87
- package/template/lib/ts/node_modules/eslint/lib/rules/prefer-template.js +0 -275
- package/template/lib/ts/node_modules/eslint/lib/rules/quote-props.js +0 -310
- package/template/lib/ts/node_modules/eslint/lib/rules/quotes.js +0 -350
- package/template/lib/ts/node_modules/eslint/lib/rules/radix.js +0 -198
- package/template/lib/ts/node_modules/eslint/lib/rules/require-atomic-updates.js +0 -331
- package/template/lib/ts/node_modules/eslint/lib/rules/require-await.js +0 -113
- package/template/lib/ts/node_modules/eslint/lib/rules/require-jsdoc.js +0 -122
- package/template/lib/ts/node_modules/eslint/lib/rules/require-unicode-regexp.js +0 -129
- package/template/lib/ts/node_modules/eslint/lib/rules/require-yield.js +0 -77
- package/template/lib/ts/node_modules/eslint/lib/rules/rest-spread-spacing.js +0 -123
- package/template/lib/ts/node_modules/eslint/lib/rules/semi-spacing.js +0 -248
- package/template/lib/ts/node_modules/eslint/lib/rules/semi-style.js +0 -158
- package/template/lib/ts/node_modules/eslint/lib/rules/semi.js +0 -438
- package/template/lib/ts/node_modules/eslint/lib/rules/sort-imports.js +0 -241
- package/template/lib/ts/node_modules/eslint/lib/rules/sort-keys.js +0 -230
- package/template/lib/ts/node_modules/eslint/lib/rules/sort-vars.js +0 -104
- package/template/lib/ts/node_modules/eslint/lib/rules/space-before-blocks.js +0 -204
- package/template/lib/ts/node_modules/eslint/lib/rules/space-before-function-paren.js +0 -167
- package/template/lib/ts/node_modules/eslint/lib/rules/space-in-parens.js +0 -285
- package/template/lib/ts/node_modules/eslint/lib/rules/space-infix-ops.js +0 -198
- package/template/lib/ts/node_modules/eslint/lib/rules/space-unary-ops.js +0 -324
- package/template/lib/ts/node_modules/eslint/lib/rules/spaced-comment.js +0 -385
- package/template/lib/ts/node_modules/eslint/lib/rules/strict.js +0 -277
- package/template/lib/ts/node_modules/eslint/lib/rules/switch-colon-spacing.js +0 -132
- package/template/lib/ts/node_modules/eslint/lib/rules/symbol-description.js +0 -73
- package/template/lib/ts/node_modules/eslint/lib/rules/template-curly-spacing.js +0 -144
- package/template/lib/ts/node_modules/eslint/lib/rules/template-tag-spacing.js +0 -93
- package/template/lib/ts/node_modules/eslint/lib/rules/unicode-bom.js +0 -73
- package/template/lib/ts/node_modules/eslint/lib/rules/use-isnan.js +0 -141
- package/template/lib/ts/node_modules/eslint/lib/rules/utils/ast-utils.js +0 -2282
- package/template/lib/ts/node_modules/eslint/lib/rules/utils/fix-tracker.js +0 -114
- package/template/lib/ts/node_modules/eslint/lib/rules/utils/keywords.js +0 -67
- package/template/lib/ts/node_modules/eslint/lib/rules/utils/lazy-loading-rule-map.js +0 -115
- package/template/lib/ts/node_modules/eslint/lib/rules/utils/patterns/letters.js +0 -36
- package/template/lib/ts/node_modules/eslint/lib/rules/utils/regular-expressions.js +0 -42
- package/template/lib/ts/node_modules/eslint/lib/rules/utils/unicode/index.js +0 -11
- package/template/lib/ts/node_modules/eslint/lib/rules/utils/unicode/is-combining-character.js +0 -13
- package/template/lib/ts/node_modules/eslint/lib/rules/utils/unicode/is-emoji-modifier.js +0 -13
- package/template/lib/ts/node_modules/eslint/lib/rules/utils/unicode/is-regional-indicator-symbol.js +0 -13
- package/template/lib/ts/node_modules/eslint/lib/rules/utils/unicode/is-surrogate-pair.js +0 -14
- package/template/lib/ts/node_modules/eslint/lib/rules/valid-jsdoc.js +0 -516
- package/template/lib/ts/node_modules/eslint/lib/rules/valid-typeof.js +0 -127
- package/template/lib/ts/node_modules/eslint/lib/rules/vars-on-top.js +0 -157
- package/template/lib/ts/node_modules/eslint/lib/rules/wrap-iife.js +0 -207
- package/template/lib/ts/node_modules/eslint/lib/rules/wrap-regex.js +0 -61
- package/template/lib/ts/node_modules/eslint/lib/rules/yield-star-spacing.js +0 -130
- package/template/lib/ts/node_modules/eslint/lib/rules/yoda.js +0 -353
- package/template/lib/ts/node_modules/eslint/lib/shared/ajv.js +0 -34
- package/template/lib/ts/node_modules/eslint/lib/shared/ast-utils.js +0 -29
- package/template/lib/ts/node_modules/eslint/lib/shared/config-validator.js +0 -347
- package/template/lib/ts/node_modules/eslint/lib/shared/deprecation-warnings.js +0 -58
- package/template/lib/ts/node_modules/eslint/lib/shared/directives.js +0 -15
- package/template/lib/ts/node_modules/eslint/lib/shared/logging.js +0 -30
- package/template/lib/ts/node_modules/eslint/lib/shared/relative-module-resolver.js +0 -50
- package/template/lib/ts/node_modules/eslint/lib/shared/runtime-info.js +0 -167
- package/template/lib/ts/node_modules/eslint/lib/shared/severity.js +0 -49
- package/template/lib/ts/node_modules/eslint/lib/shared/string-utils.js +0 -60
- package/template/lib/ts/node_modules/eslint/lib/shared/traverser.js +0 -195
- package/template/lib/ts/node_modules/eslint/lib/shared/types.js +0 -216
- package/template/lib/ts/node_modules/eslint/lib/source-code/index.js +0 -5
- package/template/lib/ts/node_modules/eslint/lib/source-code/source-code.js +0 -1055
- package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/backward-token-comment-cursor.js +0 -57
- package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/backward-token-cursor.js +0 -58
- package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/cursor.js +0 -76
- package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/cursors.js +0 -90
- package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/decorative-cursor.js +0 -39
- package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/filter-cursor.js +0 -43
- package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/forward-token-comment-cursor.js +0 -57
- package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/forward-token-cursor.js +0 -63
- package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/index.js +0 -627
- package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/limit-cursor.js +0 -40
- package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/padded-token-cursor.js +0 -38
- package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/skip-cursor.js +0 -42
- package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/utils.js +0 -107
- package/template/lib/ts/node_modules/eslint/lib/unsupported-api.js +0 -30
- package/template/lib/ts/node_modules/eslint/messages/all-files-ignored.js +0 -16
- package/template/lib/ts/node_modules/eslint/messages/eslintrc-incompat.js +0 -98
- package/template/lib/ts/node_modules/eslint/messages/eslintrc-plugins.js +0 -24
- package/template/lib/ts/node_modules/eslint/messages/extend-config-missing.js +0 -13
- package/template/lib/ts/node_modules/eslint/messages/failed-to-read-json.js +0 -11
- package/template/lib/ts/node_modules/eslint/messages/file-not-found.js +0 -10
- package/template/lib/ts/node_modules/eslint/messages/invalid-rule-options.js +0 -17
- package/template/lib/ts/node_modules/eslint/messages/invalid-rule-severity.js +0 -13
- package/template/lib/ts/node_modules/eslint/messages/no-config-found.js +0 -15
- package/template/lib/ts/node_modules/eslint/messages/plugin-conflict.js +0 -22
- package/template/lib/ts/node_modules/eslint/messages/plugin-invalid.js +0 -16
- package/template/lib/ts/node_modules/eslint/messages/plugin-missing.js +0 -19
- package/template/lib/ts/node_modules/eslint/messages/print-config-with-directory-path.js +0 -8
- package/template/lib/ts/node_modules/eslint/messages/shared.js +0 -18
- package/template/lib/ts/node_modules/eslint/messages/whitespace-found.js +0 -11
- package/template/lib/ts/node_modules/eslint/node_modules/.bin/eslint +0 -17
- package/template/lib/ts/node_modules/eslint/node_modules/.bin/eslint.CMD +0 -12
- package/template/lib/ts/node_modules/eslint/node_modules/.bin/eslint.ps1 +0 -41
- package/template/lib/ts/node_modules/eslint/node_modules/.bin/js-yaml +0 -17
- package/template/lib/ts/node_modules/eslint/node_modules/.bin/js-yaml.CMD +0 -12
- package/template/lib/ts/node_modules/eslint/node_modules/.bin/js-yaml.ps1 +0 -41
- package/template/lib/ts/node_modules/eslint/package.json +0 -179
- package/template/lib/ts/node_modules/eslint-import-resolver-typescript/LICENSE +0 -5
- package/template/lib/ts/node_modules/eslint-import-resolver-typescript/README.md +0 -232
- package/template/lib/ts/node_modules/eslint-import-resolver-typescript/lib/index.cjs +0 -278
- package/template/lib/ts/node_modules/eslint-import-resolver-typescript/lib/index.d.ts +0 -20
- package/template/lib/ts/node_modules/eslint-import-resolver-typescript/lib/index.es2020.mjs +0 -251
- package/template/lib/ts/node_modules/eslint-import-resolver-typescript/lib/index.js +0 -252
- package/template/lib/ts/node_modules/eslint-import-resolver-typescript/lib/index.js.map +0 -1
- package/template/lib/ts/node_modules/eslint-import-resolver-typescript/node_modules/.bin/eslint +0 -17
- package/template/lib/ts/node_modules/eslint-import-resolver-typescript/node_modules/.bin/eslint.CMD +0 -12
- package/template/lib/ts/node_modules/eslint-import-resolver-typescript/node_modules/.bin/eslint.ps1 +0 -41
- package/template/lib/ts/node_modules/eslint-import-resolver-typescript/package.json +0 -108
- package/template/lib/ts/node_modules/eslint-import-resolver-typescript/shim.d.ts +0 -4
- package/template/lib/ts/node_modules/eslint-plugin-import/CHANGELOG.md +0 -1925
- package/template/lib/ts/node_modules/eslint-plugin-import/CONTRIBUTING.md +0 -84
- package/template/lib/ts/node_modules/eslint-plugin-import/LICENSE +0 -22
- package/template/lib/ts/node_modules/eslint-plugin-import/README.md +0 -500
- package/template/lib/ts/node_modules/eslint-plugin-import/RELEASE.md +0 -54
- package/template/lib/ts/node_modules/eslint-plugin-import/SECURITY.md +0 -11
- package/template/lib/ts/node_modules/eslint-plugin-import/config/electron.js +0 -8
- package/template/lib/ts/node_modules/eslint-plugin-import/config/errors.js +0 -14
- package/template/lib/ts/node_modules/eslint-plugin-import/config/react-native.js +0 -13
- package/template/lib/ts/node_modules/eslint-plugin-import/config/react.js +0 -18
- package/template/lib/ts/node_modules/eslint-plugin-import/config/recommended.js +0 -28
- package/template/lib/ts/node_modules/eslint-plugin-import/config/stage-0.js +0 -12
- package/template/lib/ts/node_modules/eslint-plugin-import/config/typescript.js +0 -34
- package/template/lib/ts/node_modules/eslint-plugin-import/config/warnings.js +0 -12
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/consistent-type-specifier-style.md +0 -91
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/default.md +0 -72
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/dynamic-import-chunkname.md +0 -92
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/export.md +0 -37
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/exports-last.md +0 -51
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/extensions.md +0 -174
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/first.md +0 -75
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/group-exports.md +0 -118
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/imports-first.md +0 -9
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/max-dependencies.md +0 -70
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/named.md +0 -102
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/namespace.md +0 -106
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/newline-after-import.md +0 -167
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-absolute-path.md +0 -54
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-amd.md +0 -37
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-anonymous-default-export.md +0 -83
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-commonjs.md +0 -96
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-cycle.md +0 -111
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-default-export.md +0 -65
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-deprecated.md +0 -62
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-duplicates.md +0 -109
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-dynamic-require.md +0 -25
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-empty-named-blocks.md +0 -49
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-extraneous-dependencies.md +0 -139
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-import-module-exports.md +0 -81
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-internal-modules.md +0 -136
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-mutable-exports.md +0 -54
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-named-as-default-member.md +0 -52
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-named-as-default.md +0 -53
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-named-default.md +0 -36
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-named-export.md +0 -79
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-namespace.md +0 -44
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-nodejs-modules.md +0 -42
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-relative-packages.md +0 -70
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-relative-parent-imports.md +0 -123
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-restricted-paths.md +0 -198
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-self-import.md +0 -32
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-unassigned-import.md +0 -60
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-unresolved.md +0 -110
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-unused-modules.md +0 -125
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-useless-path-segments.md +0 -85
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-webpack-loader-syntax.md +0 -39
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/order.md +0 -365
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/prefer-default-export.md +0 -185
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/unambiguous.md +0 -57
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/ExportMap.js +0 -856
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/core/importType.js +0 -129
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/core/packagePath.js +0 -22
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/core/staticRequire.js +0 -11
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/docsUrl.js +0 -8
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/importDeclaration.js +0 -5
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/index.js +0 -71
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/consistent-type-specifier-style.js +0 -221
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/default.js +0 -40
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/dynamic-import-chunkname.js +0 -120
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/export.js +0 -250
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/exports-last.js +0 -40
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/extensions.js +0 -193
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/first.js +0 -144
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/group-exports.js +0 -155
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/imports-first.js +0 -16
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/max-dependencies.js +0 -60
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/named.js +0 -143
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/namespace.js +0 -218
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/newline-after-import.js +0 -237
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-absolute-path.js +0 -40
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-amd.js +0 -47
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-anonymous-default-export.js +0 -103
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-commonjs.js +0 -141
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-cycle.js +0 -158
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-default-export.js +0 -43
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-deprecated.js +0 -138
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-duplicates.js +0 -354
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-dynamic-require.js +0 -77
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-empty-named-blocks.js +0 -105
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-extraneous-dependencies.js +0 -301
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-import-module-exports.js +0 -85
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-internal-modules.js +0 -144
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-mutable-exports.js +0 -59
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-named-as-default-member.js +0 -96
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-named-as-default.js +0 -45
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-named-default.js +0 -31
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-named-export.js +0 -39
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-namespace.js +0 -175
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-nodejs-modules.js +0 -44
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-relative-packages.js +0 -71
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-relative-parent-imports.js +0 -48
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-restricted-paths.js +0 -245
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-self-import.js +0 -39
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-unassigned-import.js +0 -79
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-unresolved.js +0 -60
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-unused-modules.js +0 -945
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-useless-path-segments.js +0 -147
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-webpack-loader-syntax.js +0 -26
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/order.js +0 -785
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/prefer-default-export.js +0 -116
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/unambiguous.js +0 -38
- package/template/lib/ts/node_modules/eslint-plugin-import/memo-parser/LICENSE +0 -22
- package/template/lib/ts/node_modules/eslint-plugin-import/memo-parser/README.md +0 -21
- package/template/lib/ts/node_modules/eslint-plugin-import/memo-parser/index.js +0 -41
- package/template/lib/ts/node_modules/eslint-plugin-import/node_modules/.bin/eslint +0 -17
- package/template/lib/ts/node_modules/eslint-plugin-import/node_modules/.bin/eslint.CMD +0 -12
- package/template/lib/ts/node_modules/eslint-plugin-import/node_modules/.bin/eslint.ps1 +0 -41
- package/template/lib/ts/node_modules/eslint-plugin-import/node_modules/.bin/semver +0 -17
- package/template/lib/ts/node_modules/eslint-plugin-import/node_modules/.bin/semver.CMD +0 -12
- package/template/lib/ts/node_modules/eslint-plugin-import/node_modules/.bin/semver.ps1 +0 -41
- package/template/lib/ts/node_modules/eslint-plugin-import/package.json +0 -124
- package/template/lib/ts/node_modules/eslint-plugin-prettier/LICENSE.md +0 -24
- package/template/lib/ts/node_modules/eslint-plugin-prettier/README.md +0 -202
- package/template/lib/ts/node_modules/eslint-plugin-prettier/eslint-plugin-prettier.d.ts +0 -5
- package/template/lib/ts/node_modules/eslint-plugin-prettier/eslint-plugin-prettier.js +0 -254
- package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint +0 -17
- package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint-config-prettier +0 -17
- package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint-config-prettier.CMD +0 -12
- package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint-config-prettier.ps1 +0 -41
- package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint.CMD +0 -12
- package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint.ps1 +0 -41
- package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/prettier +0 -17
- package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/prettier.CMD +0 -12
- package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/prettier.ps1 +0 -41
- package/template/lib/ts/node_modules/eslint-plugin-prettier/package.json +0 -101
- package/template/lib/ts/node_modules/eslint-plugin-prettier/recommended.d.ts +0 -5
- package/template/lib/ts/node_modules/eslint-plugin-prettier/recommended.js +0 -17
- package/template/lib/ts/node_modules/eslint-plugin-prettier/worker.js +0 -181
- package/template/lib/ts/node_modules/prettier/LICENSE +0 -4857
- package/template/lib/ts/node_modules/prettier/README.md +0 -109
- package/template/lib/ts/node_modules/prettier/bin/prettier.cjs +0 -68
- package/template/lib/ts/node_modules/prettier/doc.d.ts +0 -243
- package/template/lib/ts/node_modules/prettier/doc.js +0 -1328
- package/template/lib/ts/node_modules/prettier/doc.mjs +0 -1300
- package/template/lib/ts/node_modules/prettier/index.cjs +0 -648
- package/template/lib/ts/node_modules/prettier/index.d.ts +0 -940
- package/template/lib/ts/node_modules/prettier/index.mjs +0 -24255
- package/template/lib/ts/node_modules/prettier/internal/cli.mjs +0 -7089
- package/template/lib/ts/node_modules/prettier/node_modules/.bin/prettier +0 -17
- package/template/lib/ts/node_modules/prettier/node_modules/.bin/prettier.CMD +0 -12
- package/template/lib/ts/node_modules/prettier/node_modules/.bin/prettier.ps1 +0 -41
- package/template/lib/ts/node_modules/prettier/package.json +0 -198
- package/template/lib/ts/node_modules/prettier/plugins/acorn.d.ts +0 -6
- package/template/lib/ts/node_modules/prettier/plugins/acorn.js +0 -13
- package/template/lib/ts/node_modules/prettier/plugins/acorn.mjs +0 -13
- package/template/lib/ts/node_modules/prettier/plugins/angular.d.ts +0 -8
- package/template/lib/ts/node_modules/prettier/plugins/angular.js +0 -1
- package/template/lib/ts/node_modules/prettier/plugins/angular.mjs +0 -1
- package/template/lib/ts/node_modules/prettier/plugins/babel.d.ts +0 -18
- package/template/lib/ts/node_modules/prettier/plugins/babel.js +0 -16
- package/template/lib/ts/node_modules/prettier/plugins/babel.mjs +0 -16
- package/template/lib/ts/node_modules/prettier/plugins/estree.d.ts +0 -1
- package/template/lib/ts/node_modules/prettier/plugins/estree.js +0 -36
- package/template/lib/ts/node_modules/prettier/plugins/estree.mjs +0 -36
- package/template/lib/ts/node_modules/prettier/plugins/flow.d.ts +0 -5
- package/template/lib/ts/node_modules/prettier/plugins/flow.js +0 -21
- package/template/lib/ts/node_modules/prettier/plugins/flow.mjs +0 -21
- package/template/lib/ts/node_modules/prettier/plugins/glimmer.d.ts +0 -5
- package/template/lib/ts/node_modules/prettier/plugins/glimmer.js +0 -30
- package/template/lib/ts/node_modules/prettier/plugins/glimmer.mjs +0 -30
- package/template/lib/ts/node_modules/prettier/plugins/graphql.d.ts +0 -5
- package/template/lib/ts/node_modules/prettier/plugins/graphql.js +0 -29
- package/template/lib/ts/node_modules/prettier/plugins/graphql.mjs +0 -29
- package/template/lib/ts/node_modules/prettier/plugins/html.d.ts +0 -8
- package/template/lib/ts/node_modules/prettier/plugins/html.js +0 -19
- package/template/lib/ts/node_modules/prettier/plugins/html.mjs +0 -19
- package/template/lib/ts/node_modules/prettier/plugins/markdown.d.ts +0 -7
- package/template/lib/ts/node_modules/prettier/plugins/markdown.js +0 -59
- package/template/lib/ts/node_modules/prettier/plugins/markdown.mjs +0 -59
- package/template/lib/ts/node_modules/prettier/plugins/meriyah.d.ts +0 -5
- package/template/lib/ts/node_modules/prettier/plugins/meriyah.js +0 -5
- package/template/lib/ts/node_modules/prettier/plugins/meriyah.mjs +0 -5
- package/template/lib/ts/node_modules/prettier/plugins/postcss.d.ts +0 -7
- package/template/lib/ts/node_modules/prettier/plugins/postcss.js +0 -49
- package/template/lib/ts/node_modules/prettier/plugins/postcss.mjs +0 -49
- package/template/lib/ts/node_modules/prettier/plugins/typescript.d.ts +0 -5
- package/template/lib/ts/node_modules/prettier/plugins/typescript.js +0 -25
- package/template/lib/ts/node_modules/prettier/plugins/typescript.mjs +0 -25
- package/template/lib/ts/node_modules/prettier/plugins/yaml.d.ts +0 -5
- package/template/lib/ts/node_modules/prettier/plugins/yaml.js +0 -161
- package/template/lib/ts/node_modules/prettier/plugins/yaml.mjs +0 -161
- package/template/lib/ts/node_modules/prettier/standalone.d.ts +0 -33
- package/template/lib/ts/node_modules/prettier/standalone.js +0 -34
- package/template/lib/ts/node_modules/prettier/standalone.mjs +0 -34
- package/template/lib/ts/node_modules/stylelint-config-standard-scss/LICENSE +0 -21
- package/template/lib/ts/node_modules/stylelint-config-standard-scss/README.md +0 -50
- package/template/lib/ts/node_modules/stylelint-config-standard-scss/index.js +0 -67
- package/template/lib/ts/node_modules/stylelint-config-standard-scss/node_modules/.bin/stylelint +0 -17
- package/template/lib/ts/node_modules/stylelint-config-standard-scss/node_modules/.bin/stylelint.CMD +0 -12
- package/template/lib/ts/node_modules/stylelint-config-standard-scss/node_modules/.bin/stylelint.ps1 +0 -41
- package/template/lib/ts/node_modules/stylelint-config-standard-scss/package.json +0 -58
- /package/template/web-app/{react → react-rspack}/.editorconfig +0 -0
- /package/template/web-app/{react → react-rspack}/.eslintignore +0 -0
- /package/template/web-app/{react → react-rspack}/.gitignore +0 -0
- /package/template/web-app/{react → react-rspack}/.husky/commit-msg +0 -0
- /package/template/web-app/{react → react-rspack}/.husky/pre-commit +0 -0
- /package/template/web-app/{react → react-rspack}/.prettierignore +0 -0
- /package/template/web-app/{react → react-rspack}/.prettierrc +0 -0
- /package/template/web-app/{react → react-rspack}/.stylelintignore +0 -0
- /package/template/web-app/{react → react-rspack}/.stylelintrc +0 -0
- /package/template/web-app/{react → react-rspack}/.vscode/extensions.json +0 -0
- /package/template/web-app/{react → react-rspack}/.vscode/settings.json +0 -0
- /package/template/web-app/{react → react-rspack}/commitlint.config.cjs +0 -0
- /package/template/web-app/{react → react-rspack}/domain/app/app.model.ts +0 -0
- /package/template/web-app/{react → react-rspack}/domain/app/app.styled.ts +0 -0
- /package/template/web-app/{react → react-rspack}/domain/app/components/app-context.tsx +0 -0
- /package/template/web-app/{react → react-rspack}/domain/app/components/app.tsx +0 -0
- /package/template/web-app/{react → react-rspack}/domain/app/components/index.ts +0 -0
- /package/template/web-app/{react → react-rspack}/domain/app/index.ts +0 -0
- /package/template/web-app/{react → react-rspack}/domain/router/home/ids.ts +0 -0
- /package/template/web-app/{react → react-rspack}/domain/router/home/index.ts +0 -0
- /package/template/web-app/{react → react-rspack}/domain/router/home/routes.tsx +0 -0
- /package/template/web-app/{react → react-rspack}/domain/router/ids.ts +0 -0
- /package/template/web-app/{react → react-rspack}/domain/router/index.ts +0 -0
- /package/template/web-app/{react → react-rspack}/domain/router/router.types.ts +0 -0
- /package/template/web-app/{react → react-rspack}/main.tsx +0 -0
- /package/template/web-app/{react → react-rspack}/pages/home/home.styled.ts +0 -0
- /package/template/web-app/{react → react-rspack}/pages/home/home.tsx +0 -0
- /package/template/web-app/{react → react-rspack}/pages/home/index.ts +0 -0
- /package/template/web-app/{react → react-rspack}/pages/index.tsx +0 -0
- /package/template/web-app/{react → react-rspack}/pages/not-found.tsx +0 -0
- /package/template/web-app/{react → react-rspack}/postcss.config.cjs +0 -0
- /package/template/web-app/{react → react-rspack}/scripts/createChunks.ts +0 -0
- /package/template/web-app/{react → react-rspack}/scripts/index.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/assets/react.svg +0 -0
- /package/template/web-app/{react → react-rspack}/shared/components/index.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/constant/index.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/hooks/defineRouter/defineRouter.types.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/hooks/defineRouter/deineRouter.tsx +0 -0
- /package/template/web-app/{react → react-rspack}/shared/hooks/defineRouter/index.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/hooks/index.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/hooks/useInterval.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/hooks/useLoadingAction.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/hooks/useLowPriorityState.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/hooks/useSyncState.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/hooks/useVisible.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/service/api.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/service/index.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/theme/index.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/theme/theme.styled.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/tools/componentInstance.tsx +0 -0
- /package/template/web-app/{react → react-rspack}/shared/tools/index.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/types/index.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/types/utils.ts +0 -0
- /package/template/web-app/{react → react-rspack}/tsconfig.json +0 -0
- /package/template/web-app/{react → react-vite}/.env +0 -0
- /package/template/web-app/{react → react-vite}/.env.development +0 -0
- /package/template/web-app/{react → react-vite}/.eslintrc +0 -0
- /package/template/web-app/{react → react-vite}/README.md +0 -0
- /package/template/web-app/{react → react-vite}/domain/router/router.tsx +0 -0
- /package/template/web-app/{react → react-vite}/index.html +0 -0
- /package/template/web-app/{react → react-vite}/mockUtils.ts +0 -0
- /package/template/web-app/{react → react-vite}/package.json +0 -0
- /package/template/web-app/{react → react-vite}/pages/home/home.mock.ts +0 -0
- /package/template/web-app/{react → react-vite}/public/vite.svg +0 -0
- /package/template/web-app/{react → react-vite}/shared/service/home.ts +0 -0
- /package/template/web-app/{react → react-vite}/shared/service/request.ts +0 -0
- /package/template/web-app/{react → react-vite}/tsconfig.node.json +0 -0
- /package/template/web-app/{react → react-vite}/vite-env.d.ts +0 -0
- /package/template/web-app/{react → react-vite}/vite.config.ts +0 -0
|
@@ -1,785 +0,0 @@
|
|
|
1
|
-
'use strict';var _slicedToArray = function () {function sliceIterator(arr, i) {var _arr = [];var _n = true;var _d = false;var _e = undefined;try {for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {_arr.push(_s.value);if (i && _arr.length === i) break;}} catch (err) {_d = true;_e = err;} finally {try {if (!_n && _i["return"]) _i["return"]();} finally {if (_d) throw _e;}}return _arr;}return function (arr, i) {if (Array.isArray(arr)) {return arr;} else if (Symbol.iterator in Object(arr)) {return sliceIterator(arr, i);} else {throw new TypeError("Invalid attempt to destructure non-iterable instance");}};}();
|
|
2
|
-
|
|
3
|
-
var _minimatch = require('minimatch');var _minimatch2 = _interopRequireDefault(_minimatch);
|
|
4
|
-
var _arrayIncludes = require('array-includes');var _arrayIncludes2 = _interopRequireDefault(_arrayIncludes);
|
|
5
|
-
var _object = require('object.groupby');var _object2 = _interopRequireDefault(_object);
|
|
6
|
-
|
|
7
|
-
var _importType = require('../core/importType');var _importType2 = _interopRequireDefault(_importType);
|
|
8
|
-
var _staticRequire = require('../core/staticRequire');var _staticRequire2 = _interopRequireDefault(_staticRequire);
|
|
9
|
-
var _docsUrl = require('../docsUrl');var _docsUrl2 = _interopRequireDefault(_docsUrl);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { 'default': obj };}
|
|
10
|
-
|
|
11
|
-
var defaultGroups = ['builtin', 'external', 'parent', 'sibling', 'index'];
|
|
12
|
-
|
|
13
|
-
// REPORTING AND FIXING
|
|
14
|
-
|
|
15
|
-
function reverse(array) {
|
|
16
|
-
return array.map(function (v) {
|
|
17
|
-
return Object.assign({}, v, { rank: -v.rank });
|
|
18
|
-
}).reverse();
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
function getTokensOrCommentsAfter(sourceCode, node, count) {
|
|
22
|
-
var currentNodeOrToken = node;
|
|
23
|
-
var result = [];
|
|
24
|
-
for (var i = 0; i < count; i++) {
|
|
25
|
-
currentNodeOrToken = sourceCode.getTokenOrCommentAfter(currentNodeOrToken);
|
|
26
|
-
if (currentNodeOrToken == null) {
|
|
27
|
-
break;
|
|
28
|
-
}
|
|
29
|
-
result.push(currentNodeOrToken);
|
|
30
|
-
}
|
|
31
|
-
return result;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
function getTokensOrCommentsBefore(sourceCode, node, count) {
|
|
35
|
-
var currentNodeOrToken = node;
|
|
36
|
-
var result = [];
|
|
37
|
-
for (var i = 0; i < count; i++) {
|
|
38
|
-
currentNodeOrToken = sourceCode.getTokenOrCommentBefore(currentNodeOrToken);
|
|
39
|
-
if (currentNodeOrToken == null) {
|
|
40
|
-
break;
|
|
41
|
-
}
|
|
42
|
-
result.push(currentNodeOrToken);
|
|
43
|
-
}
|
|
44
|
-
return result.reverse();
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
function takeTokensAfterWhile(sourceCode, node, condition) {
|
|
48
|
-
var tokens = getTokensOrCommentsAfter(sourceCode, node, 100);
|
|
49
|
-
var result = [];
|
|
50
|
-
for (var i = 0; i < tokens.length; i++) {
|
|
51
|
-
if (condition(tokens[i])) {
|
|
52
|
-
result.push(tokens[i]);
|
|
53
|
-
} else {
|
|
54
|
-
break;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
return result;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
function takeTokensBeforeWhile(sourceCode, node, condition) {
|
|
61
|
-
var tokens = getTokensOrCommentsBefore(sourceCode, node, 100);
|
|
62
|
-
var result = [];
|
|
63
|
-
for (var i = tokens.length - 1; i >= 0; i--) {
|
|
64
|
-
if (condition(tokens[i])) {
|
|
65
|
-
result.push(tokens[i]);
|
|
66
|
-
} else {
|
|
67
|
-
break;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
return result.reverse();
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
function findOutOfOrder(imported) {
|
|
74
|
-
if (imported.length === 0) {
|
|
75
|
-
return [];
|
|
76
|
-
}
|
|
77
|
-
var maxSeenRankNode = imported[0];
|
|
78
|
-
return imported.filter(function (importedModule) {
|
|
79
|
-
var res = importedModule.rank < maxSeenRankNode.rank;
|
|
80
|
-
if (maxSeenRankNode.rank < importedModule.rank) {
|
|
81
|
-
maxSeenRankNode = importedModule;
|
|
82
|
-
}
|
|
83
|
-
return res;
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
function findRootNode(node) {
|
|
88
|
-
var parent = node;
|
|
89
|
-
while (parent.parent != null && parent.parent.body == null) {
|
|
90
|
-
parent = parent.parent;
|
|
91
|
-
}
|
|
92
|
-
return parent;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
function findEndOfLineWithComments(sourceCode, node) {
|
|
96
|
-
var tokensToEndOfLine = takeTokensAfterWhile(sourceCode, node, commentOnSameLineAs(node));
|
|
97
|
-
var endOfTokens = tokensToEndOfLine.length > 0 ?
|
|
98
|
-
tokensToEndOfLine[tokensToEndOfLine.length - 1].range[1] :
|
|
99
|
-
node.range[1];
|
|
100
|
-
var result = endOfTokens;
|
|
101
|
-
for (var i = endOfTokens; i < sourceCode.text.length; i++) {
|
|
102
|
-
if (sourceCode.text[i] === '\n') {
|
|
103
|
-
result = i + 1;
|
|
104
|
-
break;
|
|
105
|
-
}
|
|
106
|
-
if (sourceCode.text[i] !== ' ' && sourceCode.text[i] !== '\t' && sourceCode.text[i] !== '\r') {
|
|
107
|
-
break;
|
|
108
|
-
}
|
|
109
|
-
result = i + 1;
|
|
110
|
-
}
|
|
111
|
-
return result;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
function commentOnSameLineAs(node) {
|
|
115
|
-
return function (token) {return (token.type === 'Block' || token.type === 'Line') &&
|
|
116
|
-
token.loc.start.line === token.loc.end.line &&
|
|
117
|
-
token.loc.end.line === node.loc.end.line;};
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
function findStartOfLineWithComments(sourceCode, node) {
|
|
121
|
-
var tokensToEndOfLine = takeTokensBeforeWhile(sourceCode, node, commentOnSameLineAs(node));
|
|
122
|
-
var startOfTokens = tokensToEndOfLine.length > 0 ? tokensToEndOfLine[0].range[0] : node.range[0];
|
|
123
|
-
var result = startOfTokens;
|
|
124
|
-
for (var i = startOfTokens - 1; i > 0; i--) {
|
|
125
|
-
if (sourceCode.text[i] !== ' ' && sourceCode.text[i] !== '\t') {
|
|
126
|
-
break;
|
|
127
|
-
}
|
|
128
|
-
result = i;
|
|
129
|
-
}
|
|
130
|
-
return result;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
function isRequireExpression(expr) {
|
|
134
|
-
return expr != null &&
|
|
135
|
-
expr.type === 'CallExpression' &&
|
|
136
|
-
expr.callee != null &&
|
|
137
|
-
expr.callee.name === 'require' &&
|
|
138
|
-
expr.arguments != null &&
|
|
139
|
-
expr.arguments.length === 1 &&
|
|
140
|
-
expr.arguments[0].type === 'Literal';
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
function isSupportedRequireModule(node) {
|
|
144
|
-
if (node.type !== 'VariableDeclaration') {
|
|
145
|
-
return false;
|
|
146
|
-
}
|
|
147
|
-
if (node.declarations.length !== 1) {
|
|
148
|
-
return false;
|
|
149
|
-
}
|
|
150
|
-
var decl = node.declarations[0];
|
|
151
|
-
var isPlainRequire = decl.id && (
|
|
152
|
-
decl.id.type === 'Identifier' || decl.id.type === 'ObjectPattern') &&
|
|
153
|
-
isRequireExpression(decl.init);
|
|
154
|
-
var isRequireWithMemberExpression = decl.id && (
|
|
155
|
-
decl.id.type === 'Identifier' || decl.id.type === 'ObjectPattern') &&
|
|
156
|
-
decl.init != null &&
|
|
157
|
-
decl.init.type === 'CallExpression' &&
|
|
158
|
-
decl.init.callee != null &&
|
|
159
|
-
decl.init.callee.type === 'MemberExpression' &&
|
|
160
|
-
isRequireExpression(decl.init.callee.object);
|
|
161
|
-
return isPlainRequire || isRequireWithMemberExpression;
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
function isPlainImportModule(node) {
|
|
165
|
-
return node.type === 'ImportDeclaration' && node.specifiers != null && node.specifiers.length > 0;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
function isPlainImportEquals(node) {
|
|
169
|
-
return node.type === 'TSImportEqualsDeclaration' && node.moduleReference.expression;
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
function canCrossNodeWhileReorder(node) {
|
|
173
|
-
return isSupportedRequireModule(node) || isPlainImportModule(node) || isPlainImportEquals(node);
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
function canReorderItems(firstNode, secondNode) {
|
|
177
|
-
var parent = firstNode.parent;var _sort =
|
|
178
|
-
[
|
|
179
|
-
parent.body.indexOf(firstNode),
|
|
180
|
-
parent.body.indexOf(secondNode)].
|
|
181
|
-
sort(),_sort2 = _slicedToArray(_sort, 2),firstIndex = _sort2[0],secondIndex = _sort2[1];
|
|
182
|
-
var nodesBetween = parent.body.slice(firstIndex, secondIndex + 1);var _iteratorNormalCompletion = true;var _didIteratorError = false;var _iteratorError = undefined;try {
|
|
183
|
-
for (var _iterator = nodesBetween[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {var nodeBetween = _step.value;
|
|
184
|
-
if (!canCrossNodeWhileReorder(nodeBetween)) {
|
|
185
|
-
return false;
|
|
186
|
-
}
|
|
187
|
-
}} catch (err) {_didIteratorError = true;_iteratorError = err;} finally {try {if (!_iteratorNormalCompletion && _iterator['return']) {_iterator['return']();}} finally {if (_didIteratorError) {throw _iteratorError;}}}
|
|
188
|
-
return true;
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
function makeImportDescription(node) {
|
|
192
|
-
if (node.node.importKind === 'type') {
|
|
193
|
-
return 'type import';
|
|
194
|
-
}
|
|
195
|
-
if (node.node.importKind === 'typeof') {
|
|
196
|
-
return 'typeof import';
|
|
197
|
-
}
|
|
198
|
-
return 'import';
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
function fixOutOfOrder(context, firstNode, secondNode, order) {
|
|
202
|
-
var sourceCode = context.getSourceCode();
|
|
203
|
-
|
|
204
|
-
var firstRoot = findRootNode(firstNode.node);
|
|
205
|
-
var firstRootStart = findStartOfLineWithComments(sourceCode, firstRoot);
|
|
206
|
-
var firstRootEnd = findEndOfLineWithComments(sourceCode, firstRoot);
|
|
207
|
-
|
|
208
|
-
var secondRoot = findRootNode(secondNode.node);
|
|
209
|
-
var secondRootStart = findStartOfLineWithComments(sourceCode, secondRoot);
|
|
210
|
-
var secondRootEnd = findEndOfLineWithComments(sourceCode, secondRoot);
|
|
211
|
-
var canFix = canReorderItems(firstRoot, secondRoot);
|
|
212
|
-
|
|
213
|
-
var newCode = sourceCode.text.substring(secondRootStart, secondRootEnd);
|
|
214
|
-
if (newCode[newCode.length - 1] !== '\n') {
|
|
215
|
-
newCode = String(newCode) + '\n';
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
var firstImport = String(makeImportDescription(firstNode)) + ' of `' + String(firstNode.displayName) + '`';
|
|
219
|
-
var secondImport = '`' + String(secondNode.displayName) + '` ' + String(makeImportDescription(secondNode));
|
|
220
|
-
var message = secondImport + ' should occur ' + String(order) + ' ' + firstImport;
|
|
221
|
-
|
|
222
|
-
if (order === 'before') {
|
|
223
|
-
context.report({
|
|
224
|
-
node: secondNode.node,
|
|
225
|
-
message: message,
|
|
226
|
-
fix: canFix && function (fixer) {return fixer.replaceTextRange(
|
|
227
|
-
[firstRootStart, secondRootEnd],
|
|
228
|
-
newCode + sourceCode.text.substring(firstRootStart, secondRootStart));} });
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
} else if (order === 'after') {
|
|
232
|
-
context.report({
|
|
233
|
-
node: secondNode.node,
|
|
234
|
-
message: message,
|
|
235
|
-
fix: canFix && function (fixer) {return fixer.replaceTextRange(
|
|
236
|
-
[secondRootStart, firstRootEnd],
|
|
237
|
-
sourceCode.text.substring(secondRootEnd, firstRootEnd) + newCode);} });
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
function reportOutOfOrder(context, imported, outOfOrder, order) {
|
|
244
|
-
outOfOrder.forEach(function (imp) {
|
|
245
|
-
var found = imported.find(function () {function hasHigherRank(importedItem) {
|
|
246
|
-
return importedItem.rank > imp.rank;
|
|
247
|
-
}return hasHigherRank;}());
|
|
248
|
-
fixOutOfOrder(context, found, imp, order);
|
|
249
|
-
});
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
function makeOutOfOrderReport(context, imported) {
|
|
253
|
-
var outOfOrder = findOutOfOrder(imported);
|
|
254
|
-
if (!outOfOrder.length) {
|
|
255
|
-
return;
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
// There are things to report. Try to minimize the number of reported errors.
|
|
259
|
-
var reversedImported = reverse(imported);
|
|
260
|
-
var reversedOrder = findOutOfOrder(reversedImported);
|
|
261
|
-
if (reversedOrder.length < outOfOrder.length) {
|
|
262
|
-
reportOutOfOrder(context, reversedImported, reversedOrder, 'after');
|
|
263
|
-
return;
|
|
264
|
-
}
|
|
265
|
-
reportOutOfOrder(context, imported, outOfOrder, 'before');
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
var compareString = function compareString(a, b) {
|
|
269
|
-
if (a < b) {
|
|
270
|
-
return -1;
|
|
271
|
-
}
|
|
272
|
-
if (a > b) {
|
|
273
|
-
return 1;
|
|
274
|
-
}
|
|
275
|
-
return 0;
|
|
276
|
-
};
|
|
277
|
-
|
|
278
|
-
/** Some parsers (languages without types) don't provide ImportKind */
|
|
279
|
-
var DEAFULT_IMPORT_KIND = 'value';
|
|
280
|
-
var getNormalizedValue = function getNormalizedValue(node, toLowerCase) {
|
|
281
|
-
var value = node.value;
|
|
282
|
-
return toLowerCase ? String(value).toLowerCase() : value;
|
|
283
|
-
};
|
|
284
|
-
|
|
285
|
-
function getSorter(alphabetizeOptions) {
|
|
286
|
-
var multiplier = alphabetizeOptions.order === 'asc' ? 1 : -1;
|
|
287
|
-
var orderImportKind = alphabetizeOptions.orderImportKind;
|
|
288
|
-
var multiplierImportKind = orderImportKind !== 'ignore' && (
|
|
289
|
-
alphabetizeOptions.orderImportKind === 'asc' ? 1 : -1);
|
|
290
|
-
|
|
291
|
-
return function () {function importsSorter(nodeA, nodeB) {
|
|
292
|
-
var importA = getNormalizedValue(nodeA, alphabetizeOptions.caseInsensitive);
|
|
293
|
-
var importB = getNormalizedValue(nodeB, alphabetizeOptions.caseInsensitive);
|
|
294
|
-
var result = 0;
|
|
295
|
-
|
|
296
|
-
if (!(0, _arrayIncludes2['default'])(importA, '/') && !(0, _arrayIncludes2['default'])(importB, '/')) {
|
|
297
|
-
result = compareString(importA, importB);
|
|
298
|
-
} else {
|
|
299
|
-
var A = importA.split('/');
|
|
300
|
-
var B = importB.split('/');
|
|
301
|
-
var a = A.length;
|
|
302
|
-
var b = B.length;
|
|
303
|
-
|
|
304
|
-
for (var i = 0; i < Math.min(a, b); i++) {
|
|
305
|
-
result = compareString(A[i], B[i]);
|
|
306
|
-
if (result) {break;}
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
if (!result && a !== b) {
|
|
310
|
-
result = a < b ? -1 : 1;
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
result = result * multiplier;
|
|
315
|
-
|
|
316
|
-
// In case the paths are equal (result === 0), sort them by importKind
|
|
317
|
-
if (!result && multiplierImportKind) {
|
|
318
|
-
result = multiplierImportKind * compareString(
|
|
319
|
-
nodeA.node.importKind || DEAFULT_IMPORT_KIND,
|
|
320
|
-
nodeB.node.importKind || DEAFULT_IMPORT_KIND);
|
|
321
|
-
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
return result;
|
|
325
|
-
}return importsSorter;}();
|
|
326
|
-
}
|
|
327
|
-
|
|
328
|
-
function mutateRanksToAlphabetize(imported, alphabetizeOptions) {
|
|
329
|
-
var groupedByRanks = (0, _object2['default'])(imported, function (item) {return item.rank;});
|
|
330
|
-
|
|
331
|
-
var sorterFn = getSorter(alphabetizeOptions);
|
|
332
|
-
|
|
333
|
-
// sort group keys so that they can be iterated on in order
|
|
334
|
-
var groupRanks = Object.keys(groupedByRanks).sort(function (a, b) {
|
|
335
|
-
return a - b;
|
|
336
|
-
});
|
|
337
|
-
|
|
338
|
-
// sort imports locally within their group
|
|
339
|
-
groupRanks.forEach(function (groupRank) {
|
|
340
|
-
groupedByRanks[groupRank].sort(sorterFn);
|
|
341
|
-
});
|
|
342
|
-
|
|
343
|
-
// assign globally unique rank to each import
|
|
344
|
-
var newRank = 0;
|
|
345
|
-
var alphabetizedRanks = groupRanks.reduce(function (acc, groupRank) {
|
|
346
|
-
groupedByRanks[groupRank].forEach(function (importedItem) {
|
|
347
|
-
acc[String(importedItem.value) + '|' + String(importedItem.node.importKind)] = parseInt(groupRank, 10) + newRank;
|
|
348
|
-
newRank += 1;
|
|
349
|
-
});
|
|
350
|
-
return acc;
|
|
351
|
-
}, {});
|
|
352
|
-
|
|
353
|
-
// mutate the original group-rank with alphabetized-rank
|
|
354
|
-
imported.forEach(function (importedItem) {
|
|
355
|
-
importedItem.rank = alphabetizedRanks[String(importedItem.value) + '|' + String(importedItem.node.importKind)];
|
|
356
|
-
});
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
// DETECTING
|
|
360
|
-
|
|
361
|
-
function computePathRank(ranks, pathGroups, path, maxPosition) {
|
|
362
|
-
for (var i = 0, l = pathGroups.length; i < l; i++) {var _pathGroups$i =
|
|
363
|
-
pathGroups[i],pattern = _pathGroups$i.pattern,patternOptions = _pathGroups$i.patternOptions,group = _pathGroups$i.group,_pathGroups$i$positio = _pathGroups$i.position,position = _pathGroups$i$positio === undefined ? 1 : _pathGroups$i$positio;
|
|
364
|
-
if ((0, _minimatch2['default'])(path, pattern, patternOptions || { nocomment: true })) {
|
|
365
|
-
return ranks[group] + position / maxPosition;
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
}
|
|
369
|
-
|
|
370
|
-
function computeRank(context, ranks, importEntry, excludedImportTypes) {
|
|
371
|
-
var impType = void 0;
|
|
372
|
-
var rank = void 0;
|
|
373
|
-
if (importEntry.type === 'import:object') {
|
|
374
|
-
impType = 'object';
|
|
375
|
-
} else if (importEntry.node.importKind === 'type' && ranks.omittedTypes.indexOf('type') === -1) {
|
|
376
|
-
impType = 'type';
|
|
377
|
-
} else {
|
|
378
|
-
impType = (0, _importType2['default'])(importEntry.value, context);
|
|
379
|
-
}
|
|
380
|
-
if (!excludedImportTypes.has(impType)) {
|
|
381
|
-
rank = computePathRank(ranks.groups, ranks.pathGroups, importEntry.value, ranks.maxPosition);
|
|
382
|
-
}
|
|
383
|
-
if (typeof rank === 'undefined') {
|
|
384
|
-
rank = ranks.groups[impType];
|
|
385
|
-
}
|
|
386
|
-
if (importEntry.type !== 'import' && !importEntry.type.startsWith('import:')) {
|
|
387
|
-
rank += 100;
|
|
388
|
-
}
|
|
389
|
-
|
|
390
|
-
return rank;
|
|
391
|
-
}
|
|
392
|
-
|
|
393
|
-
function registerNode(context, importEntry, ranks, imported, excludedImportTypes) {
|
|
394
|
-
var rank = computeRank(context, ranks, importEntry, excludedImportTypes);
|
|
395
|
-
if (rank !== -1) {
|
|
396
|
-
imported.push(Object.assign({}, importEntry, { rank: rank }));
|
|
397
|
-
}
|
|
398
|
-
}
|
|
399
|
-
|
|
400
|
-
function getRequireBlock(node) {
|
|
401
|
-
var n = node;
|
|
402
|
-
// Handle cases like `const baz = require('foo').bar.baz`
|
|
403
|
-
// and `const foo = require('foo')()`
|
|
404
|
-
while (
|
|
405
|
-
n.parent.type === 'MemberExpression' && n.parent.object === n ||
|
|
406
|
-
n.parent.type === 'CallExpression' && n.parent.callee === n)
|
|
407
|
-
{
|
|
408
|
-
n = n.parent;
|
|
409
|
-
}
|
|
410
|
-
if (
|
|
411
|
-
n.parent.type === 'VariableDeclarator' &&
|
|
412
|
-
n.parent.parent.type === 'VariableDeclaration' &&
|
|
413
|
-
n.parent.parent.parent.type === 'Program')
|
|
414
|
-
{
|
|
415
|
-
return n.parent.parent.parent;
|
|
416
|
-
}
|
|
417
|
-
}
|
|
418
|
-
|
|
419
|
-
var types = ['builtin', 'external', 'internal', 'unknown', 'parent', 'sibling', 'index', 'object', 'type'];
|
|
420
|
-
|
|
421
|
-
// Creates an object with type-rank pairs.
|
|
422
|
-
// Example: { index: 0, sibling: 1, parent: 1, external: 1, builtin: 2, internal: 2 }
|
|
423
|
-
// Will throw an error if it contains a type that does not exist, or has a duplicate
|
|
424
|
-
function convertGroupsToRanks(groups) {
|
|
425
|
-
var rankObject = groups.reduce(function (res, group, index) {
|
|
426
|
-
[].concat(group).forEach(function (groupItem) {
|
|
427
|
-
if (types.indexOf(groupItem) === -1) {
|
|
428
|
-
throw new Error('Incorrect configuration of the rule: Unknown type `' + String(JSON.stringify(groupItem)) + '`');
|
|
429
|
-
}
|
|
430
|
-
if (res[groupItem] !== undefined) {
|
|
431
|
-
throw new Error('Incorrect configuration of the rule: `' + String(groupItem) + '` is duplicated');
|
|
432
|
-
}
|
|
433
|
-
res[groupItem] = index * 2;
|
|
434
|
-
});
|
|
435
|
-
return res;
|
|
436
|
-
}, {});
|
|
437
|
-
|
|
438
|
-
var omittedTypes = types.filter(function (type) {
|
|
439
|
-
return typeof rankObject[type] === 'undefined';
|
|
440
|
-
});
|
|
441
|
-
|
|
442
|
-
var ranks = omittedTypes.reduce(function (res, type) {
|
|
443
|
-
res[type] = groups.length * 2;
|
|
444
|
-
return res;
|
|
445
|
-
}, rankObject);
|
|
446
|
-
|
|
447
|
-
return { groups: ranks, omittedTypes: omittedTypes };
|
|
448
|
-
}
|
|
449
|
-
|
|
450
|
-
function convertPathGroupsForRanks(pathGroups) {
|
|
451
|
-
var after = {};
|
|
452
|
-
var before = {};
|
|
453
|
-
|
|
454
|
-
var transformed = pathGroups.map(function (pathGroup, index) {var
|
|
455
|
-
group = pathGroup.group,positionString = pathGroup.position;
|
|
456
|
-
var position = 0;
|
|
457
|
-
if (positionString === 'after') {
|
|
458
|
-
if (!after[group]) {
|
|
459
|
-
after[group] = 1;
|
|
460
|
-
}
|
|
461
|
-
position = after[group]++;
|
|
462
|
-
} else if (positionString === 'before') {
|
|
463
|
-
if (!before[group]) {
|
|
464
|
-
before[group] = [];
|
|
465
|
-
}
|
|
466
|
-
before[group].push(index);
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
return Object.assign({}, pathGroup, { position: position });
|
|
470
|
-
});
|
|
471
|
-
|
|
472
|
-
var maxPosition = 1;
|
|
473
|
-
|
|
474
|
-
Object.keys(before).forEach(function (group) {
|
|
475
|
-
var groupLength = before[group].length;
|
|
476
|
-
before[group].forEach(function (groupIndex, index) {
|
|
477
|
-
transformed[groupIndex].position = -1 * (groupLength - index);
|
|
478
|
-
});
|
|
479
|
-
maxPosition = Math.max(maxPosition, groupLength);
|
|
480
|
-
});
|
|
481
|
-
|
|
482
|
-
Object.keys(after).forEach(function (key) {
|
|
483
|
-
var groupNextPosition = after[key];
|
|
484
|
-
maxPosition = Math.max(maxPosition, groupNextPosition - 1);
|
|
485
|
-
});
|
|
486
|
-
|
|
487
|
-
return {
|
|
488
|
-
pathGroups: transformed,
|
|
489
|
-
maxPosition: maxPosition > 10 ? Math.pow(10, Math.ceil(Math.log10(maxPosition))) : 10 };
|
|
490
|
-
|
|
491
|
-
}
|
|
492
|
-
|
|
493
|
-
function fixNewLineAfterImport(context, previousImport) {
|
|
494
|
-
var prevRoot = findRootNode(previousImport.node);
|
|
495
|
-
var tokensToEndOfLine = takeTokensAfterWhile(
|
|
496
|
-
context.getSourceCode(), prevRoot, commentOnSameLineAs(prevRoot));
|
|
497
|
-
|
|
498
|
-
var endOfLine = prevRoot.range[1];
|
|
499
|
-
if (tokensToEndOfLine.length > 0) {
|
|
500
|
-
endOfLine = tokensToEndOfLine[tokensToEndOfLine.length - 1].range[1];
|
|
501
|
-
}
|
|
502
|
-
return function (fixer) {return fixer.insertTextAfterRange([prevRoot.range[0], endOfLine], '\n');};
|
|
503
|
-
}
|
|
504
|
-
|
|
505
|
-
function removeNewLineAfterImport(context, currentImport, previousImport) {
|
|
506
|
-
var sourceCode = context.getSourceCode();
|
|
507
|
-
var prevRoot = findRootNode(previousImport.node);
|
|
508
|
-
var currRoot = findRootNode(currentImport.node);
|
|
509
|
-
var rangeToRemove = [
|
|
510
|
-
findEndOfLineWithComments(sourceCode, prevRoot),
|
|
511
|
-
findStartOfLineWithComments(sourceCode, currRoot)];
|
|
512
|
-
|
|
513
|
-
if (/^\s*$/.test(sourceCode.text.substring(rangeToRemove[0], rangeToRemove[1]))) {
|
|
514
|
-
return function (fixer) {return fixer.removeRange(rangeToRemove);};
|
|
515
|
-
}
|
|
516
|
-
return undefined;
|
|
517
|
-
}
|
|
518
|
-
|
|
519
|
-
function makeNewlinesBetweenReport(context, imported, newlinesBetweenImports, distinctGroup) {
|
|
520
|
-
var getNumberOfEmptyLinesBetween = function getNumberOfEmptyLinesBetween(currentImport, previousImport) {
|
|
521
|
-
var linesBetweenImports = context.getSourceCode().lines.slice(
|
|
522
|
-
previousImport.node.loc.end.line,
|
|
523
|
-
currentImport.node.loc.start.line - 1);
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
return linesBetweenImports.filter(function (line) {return !line.trim().length;}).length;
|
|
527
|
-
};
|
|
528
|
-
var getIsStartOfDistinctGroup = function getIsStartOfDistinctGroup(currentImport, previousImport) {return currentImport.rank - 1 >= previousImport.rank;};
|
|
529
|
-
var previousImport = imported[0];
|
|
530
|
-
|
|
531
|
-
imported.slice(1).forEach(function (currentImport) {
|
|
532
|
-
var emptyLinesBetween = getNumberOfEmptyLinesBetween(currentImport, previousImport);
|
|
533
|
-
var isStartOfDistinctGroup = getIsStartOfDistinctGroup(currentImport, previousImport);
|
|
534
|
-
|
|
535
|
-
if (newlinesBetweenImports === 'always' ||
|
|
536
|
-
newlinesBetweenImports === 'always-and-inside-groups') {
|
|
537
|
-
if (currentImport.rank !== previousImport.rank && emptyLinesBetween === 0) {
|
|
538
|
-
if (distinctGroup || !distinctGroup && isStartOfDistinctGroup) {
|
|
539
|
-
context.report({
|
|
540
|
-
node: previousImport.node,
|
|
541
|
-
message: 'There should be at least one empty line between import groups',
|
|
542
|
-
fix: fixNewLineAfterImport(context, previousImport) });
|
|
543
|
-
|
|
544
|
-
}
|
|
545
|
-
} else if (emptyLinesBetween > 0 &&
|
|
546
|
-
newlinesBetweenImports !== 'always-and-inside-groups') {
|
|
547
|
-
if (distinctGroup && currentImport.rank === previousImport.rank || !distinctGroup && !isStartOfDistinctGroup) {
|
|
548
|
-
context.report({
|
|
549
|
-
node: previousImport.node,
|
|
550
|
-
message: 'There should be no empty line within import group',
|
|
551
|
-
fix: removeNewLineAfterImport(context, currentImport, previousImport) });
|
|
552
|
-
|
|
553
|
-
}
|
|
554
|
-
}
|
|
555
|
-
} else if (emptyLinesBetween > 0) {
|
|
556
|
-
context.report({
|
|
557
|
-
node: previousImport.node,
|
|
558
|
-
message: 'There should be no empty line between import groups',
|
|
559
|
-
fix: removeNewLineAfterImport(context, currentImport, previousImport) });
|
|
560
|
-
|
|
561
|
-
}
|
|
562
|
-
|
|
563
|
-
previousImport = currentImport;
|
|
564
|
-
});
|
|
565
|
-
}
|
|
566
|
-
|
|
567
|
-
function getAlphabetizeConfig(options) {
|
|
568
|
-
var alphabetize = options.alphabetize || {};
|
|
569
|
-
var order = alphabetize.order || 'ignore';
|
|
570
|
-
var orderImportKind = alphabetize.orderImportKind || 'ignore';
|
|
571
|
-
var caseInsensitive = alphabetize.caseInsensitive || false;
|
|
572
|
-
|
|
573
|
-
return { order: order, orderImportKind: orderImportKind, caseInsensitive: caseInsensitive };
|
|
574
|
-
}
|
|
575
|
-
|
|
576
|
-
// TODO, semver-major: Change the default of "distinctGroup" from true to false
|
|
577
|
-
var defaultDistinctGroup = true;
|
|
578
|
-
|
|
579
|
-
module.exports = {
|
|
580
|
-
meta: {
|
|
581
|
-
type: 'suggestion',
|
|
582
|
-
docs: {
|
|
583
|
-
category: 'Style guide',
|
|
584
|
-
description: 'Enforce a convention in module import order.',
|
|
585
|
-
url: (0, _docsUrl2['default'])('order') },
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
fixable: 'code',
|
|
589
|
-
schema: [
|
|
590
|
-
{
|
|
591
|
-
type: 'object',
|
|
592
|
-
properties: {
|
|
593
|
-
groups: {
|
|
594
|
-
type: 'array' },
|
|
595
|
-
|
|
596
|
-
pathGroupsExcludedImportTypes: {
|
|
597
|
-
type: 'array' },
|
|
598
|
-
|
|
599
|
-
distinctGroup: {
|
|
600
|
-
type: 'boolean',
|
|
601
|
-
'default': defaultDistinctGroup },
|
|
602
|
-
|
|
603
|
-
pathGroups: {
|
|
604
|
-
type: 'array',
|
|
605
|
-
items: {
|
|
606
|
-
type: 'object',
|
|
607
|
-
properties: {
|
|
608
|
-
pattern: {
|
|
609
|
-
type: 'string' },
|
|
610
|
-
|
|
611
|
-
patternOptions: {
|
|
612
|
-
type: 'object' },
|
|
613
|
-
|
|
614
|
-
group: {
|
|
615
|
-
type: 'string',
|
|
616
|
-
'enum': types },
|
|
617
|
-
|
|
618
|
-
position: {
|
|
619
|
-
type: 'string',
|
|
620
|
-
'enum': ['after', 'before'] } },
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
additionalProperties: false,
|
|
624
|
-
required: ['pattern', 'group'] } },
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
'newlines-between': {
|
|
628
|
-
'enum': [
|
|
629
|
-
'ignore',
|
|
630
|
-
'always',
|
|
631
|
-
'always-and-inside-groups',
|
|
632
|
-
'never'] },
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
alphabetize: {
|
|
636
|
-
type: 'object',
|
|
637
|
-
properties: {
|
|
638
|
-
caseInsensitive: {
|
|
639
|
-
type: 'boolean',
|
|
640
|
-
'default': false },
|
|
641
|
-
|
|
642
|
-
order: {
|
|
643
|
-
'enum': ['ignore', 'asc', 'desc'],
|
|
644
|
-
'default': 'ignore' },
|
|
645
|
-
|
|
646
|
-
orderImportKind: {
|
|
647
|
-
'enum': ['ignore', 'asc', 'desc'],
|
|
648
|
-
'default': 'ignore' } },
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
additionalProperties: false },
|
|
652
|
-
|
|
653
|
-
warnOnUnassignedImports: {
|
|
654
|
-
type: 'boolean',
|
|
655
|
-
'default': false } },
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
additionalProperties: false }] },
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
create: function () {function importOrderRule(context) {
|
|
664
|
-
var options = context.options[0] || {};
|
|
665
|
-
var newlinesBetweenImports = options['newlines-between'] || 'ignore';
|
|
666
|
-
var pathGroupsExcludedImportTypes = new Set(options.pathGroupsExcludedImportTypes || ['builtin', 'external', 'object']);
|
|
667
|
-
var alphabetize = getAlphabetizeConfig(options);
|
|
668
|
-
var distinctGroup = options.distinctGroup == null ? defaultDistinctGroup : !!options.distinctGroup;
|
|
669
|
-
var ranks = void 0;
|
|
670
|
-
|
|
671
|
-
try {var _convertPathGroupsFor =
|
|
672
|
-
convertPathGroupsForRanks(options.pathGroups || []),pathGroups = _convertPathGroupsFor.pathGroups,maxPosition = _convertPathGroupsFor.maxPosition;var _convertGroupsToRanks =
|
|
673
|
-
convertGroupsToRanks(options.groups || defaultGroups),groups = _convertGroupsToRanks.groups,omittedTypes = _convertGroupsToRanks.omittedTypes;
|
|
674
|
-
ranks = {
|
|
675
|
-
groups: groups,
|
|
676
|
-
omittedTypes: omittedTypes,
|
|
677
|
-
pathGroups: pathGroups,
|
|
678
|
-
maxPosition: maxPosition };
|
|
679
|
-
|
|
680
|
-
} catch (error) {
|
|
681
|
-
// Malformed configuration
|
|
682
|
-
return {
|
|
683
|
-
Program: function () {function Program(node) {
|
|
684
|
-
context.report(node, error.message);
|
|
685
|
-
}return Program;}() };
|
|
686
|
-
|
|
687
|
-
}
|
|
688
|
-
var importMap = new Map();
|
|
689
|
-
|
|
690
|
-
function getBlockImports(node) {
|
|
691
|
-
if (!importMap.has(node)) {
|
|
692
|
-
importMap.set(node, []);
|
|
693
|
-
}
|
|
694
|
-
return importMap.get(node);
|
|
695
|
-
}
|
|
696
|
-
|
|
697
|
-
return {
|
|
698
|
-
ImportDeclaration: function () {function handleImports(node) {
|
|
699
|
-
// Ignoring unassigned imports unless warnOnUnassignedImports is set
|
|
700
|
-
if (node.specifiers.length || options.warnOnUnassignedImports) {
|
|
701
|
-
var name = node.source.value;
|
|
702
|
-
registerNode(
|
|
703
|
-
context,
|
|
704
|
-
{
|
|
705
|
-
node: node,
|
|
706
|
-
value: name,
|
|
707
|
-
displayName: name,
|
|
708
|
-
type: 'import' },
|
|
709
|
-
|
|
710
|
-
ranks,
|
|
711
|
-
getBlockImports(node.parent),
|
|
712
|
-
pathGroupsExcludedImportTypes);
|
|
713
|
-
|
|
714
|
-
}
|
|
715
|
-
}return handleImports;}(),
|
|
716
|
-
TSImportEqualsDeclaration: function () {function handleImports(node) {
|
|
717
|
-
var displayName = void 0;
|
|
718
|
-
var value = void 0;
|
|
719
|
-
var type = void 0;
|
|
720
|
-
// skip "export import"s
|
|
721
|
-
if (node.isExport) {
|
|
722
|
-
return;
|
|
723
|
-
}
|
|
724
|
-
if (node.moduleReference.type === 'TSExternalModuleReference') {
|
|
725
|
-
value = node.moduleReference.expression.value;
|
|
726
|
-
displayName = value;
|
|
727
|
-
type = 'import';
|
|
728
|
-
} else {
|
|
729
|
-
value = '';
|
|
730
|
-
displayName = context.getSourceCode().getText(node.moduleReference);
|
|
731
|
-
type = 'import:object';
|
|
732
|
-
}
|
|
733
|
-
registerNode(
|
|
734
|
-
context,
|
|
735
|
-
{
|
|
736
|
-
node: node,
|
|
737
|
-
value: value,
|
|
738
|
-
displayName: displayName,
|
|
739
|
-
type: type },
|
|
740
|
-
|
|
741
|
-
ranks,
|
|
742
|
-
getBlockImports(node.parent),
|
|
743
|
-
pathGroupsExcludedImportTypes);
|
|
744
|
-
|
|
745
|
-
}return handleImports;}(),
|
|
746
|
-
CallExpression: function () {function handleRequires(node) {
|
|
747
|
-
if (!(0, _staticRequire2['default'])(node)) {
|
|
748
|
-
return;
|
|
749
|
-
}
|
|
750
|
-
var block = getRequireBlock(node);
|
|
751
|
-
if (!block) {
|
|
752
|
-
return;
|
|
753
|
-
}
|
|
754
|
-
var name = node.arguments[0].value;
|
|
755
|
-
registerNode(
|
|
756
|
-
context,
|
|
757
|
-
{
|
|
758
|
-
node: node,
|
|
759
|
-
value: name,
|
|
760
|
-
displayName: name,
|
|
761
|
-
type: 'require' },
|
|
762
|
-
|
|
763
|
-
ranks,
|
|
764
|
-
getBlockImports(block),
|
|
765
|
-
pathGroupsExcludedImportTypes);
|
|
766
|
-
|
|
767
|
-
}return handleRequires;}(),
|
|
768
|
-
'Program:exit': function () {function reportAndReset() {
|
|
769
|
-
importMap.forEach(function (imported) {
|
|
770
|
-
if (newlinesBetweenImports !== 'ignore') {
|
|
771
|
-
makeNewlinesBetweenReport(context, imported, newlinesBetweenImports, distinctGroup);
|
|
772
|
-
}
|
|
773
|
-
|
|
774
|
-
if (alphabetize.order !== 'ignore') {
|
|
775
|
-
mutateRanksToAlphabetize(imported, alphabetize);
|
|
776
|
-
}
|
|
777
|
-
|
|
778
|
-
makeOutOfOrderReport(context, imported);
|
|
779
|
-
});
|
|
780
|
-
|
|
781
|
-
importMap.clear();
|
|
782
|
-
}return reportAndReset;}() };
|
|
783
|
-
|
|
784
|
-
}return importOrderRule;}() };
|
|
785
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9vcmRlci5qcyJdLCJuYW1lcyI6WyJkZWZhdWx0R3JvdXBzIiwicmV2ZXJzZSIsImFycmF5IiwibWFwIiwidiIsInJhbmsiLCJnZXRUb2tlbnNPckNvbW1lbnRzQWZ0ZXIiLCJzb3VyY2VDb2RlIiwibm9kZSIsImNvdW50IiwiY3VycmVudE5vZGVPclRva2VuIiwicmVzdWx0IiwiaSIsImdldFRva2VuT3JDb21tZW50QWZ0ZXIiLCJwdXNoIiwiZ2V0VG9rZW5zT3JDb21tZW50c0JlZm9yZSIsImdldFRva2VuT3JDb21tZW50QmVmb3JlIiwidGFrZVRva2Vuc0FmdGVyV2hpbGUiLCJjb25kaXRpb24iLCJ0b2tlbnMiLCJsZW5ndGgiLCJ0YWtlVG9rZW5zQmVmb3JlV2hpbGUiLCJmaW5kT3V0T2ZPcmRlciIsImltcG9ydGVkIiwibWF4U2VlblJhbmtOb2RlIiwiZmlsdGVyIiwiaW1wb3J0ZWRNb2R1bGUiLCJyZXMiLCJmaW5kUm9vdE5vZGUiLCJwYXJlbnQiLCJib2R5IiwiZmluZEVuZE9mTGluZVdpdGhDb21tZW50cyIsInRva2Vuc1RvRW5kT2ZMaW5lIiwiY29tbWVudE9uU2FtZUxpbmVBcyIsImVuZE9mVG9rZW5zIiwicmFuZ2UiLCJ0ZXh0IiwidG9rZW4iLCJ0eXBlIiwibG9jIiwic3RhcnQiLCJsaW5lIiwiZW5kIiwiZmluZFN0YXJ0T2ZMaW5lV2l0aENvbW1lbnRzIiwic3RhcnRPZlRva2VucyIsImlzUmVxdWlyZUV4cHJlc3Npb24iLCJleHByIiwiY2FsbGVlIiwibmFtZSIsImFyZ3VtZW50cyIsImlzU3VwcG9ydGVkUmVxdWlyZU1vZHVsZSIsImRlY2xhcmF0aW9ucyIsImRlY2wiLCJpc1BsYWluUmVxdWlyZSIsImlkIiwiaW5pdCIsImlzUmVxdWlyZVdpdGhNZW1iZXJFeHByZXNzaW9uIiwib2JqZWN0IiwiaXNQbGFpbkltcG9ydE1vZHVsZSIsInNwZWNpZmllcnMiLCJpc1BsYWluSW1wb3J0RXF1YWxzIiwibW9kdWxlUmVmZXJlbmNlIiwiZXhwcmVzc2lvbiIsImNhbkNyb3NzTm9kZVdoaWxlUmVvcmRlciIsImNhblJlb3JkZXJJdGVtcyIsImZpcnN0Tm9kZSIsInNlY29uZE5vZGUiLCJpbmRleE9mIiwic29ydCIsImZpcnN0SW5kZXgiLCJzZWNvbmRJbmRleCIsIm5vZGVzQmV0d2VlbiIsInNsaWNlIiwibm9kZUJldHdlZW4iLCJtYWtlSW1wb3J0RGVzY3JpcHRpb24iLCJpbXBvcnRLaW5kIiwiZml4T3V0T2ZPcmRlciIsImNvbnRleHQiLCJvcmRlciIsImdldFNvdXJjZUNvZGUiLCJmaXJzdFJvb3QiLCJmaXJzdFJvb3RTdGFydCIsImZpcnN0Um9vdEVuZCIsInNlY29uZFJvb3QiLCJzZWNvbmRSb290U3RhcnQiLCJzZWNvbmRSb290RW5kIiwiY2FuRml4IiwibmV3Q29kZSIsInN1YnN0cmluZyIsImZpcnN0SW1wb3J0IiwiZGlzcGxheU5hbWUiLCJzZWNvbmRJbXBvcnQiLCJtZXNzYWdlIiwicmVwb3J0IiwiZml4IiwiZml4ZXIiLCJyZXBsYWNlVGV4dFJhbmdlIiwicmVwb3J0T3V0T2ZPcmRlciIsIm91dE9mT3JkZXIiLCJmb3JFYWNoIiwiaW1wIiwiZm91bmQiLCJmaW5kIiwiaGFzSGlnaGVyUmFuayIsImltcG9ydGVkSXRlbSIsIm1ha2VPdXRPZk9yZGVyUmVwb3J0IiwicmV2ZXJzZWRJbXBvcnRlZCIsInJldmVyc2VkT3JkZXIiLCJjb21wYXJlU3RyaW5nIiwiYSIsImIiLCJERUFGVUxUX0lNUE9SVF9LSU5EIiwiZ2V0Tm9ybWFsaXplZFZhbHVlIiwidG9Mb3dlckNhc2UiLCJ2YWx1ZSIsIlN0cmluZyIsImdldFNvcnRlciIsImFscGhhYmV0aXplT3B0aW9ucyIsIm11bHRpcGxpZXIiLCJvcmRlckltcG9ydEtpbmQiLCJtdWx0aXBsaWVySW1wb3J0S2luZCIsImltcG9ydHNTb3J0ZXIiLCJub2RlQSIsIm5vZGVCIiwiaW1wb3J0QSIsImNhc2VJbnNlbnNpdGl2ZSIsImltcG9ydEIiLCJBIiwic3BsaXQiLCJCIiwiTWF0aCIsIm1pbiIsIm11dGF0ZVJhbmtzVG9BbHBoYWJldGl6ZSIsImdyb3VwZWRCeVJhbmtzIiwiaXRlbSIsInNvcnRlckZuIiwiZ3JvdXBSYW5rcyIsIk9iamVjdCIsImtleXMiLCJncm91cFJhbmsiLCJuZXdSYW5rIiwiYWxwaGFiZXRpemVkUmFua3MiLCJyZWR1Y2UiLCJhY2MiLCJwYXJzZUludCIsImNvbXB1dGVQYXRoUmFuayIsInJhbmtzIiwicGF0aEdyb3VwcyIsInBhdGgiLCJtYXhQb3NpdGlvbiIsImwiLCJwYXR0ZXJuIiwicGF0dGVybk9wdGlvbnMiLCJncm91cCIsInBvc2l0aW9uIiwibm9jb21tZW50IiwiY29tcHV0ZVJhbmsiLCJpbXBvcnRFbnRyeSIsImV4Y2x1ZGVkSW1wb3J0VHlwZXMiLCJpbXBUeXBlIiwib21pdHRlZFR5cGVzIiwiaGFzIiwiZ3JvdXBzIiwic3RhcnRzV2l0aCIsInJlZ2lzdGVyTm9kZSIsImdldFJlcXVpcmVCbG9jayIsIm4iLCJ0eXBlcyIsImNvbnZlcnRHcm91cHNUb1JhbmtzIiwicmFua09iamVjdCIsImluZGV4IiwiY29uY2F0IiwiZ3JvdXBJdGVtIiwiRXJyb3IiLCJKU09OIiwic3RyaW5naWZ5IiwidW5kZWZpbmVkIiwiY29udmVydFBhdGhHcm91cHNGb3JSYW5rcyIsImFmdGVyIiwiYmVmb3JlIiwidHJhbnNmb3JtZWQiLCJwYXRoR3JvdXAiLCJwb3NpdGlvblN0cmluZyIsImdyb3VwTGVuZ3RoIiwiZ3JvdXBJbmRleCIsIm1heCIsImtleSIsImdyb3VwTmV4dFBvc2l0aW9uIiwicG93IiwiY2VpbCIsImxvZzEwIiwiZml4TmV3TGluZUFmdGVySW1wb3J0IiwicHJldmlvdXNJbXBvcnQiLCJwcmV2Um9vdCIsImVuZE9mTGluZSIsImluc2VydFRleHRBZnRlclJhbmdlIiwicmVtb3ZlTmV3TGluZUFmdGVySW1wb3J0IiwiY3VycmVudEltcG9ydCIsImN1cnJSb290IiwicmFuZ2VUb1JlbW92ZSIsInRlc3QiLCJyZW1vdmVSYW5nZSIsIm1ha2VOZXdsaW5lc0JldHdlZW5SZXBvcnQiLCJuZXdsaW5lc0JldHdlZW5JbXBvcnRzIiwiZGlzdGluY3RHcm91cCIsImdldE51bWJlck9mRW1wdHlMaW5lc0JldHdlZW4iLCJsaW5lc0JldHdlZW5JbXBvcnRzIiwibGluZXMiLCJ0cmltIiwiZ2V0SXNTdGFydE9mRGlzdGluY3RHcm91cCIsImVtcHR5TGluZXNCZXR3ZWVuIiwiaXNTdGFydE9mRGlzdGluY3RHcm91cCIsImdldEFscGhhYmV0aXplQ29uZmlnIiwib3B0aW9ucyIsImFscGhhYmV0aXplIiwiZGVmYXVsdERpc3RpbmN0R3JvdXAiLCJtb2R1bGUiLCJleHBvcnRzIiwibWV0YSIsImRvY3MiLCJjYXRlZ29yeSIsImRlc2NyaXB0aW9uIiwidXJsIiwiZml4YWJsZSIsInNjaGVtYSIsInByb3BlcnRpZXMiLCJwYXRoR3JvdXBzRXhjbHVkZWRJbXBvcnRUeXBlcyIsIml0ZW1zIiwiYWRkaXRpb25hbFByb3BlcnRpZXMiLCJyZXF1aXJlZCIsIndhcm5PblVuYXNzaWduZWRJbXBvcnRzIiwiY3JlYXRlIiwiaW1wb3J0T3JkZXJSdWxlIiwiU2V0IiwiZXJyb3IiLCJQcm9ncmFtIiwiaW1wb3J0TWFwIiwiTWFwIiwiZ2V0QmxvY2tJbXBvcnRzIiwic2V0IiwiZ2V0IiwiSW1wb3J0RGVjbGFyYXRpb24iLCJoYW5kbGVJbXBvcnRzIiwic291cmNlIiwiVFNJbXBvcnRFcXVhbHNEZWNsYXJhdGlvbiIsImlzRXhwb3J0IiwiZ2V0VGV4dCIsIkNhbGxFeHByZXNzaW9uIiwiaGFuZGxlUmVxdWlyZXMiLCJibG9jayIsInJlcG9ydEFuZFJlc2V0IiwiY2xlYXIiXSwibWFwcGluZ3MiOiJBQUFBLGE7O0FBRUEsc0M7QUFDQSwrQztBQUNBLHdDOztBQUVBLGdEO0FBQ0Esc0Q7QUFDQSxxQzs7QUFFQSxJQUFNQSxnQkFBZ0IsQ0FBQyxTQUFELEVBQVksVUFBWixFQUF3QixRQUF4QixFQUFrQyxTQUFsQyxFQUE2QyxPQUE3QyxDQUF0Qjs7QUFFQTs7QUFFQSxTQUFTQyxP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SztBQWlETEsscUNBQWdCLFNBQVNDLGNBQVQsQ0FBd0JoUCxJQUF4QixFQUE4QjtBQUM1QyxnQkFBSSxDQUFDLGdDQUFnQkEsSUFBaEIsQ0FBTCxFQUE0QjtBQUMxQjtBQUNEO0FBQ0QsZ0JBQU1pUCxRQUFRcEYsZ0JBQWdCN0osSUFBaEIsQ0FBZDtBQUNBLGdCQUFJLENBQUNpUCxLQUFMLEVBQVk7QUFDVjtBQUNEO0FBQ0QsZ0JBQU16TSxPQUFPeEMsS0FBS3lDLFNBQUwsQ0FBZSxDQUFmLEVBQWtCaUUsS0FBL0I7QUFDQWtEO0FBQ0V2RixtQkFERjtBQUVFO0FBQ0VyRSx3QkFERjtBQUVFMEcscUJBQU9sRSxJQUZUO0FBR0UwQywyQkFBYTFDLElBSGY7QUFJRVYsb0JBQU0sU0FKUixFQUZGOztBQVFFNEcsaUJBUkY7QUFTRTRGLDRCQUFnQlcsS0FBaEIsQ0FURjtBQVVFdkIseUNBVkY7O0FBWUQsV0FyQkQsT0FBeUJzQixjQUF6QixJQWpESztBQXVFTCxxQ0FBZ0IsU0FBU0UsY0FBVCxHQUEwQjtBQUN4Q2Qsc0JBQVV6SSxPQUFWLENBQWtCLFVBQUM1RSxRQUFELEVBQWM7QUFDOUIsa0JBQUlvTCwyQkFBMkIsUUFBL0IsRUFBeUM7QUFDdkNELDBDQUEwQjdILE9BQTFCLEVBQW1DdEQsUUFBbkMsRUFBNkNvTCxzQkFBN0MsRUFBcUVDLGFBQXJFO0FBQ0Q7O0FBRUQsa0JBQUlVLFlBQVl4SSxLQUFaLEtBQXNCLFFBQTFCLEVBQW9DO0FBQ2xDc0QseUNBQXlCN0csUUFBekIsRUFBbUMrTCxXQUFuQztBQUNEOztBQUVEN0csbUNBQXFCNUIsT0FBckIsRUFBOEJ0RCxRQUE5QjtBQUNELGFBVkQ7O0FBWUFxTixzQkFBVWUsS0FBVjtBQUNELFdBZEQsT0FBeUJELGNBQXpCLElBdkVLLEVBQVA7O0FBdUZELEtBekhELE9BQWlCbEIsZUFBakIsSUFwRmUsRUFBakIiLCJmaWxlIjoib3JkZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmltcG9ydCBtaW5pbWF0Y2ggZnJvbSAnbWluaW1hdGNoJztcbmltcG9ydCBpbmNsdWRlcyBmcm9tICdhcnJheS1pbmNsdWRlcyc7XG5pbXBvcnQgZ3JvdXBCeSBmcm9tICdvYmplY3QuZ3JvdXBieSc7XG5cbmltcG9ydCBpbXBvcnRUeXBlIGZyb20gJy4uL2NvcmUvaW1wb3J0VHlwZSc7XG5pbXBvcnQgaXNTdGF0aWNSZXF1aXJlIGZyb20gJy4uL2NvcmUvc3RhdGljUmVxdWlyZSc7XG5pbXBvcnQgZG9jc1VybCBmcm9tICcuLi9kb2NzVXJsJztcblxuY29uc3QgZGVmYXVsdEdyb3VwcyA9IFsnYnVpbHRpbicsICdleHRlcm5hbCcsICdwYXJlbnQnLCAnc2libGluZycsICdpbmRleCddO1xuXG4vLyBSRVBPUlRJTkcgQU5EIEZJWElOR1xuXG5mdW5jdGlvbiByZXZlcnNlKGFycmF5KSB7XG4gIHJldHVybiBhcnJheS5tYXAoZnVuY3Rpb24gKHYpIHtcbiAgICByZXR1cm4geyAuLi52LCByYW5rOiAtdi5yYW5rIH07XG4gIH0pLnJldmVyc2UoKTtcbn1cblxuZnVuY3Rpb24gZ2V0VG9rZW5zT3JDb21tZW50c0FmdGVyKHNvdXJjZUNvZGUsIG5vZGUsIGNvdW50KSB7XG4gIGxldCBjdXJyZW50Tm9kZU9yVG9rZW4gPSBub2RlO1xuICBjb25zdCByZXN1bHQgPSBbXTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7XG4gICAgY3VycmVudE5vZGVPclRva2VuID0gc291cmNlQ29kZS5nZXRUb2tlbk9yQ29tbWVudEFmdGVyKGN1cnJlbnROb2RlT3JUb2tlbik7XG4gICAgaWYgKGN1cnJlbnROb2RlT3JUb2tlbiA9PSBudWxsKSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgcmVzdWx0LnB1c2goY3VycmVudE5vZGVPclRva2VuKTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBnZXRUb2tlbnNPckNvbW1lbnRzQmVmb3JlKHNvdXJjZUNvZGUsIG5vZGUsIGNvdW50KSB7XG4gIGxldCBjdXJyZW50Tm9kZU9yVG9rZW4gPSBub2RlO1xuICBjb25zdCByZXN1bHQgPSBbXTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7XG4gICAgY3VycmVudE5vZGVPclRva2VuID0gc291cmNlQ29kZS5nZXRUb2tlbk9yQ29tbWVudEJlZm9yZShjdXJyZW50Tm9kZU9yVG9rZW4pO1xuICAgIGlmIChjdXJyZW50Tm9kZU9yVG9rZW4gPT0gbnVsbCkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJlc3VsdC5wdXNoKGN1cnJlbnROb2RlT3JUb2tlbik7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdC5yZXZlcnNlKCk7XG59XG5cbmZ1bmN0aW9uIHRha2VUb2tlbnNBZnRlcldoaWxlKHNvdXJjZUNvZGUsIG5vZGUsIGNvbmRpdGlvbikge1xuICBjb25zdCB0b2tlbnMgPSBnZXRUb2tlbnNPckNvbW1lbnRzQWZ0ZXIoc291cmNlQ29kZSwgbm9kZSwgMTAwKTtcbiAgY29uc3QgcmVzdWx0ID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgdG9rZW5zLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKGNvbmRpdGlvbih0b2tlbnNbaV0pKSB7XG4gICAgICByZXN1bHQucHVzaCh0b2tlbnNbaV0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZnVuY3Rpb24gdGFrZVRva2Vuc0JlZm9yZVdoaWxlKHNvdXJjZUNvZGUsIG5vZGUsIGNvbmRpdGlvbikge1xuICBjb25zdCB0b2tlbnMgPSBnZXRUb2tlbnNPckNvbW1lbnRzQmVmb3JlKHNvdXJjZUNvZGUsIG5vZGUsIDEwMCk7XG4gIGNvbnN0IHJlc3VsdCA9IFtdO1xuICBmb3IgKGxldCBpID0gdG9rZW5zLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgaWYgKGNvbmRpdGlvbih0b2tlbnNbaV0pKSB7XG4gICAgICByZXN1bHQucHVzaCh0b2tlbnNbaV0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdC5yZXZlcnNlKCk7XG59XG5cbmZ1bmN0aW9uIGZpbmRPdXRPZk9yZGVyKGltcG9ydGVkKSB7XG4gIGlmIChpbXBvcnRlZC5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgbGV0IG1heFNlZW5SYW5rTm9kZSA9IGltcG9ydGVkWzBdO1xuICByZXR1cm4gaW1wb3J0ZWQuZmlsdGVyKGZ1bmN0aW9uIChpbXBvcnRlZE1vZHVsZSkge1xuICAgIGNvbnN0IHJlcyA9IGltcG9ydGVkTW9kdWxlLnJhbmsgPCBtYXhTZWVuUmFua05vZGUucmFuaztcbiAgICBpZiAobWF4U2VlblJhbmtOb2RlLnJhbmsgPCBpbXBvcnRlZE1vZHVsZS5yYW5rKSB7XG4gICAgICBtYXhTZWVuUmFua05vZGUgPSBpbXBvcnRlZE1vZHVsZTtcbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGZpbmRSb290Tm9kZShub2RlKSB7XG4gIGxldCBwYXJlbnQgPSBub2RlO1xuICB3aGlsZSAocGFyZW50LnBhcmVudCAhPSBudWxsICYmIHBhcmVudC5wYXJlbnQuYm9keSA9PSBudWxsKSB7XG4gICAgcGFyZW50ID0gcGFyZW50LnBhcmVudDtcbiAgfVxuICByZXR1cm4gcGFyZW50O1xufVxuXG5mdW5jdGlvbiBmaW5kRW5kT2ZMaW5lV2l0aENvbW1lbnRzKHNvdXJjZUNvZGUsIG5vZGUpIHtcbiAgY29uc3QgdG9rZW5zVG9FbmRPZkxpbmUgPSB0YWtlVG9rZW5zQWZ0ZXJXaGlsZShzb3VyY2VDb2RlLCBub2RlLCBjb21tZW50T25TYW1lTGluZUFzKG5vZGUpKTtcbiAgY29uc3QgZW5kT2ZUb2tlbnMgPSB0b2tlbnNUb0VuZE9mTGluZS5sZW5ndGggPiAwXG4gICAgPyB0b2tlbnNUb0VuZE9mTGluZVt0b2tlbnNUb0VuZE9mTGluZS5sZW5ndGggLSAxXS5yYW5nZVsxXVxuICAgIDogbm9kZS5yYW5nZVsxXTtcbiAgbGV0IHJlc3VsdCA9IGVuZE9mVG9rZW5zO1xuICBmb3IgKGxldCBpID0gZW5kT2ZUb2tlbnM7IGkgPCBzb3VyY2VDb2RlLnRleHQubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoc291cmNlQ29kZS50ZXh0W2ldID09PSAnXFxuJykge1xuICAgICAgcmVzdWx0ID0gaSArIDE7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgaWYgKHNvdXJjZUNvZGUudGV4dFtpXSAhPT0gJyAnICYmIHNvdXJjZUNvZGUudGV4dFtpXSAhPT0gJ1xcdCcgJiYgc291cmNlQ29kZS50ZXh0W2ldICE9PSAnXFxyJykge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJlc3VsdCA9IGkgKyAxO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIGNvbW1lbnRPblNhbWVMaW5lQXMobm9kZSkge1xuICByZXR1cm4gKHRva2VuKSA9PiAodG9rZW4udHlwZSA9PT0gJ0Jsb2NrJyB8fCAgdG9rZW4udHlwZSA9PT0gJ0xpbmUnKVxuICAgICAgJiYgdG9rZW4ubG9jLnN0YXJ0LmxpbmUgPT09IHRva2VuLmxvYy5lbmQubGluZVxuICAgICAgJiYgdG9rZW4ubG9jLmVuZC5saW5lID09PSBub2RlLmxvYy5lbmQubGluZTtcbn1cblxuZnVuY3Rpb24gZmluZFN0YXJ0T2ZMaW5lV2l0aENvbW1lbnRzKHNvdXJjZUNvZGUsIG5vZGUpIHtcbiAgY29uc3QgdG9rZW5zVG9FbmRPZkxpbmUgPSB0YWtlVG9rZW5zQmVmb3JlV2hpbGUoc291cmNlQ29kZSwgbm9kZSwgY29tbWVudE9uU2FtZUxpbmVBcyhub2RlKSk7XG4gIGNvbnN0IHN0YXJ0T2ZUb2tlbnMgPSB0b2tlbnNUb0VuZE9mTGluZS5sZW5ndGggPiAwID8gdG9rZW5zVG9FbmRPZkxpbmVbMF0ucmFuZ2VbMF0gOiBub2RlLnJhbmdlWzBdO1xuICBsZXQgcmVzdWx0ID0gc3RhcnRPZlRva2VucztcbiAgZm9yIChsZXQgaSA9IHN0YXJ0T2ZUb2tlbnMgLSAxOyBpID4gMDsgaS0tKSB7XG4gICAgaWYgKHNvdXJjZUNvZGUudGV4dFtpXSAhPT0gJyAnICYmIHNvdXJjZUNvZGUudGV4dFtpXSAhPT0gJ1xcdCcpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICByZXN1bHQgPSBpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIGlzUmVxdWlyZUV4cHJlc3Npb24oZXhwcikge1xuICByZXR1cm4gZXhwciAhPSBudWxsXG4gICAgJiYgZXhwci50eXBlID09PSAnQ2FsbEV4cHJlc3Npb24nXG4gICAgJiYgZXhwci5jYWxsZWUgIT0gbnVsbFxuICAgICYmIGV4cHIuY2FsbGVlLm5hbWUgPT09ICdyZXF1aXJlJ1xuICAgICYmIGV4cHIuYXJndW1lbnRzICE9IG51bGxcbiAgICAmJiBleHByLmFyZ3VtZW50cy5sZW5ndGggPT09IDFcbiAgICAmJiBleHByLmFyZ3VtZW50c1swXS50eXBlID09PSAnTGl0ZXJhbCc7XG59XG5cbmZ1bmN0aW9uIGlzU3VwcG9ydGVkUmVxdWlyZU1vZHVsZShub2RlKSB7XG4gIGlmIChub2RlLnR5cGUgIT09ICdWYXJpYWJsZURlY2xhcmF0aW9uJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAobm9kZS5kZWNsYXJhdGlvbnMubGVuZ3RoICE9PSAxKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IGRlY2wgPSBub2RlLmRlY2xhcmF0aW9uc1swXTtcbiAgY29uc3QgaXNQbGFpblJlcXVpcmUgPSBkZWNsLmlkXG4gICAgJiYgKGRlY2wuaWQudHlwZSA9PT0gJ0lkZW50aWZpZXInIHx8IGRlY2wuaWQudHlwZSA9PT0gJ09iamVjdFBhdHRlcm4nKVxuICAgICYmIGlzUmVxdWlyZUV4cHJlc3Npb24oZGVjbC5pbml0KTtcbiAgY29uc3QgaXNSZXF1aXJlV2l0aE1lbWJlckV4cHJlc3Npb24gPSBkZWNsLmlkXG4gICAgJiYgKGRlY2wuaWQudHlwZSA9PT0gJ0lkZW50aWZpZXInIHx8IGRlY2wuaWQudHlwZSA9PT0gJ09iamVjdFBhdHRlcm4nKVxuICAgICYmIGRlY2wuaW5pdCAhPSBudWxsXG4gICAgJiYgZGVjbC5pbml0LnR5cGUgPT09ICdDYWxsRXhwcmVzc2lvbidcbiAgICAmJiBkZWNsLmluaXQuY2FsbGVlICE9IG51bGxcbiAgICAmJiBkZWNsLmluaXQuY2FsbGVlLnR5cGUgPT09ICdNZW1iZXJFeHByZXNzaW9uJ1xuICAgICYmIGlzUmVxdWlyZUV4cHJlc3Npb24oZGVjbC5pbml0LmNhbGxlZS5vYmplY3QpO1xuICByZXR1cm4gaXNQbGFpblJlcXVpcmUgfHwgaXNSZXF1aXJlV2l0aE1lbWJlckV4cHJlc3Npb247XG59XG5cbmZ1bmN0aW9uIGlzUGxhaW5JbXBvcnRNb2R1bGUobm9kZSkge1xuICByZXR1cm4gbm9kZS50eXBlID09PSAnSW1wb3J0RGVjbGFyYXRpb24nICYmIG5vZGUuc3BlY2lmaWVycyAhPSBudWxsICYmIG5vZGUuc3BlY2lmaWVycy5sZW5ndGggPiAwO1xufVxuXG5mdW5jdGlvbiBpc1BsYWluSW1wb3J0RXF1YWxzKG5vZGUpIHtcbiAgcmV0dXJuIG5vZGUudHlwZSA9PT0gJ1RTSW1wb3J0RXF1YWxzRGVjbGFyYXRpb24nICYmIG5vZGUubW9kdWxlUmVmZXJlbmNlLmV4cHJlc3Npb247XG59XG5cbmZ1bmN0aW9uIGNhbkNyb3NzTm9kZVdoaWxlUmVvcmRlcihub2RlKSB7XG4gIHJldHVybiBpc1N1cHBvcnRlZFJlcXVpcmVNb2R1bGUobm9kZSkgfHwgaXNQbGFpbkltcG9ydE1vZHVsZShub2RlKSB8fCBpc1BsYWluSW1wb3J0RXF1YWxzKG5vZGUpO1xufVxuXG5mdW5jdGlvbiBjYW5SZW9yZGVySXRlbXMoZmlyc3ROb2RlLCBzZWNvbmROb2RlKSB7XG4gIGNvbnN0IHBhcmVudCA9IGZpcnN0Tm9kZS5wYXJlbnQ7XG4gIGNvbnN0IFtmaXJzdEluZGV4LCBzZWNvbmRJbmRleF0gPSBbXG4gICAgcGFyZW50LmJvZHkuaW5kZXhPZihmaXJzdE5vZGUpLFxuICAgIHBhcmVudC5ib2R5LmluZGV4T2Yoc2Vjb25kTm9kZSksXG4gIF0uc29ydCgpO1xuICBjb25zdCBub2Rlc0JldHdlZW4gPSBwYXJlbnQuYm9keS5zbGljZShmaXJzdEluZGV4LCBzZWNvbmRJbmRleCArIDEpO1xuICBmb3IgKGNvbnN0IG5vZGVCZXR3ZWVuIG9mIG5vZGVzQmV0d2Vlbikge1xuICAgIGlmICghY2FuQ3Jvc3NOb2RlV2hpbGVSZW9yZGVyKG5vZGVCZXR3ZWVuKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gbWFrZUltcG9ydERlc2NyaXB0aW9uKG5vZGUpIHtcbiAgaWYgKG5vZGUubm9kZS5pbXBvcnRLaW5kID09PSAndHlwZScpIHtcbiAgICByZXR1cm4gJ3R5cGUgaW1wb3J0JztcbiAgfVxuICBpZiAobm9kZS5ub2RlLmltcG9ydEtpbmQgPT09ICd0eXBlb2YnKSB7XG4gICAgcmV0dXJuICd0eXBlb2YgaW1wb3J0JztcbiAgfVxuICByZXR1cm4gJ2ltcG9ydCc7XG59XG5cbmZ1bmN0aW9uIGZpeE91dE9mT3JkZXIoY29udGV4dCwgZmlyc3ROb2RlLCBzZWNvbmROb2RlLCBvcmRlcikge1xuICBjb25zdCBzb3VyY2VDb2RlID0gY29udGV4dC5nZXRTb3VyY2VDb2RlKCk7XG5cbiAgY29uc3QgZmlyc3RSb290ID0gZmluZFJvb3ROb2RlKGZpcnN0Tm9kZS5ub2RlKTtcbiAgY29uc3QgZmlyc3RSb290U3RhcnQgPSBmaW5kU3RhcnRPZkxpbmVXaXRoQ29tbWVudHMoc291cmNlQ29kZSwgZmlyc3RSb290KTtcbiAgY29uc3QgZmlyc3RSb290RW5kID0gZmluZEVuZE9mTGluZVdpdGhDb21tZW50cyhzb3VyY2VDb2RlLCBmaXJzdFJvb3QpO1xuXG4gIGNvbnN0IHNlY29uZFJvb3QgPSBmaW5kUm9vdE5vZGUoc2Vjb25kTm9kZS5ub2RlKTtcbiAgY29uc3Qgc2Vjb25kUm9vdFN0YXJ0ID0gZmluZFN0YXJ0T2ZMaW5lV2l0aENvbW1lbnRzKHNvdXJjZUNvZGUsIHNlY29uZFJvb3QpO1xuICBjb25zdCBzZWNvbmRSb290RW5kID0gZmluZEVuZE9mTGluZVdpdGhDb21tZW50cyhzb3VyY2VDb2RlLCBzZWNvbmRSb290KTtcbiAgY29uc3QgY2FuRml4ID0gY2FuUmVvcmRlckl0ZW1zKGZpcnN0Um9vdCwgc2Vjb25kUm9vdCk7XG5cbiAgbGV0IG5ld0NvZGUgPSBzb3VyY2VDb2RlLnRleHQuc3Vic3RyaW5nKHNlY29uZFJvb3RTdGFydCwgc2Vjb25kUm9vdEVuZCk7XG4gIGlmIChuZXdDb2RlW25ld0NvZGUubGVuZ3RoIC0gMV0gIT09ICdcXG4nKSB7XG4gICAgbmV3Q29kZSA9IGAke25ld0NvZGV9XFxuYDtcbiAgfVxuXG4gIGNvbnN0IGZpcnN0SW1wb3J0ID0gYCR7bWFrZUltcG9ydERlc2NyaXB0aW9uKGZpcnN0Tm9kZSl9IG9mIFxcYCR7Zmlyc3ROb2RlLmRpc3BsYXlOYW1lfVxcYGA7XG4gIGNvbnN0IHNlY29uZEltcG9ydCA9IGBcXGAke3NlY29uZE5vZGUuZGlzcGxheU5hbWV9XFxgICR7bWFrZUltcG9ydERlc2NyaXB0aW9uKHNlY29uZE5vZGUpfWA7XG4gIGNvbnN0IG1lc3NhZ2UgPSBgJHtzZWNvbmRJbXBvcnR9IHNob3VsZCBvY2N1ciAke29yZGVyfSAke2ZpcnN0SW1wb3J0fWA7XG5cbiAgaWYgKG9yZGVyID09PSAnYmVmb3JlJykge1xuICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgIG5vZGU6IHNlY29uZE5vZGUubm9kZSxcbiAgICAgIG1lc3NhZ2UsXG4gICAgICBmaXg6IGNhbkZpeCAmJiAoKGZpeGVyKSA9PiBmaXhlci5yZXBsYWNlVGV4dFJhbmdlKFxuICAgICAgICBbZmlyc3RSb290U3RhcnQsIHNlY29uZFJvb3RFbmRdLFxuICAgICAgICBuZXdDb2RlICsgc291cmNlQ29kZS50ZXh0LnN1YnN0cmluZyhmaXJzdFJvb3RTdGFydCwgc2Vjb25kUm9vdFN0YXJ0KSxcbiAgICAgICkpLFxuICAgIH0pO1xuICB9IGVsc2UgaWYgKG9yZGVyID09PSAnYWZ0ZXInKSB7XG4gICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgbm9kZTogc2Vjb25kTm9kZS5ub2RlLFxuICAgICAgbWVzc2FnZSxcbiAgICAgIGZpeDogY2FuRml4ICYmICgoZml4ZXIpID0+IGZpeGVyLnJlcGxhY2VUZXh0UmFuZ2UoXG4gICAgICAgIFtzZWNvbmRSb290U3RhcnQsIGZpcnN0Um9vdEVuZF0sXG4gICAgICAgIHNvdXJjZUNvZGUudGV4dC5zdWJzdHJpbmcoc2Vjb25kUm9vdEVuZCwgZmlyc3RSb290RW5kKSArIG5ld0NvZGUsXG4gICAgICApKSxcbiAgICB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZXBvcnRPdXRPZk9yZGVyKGNvbnRleHQsIGltcG9ydGVkLCBvdXRPZk9yZGVyLCBvcmRlcikge1xuICBvdXRPZk9yZGVyLmZvckVhY2goZnVuY3Rpb24gKGltcCkge1xuICAgIGNvbnN0IGZvdW5kID0gaW1wb3J0ZWQuZmluZChmdW5jdGlvbiBoYXNIaWdoZXJSYW5rKGltcG9ydGVkSXRlbSkge1xuICAgICAgcmV0dXJuIGltcG9ydGVkSXRlbS5yYW5rID4gaW1wLnJhbms7XG4gICAgfSk7XG4gICAgZml4T3V0T2ZPcmRlcihjb250ZXh0LCBmb3VuZCwgaW1wLCBvcmRlcik7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBtYWtlT3V0T2ZPcmRlclJlcG9ydChjb250ZXh0LCBpbXBvcnRlZCkge1xuICBjb25zdCBvdXRPZk9yZGVyID0gZmluZE91dE9mT3JkZXIoaW1wb3J0ZWQpO1xuICBpZiAoIW91dE9mT3JkZXIubGVuZ3RoKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLy8gVGhlcmUgYXJlIHRoaW5ncyB0byByZXBvcnQuIFRyeSB0byBtaW5pbWl6ZSB0aGUgbnVtYmVyIG9mIHJlcG9ydGVkIGVycm9ycy5cbiAgY29uc3QgcmV2ZXJzZWRJbXBvcnRlZCA9IHJldmVyc2UoaW1wb3J0ZWQpO1xuICBjb25zdCByZXZlcnNlZE9yZGVyID0gZmluZE91dE9mT3JkZXIocmV2ZXJzZWRJbXBvcnRlZCk7XG4gIGlmIChyZXZlcnNlZE9yZGVyLmxlbmd0aCA8IG91dE9mT3JkZXIubGVuZ3RoKSB7XG4gICAgcmVwb3J0T3V0T2ZPcmRlcihjb250ZXh0LCByZXZlcnNlZEltcG9ydGVkLCByZXZlcnNlZE9yZGVyLCAnYWZ0ZXInKTtcbiAgICByZXR1cm47XG4gIH1cbiAgcmVwb3J0T3V0T2ZPcmRlcihjb250ZXh0LCBpbXBvcnRlZCwgb3V0T2ZPcmRlciwgJ2JlZm9yZScpO1xufVxuXG5jb25zdCBjb21wYXJlU3RyaW5nID0gKGEsIGIpID0+IHtcbiAgaWYgKGEgPCBiKSB7XG4gICAgcmV0dXJuIC0xO1xuICB9XG4gIGlmIChhID4gYikge1xuICAgIHJldHVybiAxO1xuICB9XG4gIHJldHVybiAwO1xufTtcblxuLyoqIFNvbWUgcGFyc2VycyAobGFuZ3VhZ2VzIHdpdGhvdXQgdHlwZXMpIGRvbid0IHByb3ZpZGUgSW1wb3J0S2luZCAqL1xuY29uc3QgREVBRlVMVF9JTVBPUlRfS0lORCA9ICd2YWx1ZSc7XG5jb25zdCBnZXROb3JtYWxpemVkVmFsdWUgPSAobm9kZSwgdG9Mb3dlckNhc2UpID0+IHtcbiAgY29uc3QgdmFsdWUgPSBub2RlLnZhbHVlO1xuICByZXR1cm4gdG9Mb3dlckNhc2UgPyBTdHJpbmcodmFsdWUpLnRvTG93ZXJDYXNlKCkgOiB2YWx1ZTtcbn07XG5cbmZ1bmN0aW9uIGdldFNvcnRlcihhbHBoYWJldGl6ZU9wdGlvbnMpIHtcbiAgY29uc3QgbXVsdGlwbGllciA9IGFscGhhYmV0aXplT3B0aW9ucy5vcmRlciA9PT0gJ2FzYycgPyAxIDogLTE7XG4gIGNvbnN0IG9yZGVySW1wb3J0S2luZCA9IGFscGhhYmV0aXplT3B0aW9ucy5vcmRlckltcG9ydEtpbmQ7XG4gIGNvbnN0IG11bHRpcGxpZXJJbXBvcnRLaW5kID0gb3JkZXJJbXBvcnRLaW5kICE9PSAnaWdub3JlJ1xuICAgICYmIChhbHBoYWJldGl6ZU9wdGlvbnMub3JkZXJJbXBvcnRLaW5kID09PSAnYXNjJyA/IDEgOiAtMSk7XG5cbiAgcmV0dXJuIGZ1bmN0aW9uIGltcG9ydHNTb3J0ZXIobm9kZUEsIG5vZGVCKSB7XG4gICAgY29uc3QgaW1wb3J0QSA9IGdldE5vcm1hbGl6ZWRWYWx1ZShub2RlQSwgYWxwaGFiZXRpemVPcHRpb25zLmNhc2VJbnNlbnNpdGl2ZSk7XG4gICAgY29uc3QgaW1wb3J0QiA9IGdldE5vcm1hbGl6ZWRWYWx1ZShub2RlQiwgYWxwaGFiZXRpemVPcHRpb25zLmNhc2VJbnNlbnNpdGl2ZSk7XG4gICAgbGV0IHJlc3VsdCA9IDA7XG5cbiAgICBpZiAoIWluY2x1ZGVzKGltcG9ydEEsICcvJykgJiYgIWluY2x1ZGVzKGltcG9ydEIsICcvJykpIHtcbiAgICAgIHJlc3VsdCA9IGNvbXBhcmVTdHJpbmcoaW1wb3J0QSwgaW1wb3J0Qik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IEEgPSBpbXBvcnRBLnNwbGl0KCcvJyk7XG4gICAgICBjb25zdCBCID0gaW1wb3J0Qi5zcGxpdCgnLycpO1xuICAgICAgY29uc3QgYSA9IEEubGVuZ3RoO1xuICAgICAgY29uc3QgYiA9IEIubGVuZ3RoO1xuXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IE1hdGgubWluKGEsIGIpOyBpKyspIHtcbiAgICAgICAgcmVzdWx0ID0gY29tcGFyZVN0cmluZyhBW2ldLCBCW2ldKTtcbiAgICAgICAgaWYgKHJlc3VsdCkgeyBicmVhazsgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIXJlc3VsdCAmJiBhICE9PSBiKSB7XG4gICAgICAgIHJlc3VsdCA9IGEgPCBiID8gLTEgOiAxO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJlc3VsdCA9IHJlc3VsdCAqIG11bHRpcGxpZXI7XG5cbiAgICAvLyBJbiBjYXNlIHRoZSBwYXRocyBhcmUgZXF1YWwgKHJlc3VsdCA9PT0gMCksIHNvcnQgdGhlbSBieSBpbXBvcnRLaW5kXG4gICAgaWYgKCFyZXN1bHQgJiYgbXVsdGlwbGllckltcG9ydEtpbmQpIHtcbiAgICAgIHJlc3VsdCA9IG11bHRpcGxpZXJJbXBvcnRLaW5kICogY29tcGFyZVN0cmluZyhcbiAgICAgICAgbm9kZUEubm9kZS5pbXBvcnRLaW5kIHx8IERFQUZVTFRfSU1QT1JUX0tJTkQsXG4gICAgICAgIG5vZGVCLm5vZGUuaW1wb3J0S2luZCB8fCBERUFGVUxUX0lNUE9SVF9LSU5ELFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9O1xufVxuXG5mdW5jdGlvbiBtdXRhdGVSYW5rc1RvQWxwaGFiZXRpemUoaW1wb3J0ZWQsIGFscGhhYmV0aXplT3B0aW9ucykge1xuICBjb25zdCBncm91cGVkQnlSYW5rcyA9IGdyb3VwQnkoaW1wb3J0ZWQsIChpdGVtKSA9PiBpdGVtLnJhbmspO1xuXG4gIGNvbnN0IHNvcnRlckZuID0gZ2V0U29ydGVyKGFscGhhYmV0aXplT3B0aW9ucyk7XG5cbiAgLy8gc29ydCBncm91cCBrZXlzIHNvIHRoYXQgdGhleSBjYW4gYmUgaXRlcmF0ZWQgb24gaW4gb3JkZXJcbiAgY29uc3QgZ3JvdXBSYW5rcyA9IE9iamVjdC5rZXlzKGdyb3VwZWRCeVJhbmtzKS5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgcmV0dXJuIGEgLSBiO1xuICB9KTtcblxuICAvLyBzb3J0IGltcG9ydHMgbG9jYWxseSB3aXRoaW4gdGhlaXIgZ3JvdXBcbiAgZ3JvdXBSYW5rcy5mb3JFYWNoKGZ1bmN0aW9uIChncm91cFJhbmspIHtcbiAgICBncm91cGVkQnlSYW5rc1tncm91cFJhbmtdLnNvcnQoc29ydGVyRm4pO1xuICB9KTtcblxuICAvLyBhc3NpZ24gZ2xvYmFsbHkgdW5pcXVlIHJhbmsgdG8gZWFjaCBpbXBvcnRcbiAgbGV0IG5ld1JhbmsgPSAwO1xuICBjb25zdCBhbHBoYWJldGl6ZWRSYW5rcyA9IGdyb3VwUmFua3MucmVkdWNlKGZ1bmN0aW9uIChhY2MsIGdyb3VwUmFuaykge1xuICAgIGdyb3VwZWRCeVJhbmtzW2dyb3VwUmFua10uZm9yRWFjaChmdW5jdGlvbiAoaW1wb3J0ZWRJdGVtKSB7XG4gICAgICBhY2NbYCR7aW1wb3J0ZWRJdGVtLnZhbHVlfXwke2ltcG9ydGVkSXRlbS5ub2RlLmltcG9ydEtpbmR9YF0gPSBwYXJzZUludChncm91cFJhbmssIDEwKSArIG5ld1Jhbms7XG4gICAgICBuZXdSYW5rICs9IDE7XG4gICAgfSk7XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30pO1xuXG4gIC8vIG11dGF0ZSB0aGUgb3JpZ2luYWwgZ3JvdXAtcmFuayB3aXRoIGFscGhhYmV0aXplZC1yYW5rXG4gIGltcG9ydGVkLmZvckVhY2goZnVuY3Rpb24gKGltcG9ydGVkSXRlbSkge1xuICAgIGltcG9ydGVkSXRlbS5yYW5rID0gYWxwaGFiZXRpemVkUmFua3NbYCR7aW1wb3J0ZWRJdGVtLnZhbHVlfXwke2ltcG9ydGVkSXRlbS5ub2RlLmltcG9ydEtpbmR9YF07XG4gIH0pO1xufVxuXG4vLyBERVRFQ1RJTkdcblxuZnVuY3Rpb24gY29tcHV0ZVBhdGhSYW5rKHJhbmtzLCBwYXRoR3JvdXBzLCBwYXRoLCBtYXhQb3NpdGlvbikge1xuICBmb3IgKGxldCBpID0gMCwgbCA9IHBhdGhHcm91cHMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgY29uc3QgeyBwYXR0ZXJuLCBwYXR0ZXJuT3B0aW9ucywgZ3JvdXAsIHBvc2l0aW9uID0gMSB9ID0gcGF0aEdyb3Vwc1tpXTtcbiAgICBpZiAobWluaW1hdGNoKHBhdGgsIHBhdHRlcm4sIHBhdHRlcm5PcHRpb25zIHx8IHsgbm9jb21tZW50OiB0cnVlIH0pKSB7XG4gICAgICByZXR1cm4gcmFua3NbZ3JvdXBdICsgcG9zaXRpb24gLyBtYXhQb3NpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tcHV0ZVJhbmsoY29udGV4dCwgcmFua3MsIGltcG9ydEVudHJ5LCBleGNsdWRlZEltcG9ydFR5cGVzKSB7XG4gIGxldCBpbXBUeXBlO1xuICBsZXQgcmFuaztcbiAgaWYgKGltcG9ydEVudHJ5LnR5cGUgPT09ICdpbXBvcnQ6b2JqZWN0Jykge1xuICAgIGltcFR5cGUgPSAnb2JqZWN0JztcbiAgfSBlbHNlIGlmIChpbXBvcnRFbnRyeS5ub2RlLmltcG9ydEtpbmQgPT09ICd0eXBlJyAmJiByYW5rcy5vbWl0dGVkVHlwZXMuaW5kZXhPZigndHlwZScpID09PSAtMSkge1xuICAgIGltcFR5cGUgPSAndHlwZSc7XG4gIH0gZWxzZSB7XG4gICAgaW1wVHlwZSA9IGltcG9ydFR5cGUoaW1wb3J0RW50cnkudmFsdWUsIGNvbnRleHQpO1xuICB9XG4gIGlmICghZXhjbHVkZWRJbXBvcnRUeXBlcy5oYXMoaW1wVHlwZSkpIHtcbiAgICByYW5rID0gY29tcHV0ZVBhdGhSYW5rKHJhbmtzLmdyb3VwcywgcmFua3MucGF0aEdyb3VwcywgaW1wb3J0RW50cnkudmFsdWUsIHJhbmtzLm1heFBvc2l0aW9uKTtcbiAgfVxuICBpZiAodHlwZW9mIHJhbmsgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmFuayA9IHJhbmtzLmdyb3Vwc1tpbXBUeXBlXTtcbiAgfVxuICBpZiAoaW1wb3J0RW50cnkudHlwZSAhPT0gJ2ltcG9ydCcgJiYgIWltcG9ydEVudHJ5LnR5cGUuc3RhcnRzV2l0aCgnaW1wb3J0OicpKSB7XG4gICAgcmFuayArPSAxMDA7XG4gIH1cblxuICByZXR1cm4gcmFuaztcbn1cblxuZnVuY3Rpb24gcmVnaXN0ZXJOb2RlKGNvbnRleHQsIGltcG9ydEVudHJ5LCByYW5rcywgaW1wb3J0ZWQsIGV4Y2x1ZGVkSW1wb3J0VHlwZXMpIHtcbiAgY29uc3QgcmFuayA9IGNvbXB1dGVSYW5rKGNvbnRleHQsIHJhbmtzLCBpbXBvcnRFbnRyeSwgZXhjbHVkZWRJbXBvcnRUeXBlcyk7XG4gIGlmIChyYW5rICE9PSAtMSkge1xuICAgIGltcG9ydGVkLnB1c2goeyAuLi5pbXBvcnRFbnRyeSwgcmFuayB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRSZXF1aXJlQmxvY2sobm9kZSkge1xuICBsZXQgbiA9IG5vZGU7XG4gIC8vIEhhbmRsZSBjYXNlcyBsaWtlIGBjb25zdCBiYXogPSByZXF1aXJlKCdmb28nKS5iYXIuYmF6YFxuICAvLyBhbmQgYGNvbnN0IGZvbyA9IHJlcXVpcmUoJ2ZvbycpKClgXG4gIHdoaWxlIChcbiAgICBuLnBhcmVudC50eXBlID09PSAnTWVtYmVyRXhwcmVzc2lvbicgJiYgbi5wYXJlbnQub2JqZWN0ID09PSBuXG4gICAgfHwgbi5wYXJlbnQudHlwZSA9PT0gJ0NhbGxFeHByZXNzaW9uJyAmJiBuLnBhcmVudC5jYWxsZWUgPT09IG5cbiAgKSB7XG4gICAgbiA9IG4ucGFyZW50O1xuICB9XG4gIGlmIChcbiAgICBuLnBhcmVudC50eXBlID09PSAnVmFyaWFibGVEZWNsYXJhdG9yJ1xuICAgICYmIG4ucGFyZW50LnBhcmVudC50eXBlID09PSAnVmFyaWFibGVEZWNsYXJhdGlvbidcbiAgICAmJiBuLnBhcmVudC5wYXJlbnQucGFyZW50LnR5cGUgPT09ICdQcm9ncmFtJ1xuICApIHtcbiAgICByZXR1cm4gbi5wYXJlbnQucGFyZW50LnBhcmVudDtcbiAgfVxufVxuXG5jb25zdCB0eXBlcyA9IFsnYnVpbHRpbicsICdleHRlcm5hbCcsICdpbnRlcm5hbCcsICd1bmtub3duJywgJ3BhcmVudCcsICdzaWJsaW5nJywgJ2luZGV4JywgJ29iamVjdCcsICd0eXBlJ107XG5cbi8vIENyZWF0ZXMgYW4gb2JqZWN0IHdpdGggdHlwZS1yYW5rIHBhaXJzLlxuLy8gRXhhbXBsZTogeyBpbmRleDogMCwgc2libGluZzogMSwgcGFyZW50OiAxLCBleHRlcm5hbDogMSwgYnVpbHRpbjogMiwgaW50ZXJuYWw6IDIgfVxuLy8gV2lsbCB0aHJvdyBhbiBlcnJvciBpZiBpdCBjb250YWlucyBhIHR5cGUgdGhhdCBkb2VzIG5vdCBleGlzdCwgb3IgaGFzIGEgZHVwbGljYXRlXG5mdW5jdGlvbiBjb252ZXJ0R3JvdXBzVG9SYW5rcyhncm91cHMpIHtcbiAgY29uc3QgcmFua09iamVjdCA9IGdyb3Vwcy5yZWR1Y2UoZnVuY3Rpb24gKHJlcywgZ3JvdXAsIGluZGV4KSB7XG4gICAgW10uY29uY2F0KGdyb3VwKS5mb3JFYWNoKGZ1bmN0aW9uIChncm91cEl0ZW0pIHtcbiAgICAgIGlmICh0eXBlcy5pbmRleE9mKGdyb3VwSXRlbSkgPT09IC0xKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSW5jb3JyZWN0IGNvbmZpZ3VyYXRpb24gb2YgdGhlIHJ1bGU6IFVua25vd24gdHlwZSBcXGAke0pTT04uc3RyaW5naWZ5KGdyb3VwSXRlbSl9XFxgYCk7XG4gICAgICB9XG4gICAgICBpZiAocmVzW2dyb3VwSXRlbV0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEluY29ycmVjdCBjb25maWd1cmF0aW9uIG9mIHRoZSBydWxlOiBcXGAke2dyb3VwSXRlbX1cXGAgaXMgZHVwbGljYXRlZGApO1xuICAgICAgfVxuICAgICAgcmVzW2dyb3VwSXRlbV0gPSBpbmRleCAqIDI7XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlcztcbiAgfSwge30pO1xuXG4gIGNvbnN0IG9taXR0ZWRUeXBlcyA9IHR5cGVzLmZpbHRlcihmdW5jdGlvbiAodHlwZSkge1xuICAgIHJldHVybiB0eXBlb2YgcmFua09iamVjdFt0eXBlXSA9PT0gJ3VuZGVmaW5lZCc7XG4gIH0pO1xuXG4gIGNvbnN0IHJhbmtzID0gb21pdHRlZFR5cGVzLnJlZHVjZShmdW5jdGlvbiAocmVzLCB0eXBlKSB7XG4gICAgcmVzW3R5cGVdID0gZ3JvdXBzLmxlbmd0aCAqIDI7XG4gICAgcmV0dXJuIHJlcztcbiAgfSwgcmFua09iamVjdCk7XG5cbiAgcmV0dXJuIHsgZ3JvdXBzOiByYW5rcywgb21pdHRlZFR5cGVzIH07XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRQYXRoR3JvdXBzRm9yUmFua3MocGF0aEdyb3Vwcykge1xuICBjb25zdCBhZnRlciA9IHt9O1xuICBjb25zdCBiZWZvcmUgPSB7fTtcblxuICBjb25zdCB0cmFuc2Zvcm1lZCA9IHBhdGhHcm91cHMubWFwKChwYXRoR3JvdXAsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgeyBncm91cCwgcG9zaXRpb246IHBvc2l0aW9uU3RyaW5nIH0gPSBwYXRoR3JvdXA7XG4gICAgbGV0IHBvc2l0aW9uID0gMDtcbiAgICBpZiAocG9zaXRpb25TdHJpbmcgPT09ICdhZnRlcicpIHtcbiAgICAgIGlmICghYWZ0ZXJbZ3JvdXBdKSB7XG4gICAgICAgIGFmdGVyW2dyb3VwXSA9IDE7XG4gICAgICB9XG4gICAgICBwb3NpdGlvbiA9IGFmdGVyW2dyb3VwXSsrO1xuICAgIH0gZWxzZSBpZiAocG9zaXRpb25TdHJpbmcgPT09ICdiZWZvcmUnKSB7XG4gICAgICBpZiAoIWJlZm9yZVtncm91cF0pIHtcbiAgICAgICAgYmVmb3JlW2dyb3VwXSA9IFtdO1xuICAgICAgfVxuICAgICAgYmVmb3JlW2dyb3VwXS5wdXNoKGluZGV4KTtcbiAgICB9XG5cbiAgICByZXR1cm4geyAuLi5wYXRoR3JvdXAsIHBvc2l0aW9uIH07XG4gIH0pO1xuXG4gIGxldCBtYXhQb3NpdGlvbiA9IDE7XG5cbiAgT2JqZWN0LmtleXMoYmVmb3JlKS5mb3JFYWNoKChncm91cCkgPT4ge1xuICAgIGNvbnN0IGdyb3VwTGVuZ3RoID0gYmVmb3JlW2dyb3VwXS5sZW5ndGg7XG4gICAgYmVmb3JlW2dyb3VwXS5mb3JFYWNoKChncm91cEluZGV4LCBpbmRleCkgPT4ge1xuICAgICAgdHJhbnNmb3JtZWRbZ3JvdXBJbmRleF0ucG9zaXRpb24gPSAtMSAqIChncm91cExlbmd0aCAtIGluZGV4KTtcbiAgICB9KTtcbiAgICBtYXhQb3NpdGlvbiA9IE1hdGgubWF4KG1heFBvc2l0aW9uLCBncm91cExlbmd0aCk7XG4gIH0pO1xuXG4gIE9iamVjdC5rZXlzKGFmdGVyKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICBjb25zdCBncm91cE5leHRQb3NpdGlvbiA9IGFmdGVyW2tleV07XG4gICAgbWF4UG9zaXRpb24gPSBNYXRoLm1heChtYXhQb3NpdGlvbiwgZ3JvdXBOZXh0UG9zaXRpb24gLSAxKTtcbiAgfSk7XG5cbiAgcmV0dXJuIHtcbiAgICBwYXRoR3JvdXBzOiB0cmFuc2Zvcm1lZCxcbiAgICBtYXhQb3NpdGlvbjogbWF4UG9zaXRpb24gPiAxMCA/IE1hdGgucG93KDEwLCBNYXRoLmNlaWwoTWF0aC5sb2cxMChtYXhQb3NpdGlvbikpKSA6IDEwLFxuICB9O1xufVxuXG5mdW5jdGlvbiBmaXhOZXdMaW5lQWZ0ZXJJbXBvcnQoY29udGV4dCwgcHJldmlvdXNJbXBvcnQpIHtcbiAgY29uc3QgcHJldlJvb3QgPSBmaW5kUm9vdE5vZGUocHJldmlvdXNJbXBvcnQubm9kZSk7XG4gIGNvbnN0IHRva2Vuc1RvRW5kT2ZMaW5lID0gdGFrZVRva2Vuc0FmdGVyV2hpbGUoXG4gICAgY29udGV4dC5nZXRTb3VyY2VDb2RlKCksIHByZXZSb290LCBjb21tZW50T25TYW1lTGluZUFzKHByZXZSb290KSk7XG5cbiAgbGV0IGVuZE9mTGluZSA9IHByZXZSb290LnJhbmdlWzFdO1xuICBpZiAodG9rZW5zVG9FbmRPZkxpbmUubGVuZ3RoID4gMCkge1xuICAgIGVuZE9mTGluZSA9IHRva2Vuc1RvRW5kT2ZMaW5lW3Rva2Vuc1RvRW5kT2ZMaW5lLmxlbmd0aCAtIDFdLnJhbmdlWzFdO1xuICB9XG4gIHJldHVybiAoZml4ZXIpID0+IGZpeGVyLmluc2VydFRleHRBZnRlclJhbmdlKFtwcmV2Um9vdC5yYW5nZVswXSwgZW5kT2ZMaW5lXSwgJ1xcbicpO1xufVxuXG5mdW5jdGlvbiByZW1vdmVOZXdMaW5lQWZ0ZXJJbXBvcnQoY29udGV4dCwgY3VycmVudEltcG9ydCwgcHJldmlvdXNJbXBvcnQpIHtcbiAgY29uc3Qgc291cmNlQ29kZSA9IGNvbnRleHQuZ2V0U291cmNlQ29kZSgpO1xuICBjb25zdCBwcmV2Um9vdCA9IGZpbmRSb290Tm9kZShwcmV2aW91c0ltcG9ydC5ub2RlKTtcbiAgY29uc3QgY3VyclJvb3QgPSBmaW5kUm9vdE5vZGUoY3VycmVudEltcG9ydC5ub2RlKTtcbiAgY29uc3QgcmFuZ2VUb1JlbW92ZSA9IFtcbiAgICBmaW5kRW5kT2ZMaW5lV2l0aENvbW1lbnRzKHNvdXJjZUNvZGUsIHByZXZSb290KSxcbiAgICBmaW5kU3RhcnRPZkxpbmVXaXRoQ29tbWVudHMoc291cmNlQ29kZSwgY3VyclJvb3QpLFxuICBdO1xuICBpZiAoKC9eXFxzKiQvKS50ZXN0KHNvdXJjZUNvZGUudGV4dC5zdWJzdHJpbmcocmFuZ2VUb1JlbW92ZVswXSwgcmFuZ2VUb1JlbW92ZVsxXSkpKSB7XG4gICAgcmV0dXJuIChmaXhlcikgPT4gZml4ZXIucmVtb3ZlUmFuZ2UocmFuZ2VUb1JlbW92ZSk7XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gbWFrZU5ld2xpbmVzQmV0d2VlblJlcG9ydChjb250ZXh0LCBpbXBvcnRlZCwgbmV3bGluZXNCZXR3ZWVuSW1wb3J0cywgZGlzdGluY3RHcm91cCkge1xuICBjb25zdCBnZXROdW1iZXJPZkVtcHR5TGluZXNCZXR3ZWVuID0gKGN1cnJlbnRJbXBvcnQsIHByZXZpb3VzSW1wb3J0KSA9PiB7XG4gICAgY29uc3QgbGluZXNCZXR3ZWVuSW1wb3J0cyA9IGNvbnRleHQuZ2V0U291cmNlQ29kZSgpLmxpbmVzLnNsaWNlKFxuICAgICAgcHJldmlvdXNJbXBvcnQubm9kZS5sb2MuZW5kLmxpbmUsXG4gICAgICBjdXJyZW50SW1wb3J0Lm5vZGUubG9jLnN0YXJ0LmxpbmUgLSAxLFxuICAgICk7XG5cbiAgICByZXR1cm4gbGluZXNCZXR3ZWVuSW1wb3J0cy5maWx0ZXIoKGxpbmUpID0+ICFsaW5lLnRyaW0oKS5sZW5ndGgpLmxlbmd0aDtcbiAgfTtcbiAgY29uc3QgZ2V0SXNTdGFydE9mRGlzdGluY3RHcm91cCA9IChjdXJyZW50SW1wb3J0LCBwcmV2aW91c0ltcG9ydCkgPT4gY3VycmVudEltcG9ydC5yYW5rIC0gMSA+PSBwcmV2aW91c0ltcG9ydC5yYW5rO1xuICBsZXQgcHJldmlvdXNJbXBvcnQgPSBpbXBvcnRlZFswXTtcblxuICBpbXBvcnRlZC5zbGljZSgxKS5mb3JFYWNoKGZ1bmN0aW9uIChjdXJyZW50SW1wb3J0KSB7XG4gICAgY29uc3QgZW1wdHlMaW5lc0JldHdlZW4gPSBnZXROdW1iZXJPZkVtcHR5TGluZXNCZXR3ZWVuKGN1cnJlbnRJbXBvcnQsIHByZXZpb3VzSW1wb3J0KTtcbiAgICBjb25zdCBpc1N0YXJ0T2ZEaXN0aW5jdEdyb3VwID0gZ2V0SXNTdGFydE9mRGlzdGluY3RHcm91cChjdXJyZW50SW1wb3J0LCBwcmV2aW91c0ltcG9ydCk7XG5cbiAgICBpZiAobmV3bGluZXNCZXR3ZWVuSW1wb3J0cyA9PT0gJ2Fsd2F5cydcbiAgICAgICAgfHwgbmV3bGluZXNCZXR3ZWVuSW1wb3J0cyA9PT0gJ2Fsd2F5cy1hbmQtaW5zaWRlLWdyb3VwcycpIHtcbiAgICAgIGlmIChjdXJyZW50SW1wb3J0LnJhbmsgIT09IHByZXZpb3VzSW1wb3J0LnJhbmsgJiYgZW1wdHlMaW5lc0JldHdlZW4gPT09IDApIHtcbiAgICAgICAgaWYgKGRpc3RpbmN0R3JvdXAgfHwgIWRpc3RpbmN0R3JvdXAgJiYgaXNTdGFydE9mRGlzdGluY3RHcm91cCkge1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgIG5vZGU6IHByZXZpb3VzSW1wb3J0Lm5vZGUsXG4gICAgICAgICAgICBtZXNzYWdlOiAnVGhlcmUgc2hvdWxkIGJlIGF0IGxlYXN0IG9uZSBlbXB0eSBsaW5lIGJldHdlZW4gaW1wb3J0IGdyb3VwcycsXG4gICAgICAgICAgICBmaXg6IGZpeE5ld0xpbmVBZnRlckltcG9ydChjb250ZXh0LCBwcmV2aW91c0ltcG9ydCksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoZW1wdHlMaW5lc0JldHdlZW4gPiAwXG4gICAgICAgICYmIG5ld2xpbmVzQmV0d2VlbkltcG9ydHMgIT09ICdhbHdheXMtYW5kLWluc2lkZS1ncm91cHMnKSB7XG4gICAgICAgIGlmIChkaXN0aW5jdEdyb3VwICYmIGN1cnJlbnRJbXBvcnQucmFuayA9PT0gcHJldmlvdXNJbXBvcnQucmFuayB8fCAhZGlzdGluY3RHcm91cCAmJiAhaXNTdGFydE9mRGlzdGluY3RHcm91cCkge1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgIG5vZGU6IHByZXZpb3VzSW1wb3J0Lm5vZGUsXG4gICAgICAgICAgICBtZXNzYWdlOiAnVGhlcmUgc2hvdWxkIGJlIG5vIGVtcHR5IGxpbmUgd2l0aGluIGltcG9ydCBncm91cCcsXG4gICAgICAgICAgICBmaXg6IHJlbW92ZU5ld0xpbmVBZnRlckltcG9ydChjb250ZXh0LCBjdXJyZW50SW1wb3J0LCBwcmV2aW91c0ltcG9ydCksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGVtcHR5TGluZXNCZXR3ZWVuID4gMCkge1xuICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICBub2RlOiBwcmV2aW91c0ltcG9ydC5ub2RlLFxuICAgICAgICBtZXNzYWdlOiAnVGhlcmUgc2hvdWxkIGJlIG5vIGVtcHR5IGxpbmUgYmV0d2VlbiBpbXBvcnQgZ3JvdXBzJyxcbiAgICAgICAgZml4OiByZW1vdmVOZXdMaW5lQWZ0ZXJJbXBvcnQoY29udGV4dCwgY3VycmVudEltcG9ydCwgcHJldmlvdXNJbXBvcnQpLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJldmlvdXNJbXBvcnQgPSBjdXJyZW50SW1wb3J0O1xuICB9KTtcbn1cblxuZnVuY3Rpb24gZ2V0QWxwaGFiZXRpemVDb25maWcob3B0aW9ucykge1xuICBjb25zdCBhbHBoYWJldGl6ZSA9IG9wdGlvbnMuYWxwaGFiZXRpemUgfHwge307XG4gIGNvbnN0IG9yZGVyID0gYWxwaGFiZXRpemUub3JkZXIgfHwgJ2lnbm9yZSc7XG4gIGNvbnN0IG9yZGVySW1wb3J0S2luZCA9IGFscGhhYmV0aXplLm9yZGVySW1wb3J0S2luZCB8fCAnaWdub3JlJztcbiAgY29uc3QgY2FzZUluc2Vuc2l0aXZlID0gYWxwaGFiZXRpemUuY2FzZUluc2Vuc2l0aXZlIHx8IGZhbHNlO1xuXG4gIHJldHVybiB7IG9yZGVyLCBvcmRlckltcG9ydEtpbmQsIGNhc2VJbnNlbnNpdGl2ZSB9O1xufVxuXG4vLyBUT0RPLCBzZW12ZXItbWFqb3I6IENoYW5nZSB0aGUgZGVmYXVsdCBvZiBcImRpc3RpbmN0R3JvdXBcIiBmcm9tIHRydWUgdG8gZmFsc2VcbmNvbnN0IGRlZmF1bHREaXN0aW5jdEdyb3VwID0gdHJ1ZTtcblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAnc3VnZ2VzdGlvbicsXG4gICAgZG9jczoge1xuICAgICAgY2F0ZWdvcnk6ICdTdHlsZSBndWlkZScsXG4gICAgICBkZXNjcmlwdGlvbjogJ0VuZm9yY2UgYSBjb252ZW50aW9uIGluIG1vZHVsZSBpbXBvcnQgb3JkZXIuJyxcbiAgICAgIHVybDogZG9jc1VybCgnb3JkZXInKSxcbiAgICB9LFxuXG4gICAgZml4YWJsZTogJ2NvZGUnLFxuICAgIHNjaGVtYTogW1xuICAgICAge1xuICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIGdyb3Vwczoge1xuICAgICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHBhdGhHcm91cHNFeGNsdWRlZEltcG9ydFR5cGVzOiB7XG4gICAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZGlzdGluY3RHcm91cDoge1xuICAgICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICAgICAgZGVmYXVsdDogZGVmYXVsdERpc3RpbmN0R3JvdXAsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBwYXRoR3JvdXBzOiB7XG4gICAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICBwYXR0ZXJuOiB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHBhdHRlcm5PcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGdyb3VwOiB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgICAgIGVudW06IHR5cGVzLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICAgICAgZW51bTogWydhZnRlcicsICdiZWZvcmUnXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgICAgICAgIHJlcXVpcmVkOiBbJ3BhdHRlcm4nLCAnZ3JvdXAnXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICAnbmV3bGluZXMtYmV0d2Vlbic6IHtcbiAgICAgICAgICAgIGVudW06IFtcbiAgICAgICAgICAgICAgJ2lnbm9yZScsXG4gICAgICAgICAgICAgICdhbHdheXMnLFxuICAgICAgICAgICAgICAnYWx3YXlzLWFuZC1pbnNpZGUtZ3JvdXBzJyxcbiAgICAgICAgICAgICAgJ25ldmVyJyxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBhbHBoYWJldGl6ZToge1xuICAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgIGNhc2VJbnNlbnNpdGl2ZToge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgb3JkZXI6IHtcbiAgICAgICAgICAgICAgICBlbnVtOiBbJ2lnbm9yZScsICdhc2MnLCAnZGVzYyddLFxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6ICdpZ25vcmUnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBvcmRlckltcG9ydEtpbmQ6IHtcbiAgICAgICAgICAgICAgICBlbnVtOiBbJ2lnbm9yZScsICdhc2MnLCAnZGVzYyddLFxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6ICdpZ25vcmUnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHdhcm5PblVuYXNzaWduZWRJbXBvcnRzOiB7XG4gICAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG5cbiAgY3JlYXRlOiBmdW5jdGlvbiBpbXBvcnRPcmRlclJ1bGUoY29udGV4dCkge1xuICAgIGNvbnN0IG9wdGlvbnMgPSBjb250ZXh0Lm9wdGlvbnNbMF0gfHwge307XG4gICAgY29uc3QgbmV3bGluZXNCZXR3ZWVuSW1wb3J0cyA9IG9wdGlvbnNbJ25ld2xpbmVzLWJldHdlZW4nXSB8fCAnaWdub3JlJztcbiAgICBjb25zdCBwYXRoR3JvdXBzRXhjbHVkZWRJbXBvcnRUeXBlcyA9IG5ldyBTZXQob3B0aW9ucy5wYXRoR3JvdXBzRXhjbHVkZWRJbXBvcnRUeXBlcyB8fCBbJ2J1aWx0aW4nLCAnZXh0ZXJuYWwnLCAnb2JqZWN0J10pO1xuICAgIGNvbnN0IGFscGhhYmV0aXplID0gZ2V0QWxwaGFiZXRpemVDb25maWcob3B0aW9ucyk7XG4gICAgY29uc3QgZGlzdGluY3RHcm91cCA9IG9wdGlvbnMuZGlzdGluY3RHcm91cCA9PSBudWxsID8gZGVmYXVsdERpc3RpbmN0R3JvdXAgOiAhIW9wdGlvbnMuZGlzdGluY3RHcm91cDtcbiAgICBsZXQgcmFua3M7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgeyBwYXRoR3JvdXBzLCBtYXhQb3NpdGlvbiB9ID0gY29udmVydFBhdGhHcm91cHNGb3JSYW5rcyhvcHRpb25zLnBhdGhHcm91cHMgfHwgW10pO1xuICAgICAgY29uc3QgeyBncm91cHMsIG9taXR0ZWRUeXBlcyB9ID0gY29udmVydEdyb3Vwc1RvUmFua3Mob3B0aW9ucy5ncm91cHMgfHwgZGVmYXVsdEdyb3Vwcyk7XG4gICAgICByYW5rcyA9IHtcbiAgICAgICAgZ3JvdXBzLFxuICAgICAgICBvbWl0dGVkVHlwZXMsXG4gICAgICAgIHBhdGhHcm91cHMsXG4gICAgICAgIG1heFBvc2l0aW9uLFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gTWFsZm9ybWVkIGNvbmZpZ3VyYXRpb25cbiAgICAgIHJldHVybiB7XG4gICAgICAgIFByb2dyYW0obm9kZSkge1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KG5vZGUsIGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG4gICAgY29uc3QgaW1wb3J0TWFwID0gbmV3IE1hcCgpO1xuXG4gICAgZnVuY3Rpb24gZ2V0QmxvY2tJbXBvcnRzKG5vZGUpIHtcbiAgICAgIGlmICghaW1wb3J0TWFwLmhhcyhub2RlKSkge1xuICAgICAgICBpbXBvcnRNYXAuc2V0KG5vZGUsIFtdKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBpbXBvcnRNYXAuZ2V0KG5vZGUpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBJbXBvcnREZWNsYXJhdGlvbjogZnVuY3Rpb24gaGFuZGxlSW1wb3J0cyhub2RlKSB7XG4gICAgICAgIC8vIElnbm9yaW5nIHVuYXNzaWduZWQgaW1wb3J0cyB1bmxlc3Mgd2Fybk9uVW5hc3NpZ25lZEltcG9ydHMgaXMgc2V0XG4gICAgICAgIGlmIChub2RlLnNwZWNpZmllcnMubGVuZ3RoIHx8IG9wdGlvbnMud2Fybk9uVW5hc3NpZ25lZEltcG9ydHMpIHtcbiAgICAgICAgICBjb25zdCBuYW1lID0gbm9kZS5zb3VyY2UudmFsdWU7XG4gICAgICAgICAgcmVnaXN0ZXJOb2RlKFxuICAgICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICAgICAgdmFsdWU6IG5hbWUsXG4gICAgICAgICAgICAgIGRpc3BsYXlOYW1lOiBuYW1lLFxuICAgICAgICAgICAgICB0eXBlOiAnaW1wb3J0JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByYW5rcyxcbiAgICAgICAgICAgIGdldEJsb2NrSW1wb3J0cyhub2RlLnBhcmVudCksXG4gICAgICAgICAgICBwYXRoR3JvdXBzRXhjbHVkZWRJbXBvcnRUeXBlcyxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgVFNJbXBvcnRFcXVhbHNEZWNsYXJhdGlvbjogZnVuY3Rpb24gaGFuZGxlSW1wb3J0cyhub2RlKSB7XG4gICAgICAgIGxldCBkaXNwbGF5TmFtZTtcbiAgICAgICAgbGV0IHZhbHVlO1xuICAgICAgICBsZXQgdHlwZTtcbiAgICAgICAgLy8gc2tpcCBcImV4cG9ydCBpbXBvcnRcInNcbiAgICAgICAgaWYgKG5vZGUuaXNFeHBvcnQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5vZGUubW9kdWxlUmVmZXJlbmNlLnR5cGUgPT09ICdUU0V4dGVybmFsTW9kdWxlUmVmZXJlbmNlJykge1xuICAgICAgICAgIHZhbHVlID0gbm9kZS5tb2R1bGVSZWZlcmVuY2UuZXhwcmVzc2lvbi52YWx1ZTtcbiAgICAgICAgICBkaXNwbGF5TmFtZSA9IHZhbHVlO1xuICAgICAgICAgIHR5cGUgPSAnaW1wb3J0JztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YWx1ZSA9ICcnO1xuICAgICAgICAgIGRpc3BsYXlOYW1lID0gY29udGV4dC5nZXRTb3VyY2VDb2RlKCkuZ2V0VGV4dChub2RlLm1vZHVsZVJlZmVyZW5jZSk7XG4gICAgICAgICAgdHlwZSA9ICdpbXBvcnQ6b2JqZWN0JztcbiAgICAgICAgfVxuICAgICAgICByZWdpc3Rlck5vZGUoXG4gICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZSxcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICByYW5rcyxcbiAgICAgICAgICBnZXRCbG9ja0ltcG9ydHMobm9kZS5wYXJlbnQpLFxuICAgICAgICAgIHBhdGhHcm91cHNFeGNsdWRlZEltcG9ydFR5cGVzLFxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIENhbGxFeHByZXNzaW9uOiBmdW5jdGlvbiBoYW5kbGVSZXF1aXJlcyhub2RlKSB7XG4gICAgICAgIGlmICghaXNTdGF0aWNSZXF1aXJlKG5vZGUpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGJsb2NrID0gZ2V0UmVxdWlyZUJsb2NrKG5vZGUpO1xuICAgICAgICBpZiAoIWJsb2NrKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5hbWUgPSBub2RlLmFyZ3VtZW50c1swXS52YWx1ZTtcbiAgICAgICAgcmVnaXN0ZXJOb2RlKFxuICAgICAgICAgIGNvbnRleHQsXG4gICAgICAgICAge1xuICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICAgIHZhbHVlOiBuYW1lLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6IG5hbWUsXG4gICAgICAgICAgICB0eXBlOiAncmVxdWlyZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICByYW5rcyxcbiAgICAgICAgICBnZXRCbG9ja0ltcG9ydHMoYmxvY2spLFxuICAgICAgICAgIHBhdGhHcm91cHNFeGNsdWRlZEltcG9ydFR5cGVzLFxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgICdQcm9ncmFtOmV4aXQnOiBmdW5jdGlvbiByZXBvcnRBbmRSZXNldCgpIHtcbiAgICAgICAgaW1wb3J0TWFwLmZvckVhY2goKGltcG9ydGVkKSA9PiB7XG4gICAgICAgICAgaWYgKG5ld2xpbmVzQmV0d2VlbkltcG9ydHMgIT09ICdpZ25vcmUnKSB7XG4gICAgICAgICAgICBtYWtlTmV3bGluZXNCZXR3ZWVuUmVwb3J0KGNvbnRleHQsIGltcG9ydGVkLCBuZXdsaW5lc0JldHdlZW5JbXBvcnRzLCBkaXN0aW5jdEdyb3VwKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoYWxwaGFiZXRpemUub3JkZXIgIT09ICdpZ25vcmUnKSB7XG4gICAgICAgICAgICBtdXRhdGVSYW5rc1RvQWxwaGFiZXRpemUoaW1wb3J0ZWQsIGFscGhhYmV0aXplKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBtYWtlT3V0T2ZPcmRlclJlcG9ydChjb250ZXh0LCBpbXBvcnRlZCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGltcG9ydE1hcC5jbGVhcigpO1xuICAgICAgfSxcbiAgICB9O1xuICB9LFxufTtcbiJdfQ==
|