@fernir2/saas-kit 0.0.203 → 0.0.204
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/flint/index.d.ts +0 -1
- package/flint/index.js +0 -1
- package/generated/crud-handler-map.js +1 -1
- package/package.json +15 -10
- package/packages/base-repo/app-constants/aliases.js +1 -1
- package/packages/base-repo/app-constants/app-packages-names.d.ts +5 -0
- package/packages/base-repo/app-constants/app-packages-names.js +2 -2
- package/packages/base-repo/app-constants/command-names.d.ts +3 -0
- package/packages/base-repo/app-constants/command-names.js +2 -2
- package/packages/base-repo/app-constants/project-paths.d.ts +1 -1
- package/packages/base-repo/app-constants/project-paths.js +3 -2
- package/packages/base-repo/app-constants/system-constants.d.ts +2 -0
- package/packages/base-repo/app-constants/system-constants.js +2 -2
- package/packages/base-repo/constants/extensions.d.ts +2 -1
- package/packages/base-repo/constants/extensions.js +2 -2
- package/packages/base-repo/constants/http-methods.d.ts +3 -0
- package/packages/base-repo/constants/http-methods.js +1 -1
- package/packages/base-repo/constants/playwright.d.ts +7 -0
- package/packages/base-repo/constants/playwright.js +4 -0
- package/packages/base-repo/constants/string-duplication-constants.d.ts +3 -3
- package/packages/base-repo/constants/string-duplication-constants.js +1 -1
- package/packages/base-repo/constants/tools-constants.d.ts +22 -1
- package/packages/base-repo/constants/tools-constants.js +2 -2
- package/packages/base-repo/constants.d.ts +1 -1
- package/packages/base-repo/constants.js +2 -2
- package/packages/base-repo/tools/git/pre-commit-script.js +5 -5
- package/packages/cluster/contants/cluster-constants.d.ts +0 -1
- package/packages/cluster/contants/cluster-constants.js +1 -1
- package/packages/cluster/gitlab-runner.js +2 -2
- package/packages/cluster/networking.js +2 -2
- package/packages/cluster/postgres.js +3 -2
- package/packages/cluster/registry.js +2 -2
- package/packages/fd-toolbox/api/api-client.js +1 -1
- package/packages/fd-toolbox/api/api-path-names.js +2 -1
- package/packages/fd-toolbox/api/api-paths.js +2 -1
- package/packages/fd-toolbox/api/base-api.js +3 -2
- package/packages/fd-toolbox/api/cache-headers.js +1 -1
- package/packages/fd-toolbox/api/hooks/use-api.js +2 -2
- package/packages/fd-toolbox/auth/login-states.js +1 -1
- package/packages/fd-toolbox/auth/permissions/permission-notifiers.js +1 -1
- package/packages/fd-toolbox/auth/session-storage.js +1 -1
- package/packages/fd-toolbox/auth/tokens.js +1 -1
- package/packages/fd-toolbox/base-resource/base-resource.js +1 -1
- package/packages/fd-toolbox/base-resource/optional-user-id-base-resource.js +1 -1
- package/packages/fd-toolbox/base-resource/props/user-id-base-props-resource-props.js +2 -1
- package/packages/fd-toolbox/base-resource/props/with-optional-user-id-props.js +2 -1
- package/packages/fd-toolbox/base-resource/user-id-base-resource.js +1 -1
- package/packages/fd-toolbox/cache/cache.js +1 -1
- package/packages/fd-toolbox/collections/arrays.d.ts +1 -0
- package/packages/fd-toolbox/collections/arrays.js +2 -2
- package/packages/fd-toolbox/collections/enums.js +1 -1
- package/packages/fd-toolbox/constants/constants.d.ts +1 -0
- package/packages/fd-toolbox/constants/constants.js +2 -2
- package/packages/fd-toolbox/constants/element-suffixes.js +3 -1
- package/packages/fd-toolbox/constants/elements.js +3 -1
- package/packages/fd-toolbox/constants/environment-constants.d.ts +2 -1
- package/packages/fd-toolbox/constants/environment-constants.js +4 -1
- package/packages/fd-toolbox/constants/fd-resource-ids.js +2 -1
- package/packages/fd-toolbox/constants/file-constants.js +3 -1
- package/packages/fd-toolbox/constants/file-loader-data-types.js +1 -1
- package/packages/fd-toolbox/constants/header-names.d.ts +0 -1
- package/packages/fd-toolbox/constants/header-names.js +1 -1
- package/packages/fd-toolbox/constants/html-element-attributes.d.ts +1 -1
- package/packages/fd-toolbox/constants/html-element-attributes.js +3 -1
- package/packages/fd-toolbox/constants/keyboard-keys.js +3 -1
- package/packages/fd-toolbox/constants/odata-helper-constants.js +1 -1
- package/packages/fd-toolbox/constants/resource-folders.js +3 -1
- package/packages/fd-toolbox/constants/resource-id-constants.d.ts +1 -0
- package/packages/fd-toolbox/constants/resource-id-constants.js +1 -1
- package/packages/fd-toolbox/dates/date-formats.js +1 -1
- package/packages/fd-toolbox/dates/date-time.js +8 -8
- package/packages/fd-toolbox/enums/enums.js +1 -1
- package/packages/fd-toolbox/errors/error-handler.js +1 -1
- package/packages/fd-toolbox/errors/errors.js +1 -1
- package/packages/fd-toolbox/errors/problem-details.js +1 -1
- package/packages/fd-toolbox/functions/condition-check-functions.js +1 -1
- package/packages/fd-toolbox/functions/value-checking-functions.js +1 -1
- package/packages/fd-toolbox/hooks/use-async-effect.js +1 -1
- package/packages/fd-toolbox/hooks/use-element-id.js +1 -1
- package/packages/fd-toolbox/hooks/use-empty-ref.js +1 -1
- package/packages/fd-toolbox/hooks/use-enter-key.js +1 -1
- package/packages/fd-toolbox/hooks/use-is-client.js +1 -1
- package/packages/fd-toolbox/hooks/use-is-mobile.js +1 -1
- package/packages/fd-toolbox/hooks/use-keyboard-navigation.js +1 -1
- package/packages/fd-toolbox/hooks/use-media-query.js +1 -1
- package/packages/fd-toolbox/hooks/use-optional-promise.js +1 -1
- package/packages/fd-toolbox/html/element-ids.js +1 -1
- package/packages/fd-toolbox/html/extract-emails-from-html.js +1 -1
- package/packages/fd-toolbox/html/markdown-renderer.js +1 -1
- package/packages/fd-toolbox/http/http.js +1 -1
- package/packages/fd-toolbox/http/url/url-builder.js +1 -1
- package/packages/fd-toolbox/http/url/urls.js +1 -1
- package/packages/fd-toolbox/infra/env-config.js +2 -2
- package/packages/fd-toolbox/infra/env-functions.js +2 -2
- package/packages/fd-toolbox/infra/env-schema.d.ts +6 -6
- package/packages/fd-toolbox/infra/env-schema.js +6 -3
- package/packages/fd-toolbox/infra/env-store.js +1 -1
- package/packages/fd-toolbox/infra/toolbox-env-setting-keys.d.ts +3 -0
- package/packages/fd-toolbox/infra/toolbox-env-setting-keys.js +1 -1
- package/packages/fd-toolbox/io/io.js +1 -1
- package/packages/fd-toolbox/lib/environments.d.ts +1 -1
- package/packages/fd-toolbox/lib/environments.js +1 -1
- package/packages/fd-toolbox/lib/utils.js +2 -1
- package/packages/fd-toolbox/local-storage/local-storage.js +1 -1
- package/packages/fd-toolbox/logging/cli-logger.js +3 -1
- package/packages/fd-toolbox/logging/loggers.d.ts +1 -1
- package/packages/fd-toolbox/logging/loggers.js +1 -1
- package/packages/fd-toolbox/notifications.js +2 -2
- package/packages/fd-toolbox/numbers/numbers.js +1 -1
- package/packages/fd-toolbox/objects/property-value.js +1 -1
- package/packages/fd-toolbox/odata/odata-builder-funcs.js +1 -1
- package/packages/fd-toolbox/odata/odata-builders.js +1 -1
- package/packages/fd-toolbox/odata/odata-constants.js +1 -1
- package/packages/fd-toolbox/odata/odata.js +4 -1
- package/packages/fd-toolbox/odata/odataconfig.js +1 -1
- package/packages/fd-toolbox/odata/services/odata-filters.js +1 -1
- package/packages/fd-toolbox/odata/services/odata-parsers.js +1 -1
- package/packages/fd-toolbox/path.js +1 -1
- package/packages/fd-toolbox/paths/ensure.js +1 -1
- package/packages/fd-toolbox/paths/paths-names.js +1 -1
- package/packages/fd-toolbox/permissions/constants/crud-action-to-permission-prefix.js +2 -1
- package/packages/fd-toolbox/property/calculate-total-property-value.js +1 -1
- package/packages/fd-toolbox/redirect/redirect-functions.js +1 -1
- package/packages/fd-toolbox/routing/login-routers.js +1 -1
- package/packages/fd-toolbox/routing/paths.js +1 -1
- package/packages/fd-toolbox/routing/public-routes.js +1 -1
- package/packages/fd-toolbox/routing/routers.js +2 -1
- package/packages/fd-toolbox/routing/routes.js +1 -1
- package/packages/fd-toolbox/server/api/query-params.js +3 -1
- package/packages/fd-toolbox/server/auth/cookies.js +1 -1
- package/packages/fd-toolbox/server/cachings/core-cache.js +1 -1
- package/packages/fd-toolbox/server/cachings/fd-memory-cache.js +1 -1
- package/packages/fd-toolbox/server/cachings/fd-remote-cache.js +2 -2
- package/packages/fd-toolbox/server/collections/single-funcs.js +1 -1
- package/packages/fd-toolbox/server/configs/configs.js +2 -1
- package/packages/fd-toolbox/server/constants/crud-actions-constants.js +3 -1
- package/packages/fd-toolbox/server/constants/fd-server-cache-keys.js +3 -1
- package/packages/fd-toolbox/server/entities/base-objects.js +1 -1
- package/packages/fd-toolbox/server/errors/error-dtos.js +1 -1
- package/packages/fd-toolbox/server/framework/index.js +1 -1
- package/packages/fd-toolbox/server/logging/latest-logs-store.js +1 -1
- package/packages/fd-toolbox/server/logging/log-dtos.js +1 -1
- package/packages/fd-toolbox/server/logging/logger.js +1 -1
- package/packages/fd-toolbox/server/objects/keys-case-converters.js +1 -1
- package/packages/fd-toolbox/server/random.js +1 -1
- package/packages/fd-toolbox/server/services/dictionaries.js +1 -1
- package/packages/fd-toolbox/server/strings/casing.js +1 -1
- package/packages/fd-toolbox/server/strings/strings.js +3 -1
- package/packages/fd-toolbox/server/time/duration-service.js +1 -1
- package/packages/fd-toolbox/server/web/errors.js +1 -1
- package/packages/fd-toolbox/state/component-states.js +1 -1
- package/packages/fd-toolbox/strings/case-converters.js +1 -1
- package/packages/fd-toolbox/strings/casing-converter.js +1 -1
- package/packages/fd-toolbox/strings/plural-converters.js +3 -1
- package/packages/fd-toolbox/strings/strings-constants.d.ts +6 -1
- package/packages/fd-toolbox/strings/strings-constants.js +2 -2
- package/packages/fd-toolbox/strings/strings.js +2 -2
- package/packages/fd-toolbox/time/date-time.js +1 -1
- package/packages/fd-toolbox/types/crud/crud-results.js +1 -1
- package/packages/fd-toolbox/types/ensure-type.js +3 -1
- package/packages/fd-toolbox/types/react-types.d.ts +1 -2
- package/packages/fd-toolbox/types/with-user-id.js +2 -1
- package/packages/fd-toolbox/url/urls.js +1 -1
- package/packages/fd-toolbox/uuids.d.ts +0 -1
- package/packages/fd-toolbox/uuids.js +3 -2
- package/packages/fd-toolbox/value-checkers.js +1 -1
- package/packages/fd-toolbox-core/constants/base-dev-url.js +1 -1
- package/packages/fd-toolbox-core/core/name-of.js +1 -1
- package/packages/fd-toolbox-core/types/resource-with-id.js +1 -1
- package/packages/flint/dist/rules/index.d.ts +9 -1
- package/packages/flint/dist/rules/index.js +10 -9
- package/packages/flint/eslint-base.config.js +13 -13
- package/packages/flint/eslint-next-web-vitals-temp.config.js +2 -2
- package/packages/flint/infra/analysis/array-analysis.js +8 -0
- package/packages/flint/infra/analysis/casing-analysis.js +4 -0
- package/packages/flint/infra/analysis/enum-analysis.js +12 -0
- package/packages/flint/infra/analysis/eslint-analysis.js +6 -0
- package/packages/flint/infra/analysis/expression-analysis.js +7 -0
- package/packages/flint/infra/analysis/formatting-analysis.js +6 -0
- package/packages/flint/infra/{ast-helpers → analysis}/function-analysis.d.ts +1 -0
- package/packages/flint/infra/analysis/function-analysis.js +8 -0
- package/packages/flint/infra/analysis/jsx-analysis.js +8 -0
- package/packages/flint/infra/analysis/module-analysis.js +11 -0
- package/packages/flint/infra/{ast-helpers → analysis}/name-analysis.d.ts +1 -1
- package/packages/flint/infra/analysis/name-analysis.js +10 -0
- package/packages/flint/infra/analysis/nullish-analysis.js +7 -0
- package/packages/flint/infra/analysis/number-analysis.js +8 -0
- package/packages/flint/infra/{ast-helpers → analysis}/object-analysis.d.ts +1 -1
- package/packages/flint/infra/analysis/object-analysis.js +6 -0
- package/packages/flint/infra/analysis/return-analysis.d.ts +6 -0
- package/packages/flint/infra/analysis/return-analysis.js +7 -0
- package/packages/flint/infra/analysis/scope-analysis.js +11 -0
- package/packages/flint/infra/analysis/string-analysis.js +10 -0
- package/packages/flint/infra/analysis/tree-analysis.js +6 -0
- package/packages/flint/infra/{ast-helpers → analysis}/type-analysis.d.ts +17 -1
- package/packages/flint/infra/analysis/type-analysis.js +9 -0
- package/packages/flint/infra/{ast-helpers → analysis}/type-guards.d.ts +10 -4
- package/packages/flint/infra/analysis/type-guards.js +12 -0
- package/packages/flint/infra/analysis/variable-analysis.d.ts +4 -0
- package/packages/flint/infra/analysis/variable-analysis.js +8 -0
- package/packages/flint/infra/{ast-helpers → analysis}/visitors.d.ts +2 -1
- package/packages/flint/infra/analysis/visitors.js +6 -0
- package/packages/flint/infra/config-edited-checker.d.ts +2 -0
- package/packages/flint/infra/config-edited-checker.js +7 -0
- package/packages/flint/infra/constants/rules-meta.d.ts +6 -0
- package/packages/flint/infra/constants/rules-meta.js +2 -2
- package/packages/flint/infra/create-eslint-rule.js +7 -0
- package/packages/flint/infra/git-readers.d.ts +1 -0
- package/packages/flint/infra/git-readers.js +10 -0
- package/packages/flint/non-level-two-eslint-config.js +1 -1
- package/packages/flint/project-specific-eslint-configs.js +7 -7
- package/packages/flint/rules/code-duplication/must-avoid-code-duplication-in-functions.d.ts +1 -0
- package/packages/flint/rules/code-duplication/must-avoid-code-duplication-in-functions.js +4 -3
- package/packages/flint/rules/code-duplication/no-duplicate-imports.d.ts +1 -0
- package/packages/flint/rules/code-duplication/no-duplicate-imports.js +4 -3
- package/packages/flint/rules/code-duplication/no-literal-duplication.js +3 -3
- package/packages/flint/rules/consistency/enum-type-immediate-definition.js +3 -3
- package/packages/flint/rules/consistency/must-not-needlessly-copy-arrays.js +3 -3
- package/packages/flint/rules/consistency/must-not-use-anonymous-objects-only-with-explicit-typization.js +3 -3
- package/packages/flint/rules/consistency/must-not-use-process-env.js +3 -3
- package/packages/flint/rules/consistency/must-use-nameof-for-props.d.ts +1 -0
- package/packages/flint/rules/consistency/must-use-nameof-for-props.js +4 -3
- package/packages/flint/rules/consistency/must-use-typed-resources-for-crud-update.d.ts +3 -0
- package/packages/flint/rules/consistency/must-use-typed-resources-for-crud-update.js +9 -0
- package/packages/flint/rules/consistency/must-use-typescript.js +3 -3
- package/packages/flint/rules/consistency/no-index-import-in-ast-helpers.d.ts +3 -0
- package/packages/flint/rules/consistency/no-index-import-in-ast-helpers.js +6 -0
- package/packages/flint/rules/consistency/no-new-date.d.ts +1 -0
- package/packages/flint/rules/consistency/no-new-date.js +4 -3
- package/packages/flint/rules/consistency/no-redundant-type-alias.d.ts +1 -0
- package/packages/flint/rules/consistency/no-redundant-type-alias.js +4 -3
- package/packages/flint/rules/consistency/no-use-type-undefined-for-optional.d.ts +1 -0
- package/packages/flint/rules/consistency/no-use-type-undefined-for-optional.js +4 -3
- package/packages/flint/rules/css/must-not-use-important.js +2 -2
- package/packages/flint/rules/css/no-array-destructuring-from-function-calls.d.ts +1 -0
- package/packages/flint/rules/css/no-array-destructuring-from-function-calls.js +4 -3
- package/packages/flint/rules/css/no-px-in-tailwind.js +2 -2
- package/packages/flint/rules/css/no-tailwind-colors.d.ts +1 -0
- package/packages/flint/rules/css/no-tailwind-colors.js +4 -3
- package/packages/flint/rules/flint/must-add-custom-rule-in-config.d.ts +1 -0
- package/packages/flint/rules/flint/must-add-custom-rule-in-config.js +8 -5
- package/packages/flint/rules/flint/must-have-both-rule-and-tests.d.ts +1 -0
- package/packages/flint/rules/flint/must-have-both-rule-and-tests.js +5 -4
- package/packages/flint/rules/flint/must-match-rule-name-with-file-name.js +4 -4
- package/packages/flint/rules/flint/must-not-declare-fixer-without-calling-it.js +2 -2
- package/packages/flint/rules/flint/must-not-import-ast-node-types.js +3 -3
- package/packages/flint/rules/flint/must-not-use-eslint-deprecated-methods.js +2 -2
- package/packages/flint/rules/flint/must-use-better-error-message-for-custom-rules.d.ts +14 -0
- package/packages/flint/rules/flint/must-use-better-error-message-for-custom-rules.js +4 -4
- package/packages/flint/rules/flint/must-use-constants-for-message-ids.js +3 -4
- package/packages/flint/rules/flint/must-use-create-eslint-rule.js +3 -3
- package/packages/flint/rules/flint/must-use-link-for-camel-or-pascal-case-names.d.ts +1 -0
- package/packages/flint/rules/flint/must-use-link-for-camel-or-pascal-case-names.js +6 -5
- package/packages/flint/rules/flint/must-use-nodetypes-structure-instead-of-string-node-type.d.ts +4 -0
- package/packages/flint/rules/flint/must-use-nodetypes-structure-instead-of-string-node-type.js +8 -0
- package/packages/flint/rules/flint/must-use-unique-filenames-with-comment-in-tests.js +2 -2
- package/packages/flint/rules/general/group-consts-as-const.js +3 -3
- package/packages/flint/rules/general/must-add-space-for-comments.d.ts +1 -0
- package/packages/flint/rules/general/must-add-space-for-comments.js +3 -2
- package/packages/flint/rules/general/must-create-resources-in-src-dir.d.ts +1 -0
- package/packages/flint/rules/general/must-create-resources-in-src-dir.js +3 -2
- package/packages/flint/rules/general/must-not-define-functions-in-constants-files.js +3 -3
- package/packages/flint/rules/general/must-not-pass-full-objects-into-functions-needlessly.d.ts +1 -0
- package/packages/flint/rules/general/must-not-pass-full-objects-into-functions-needlessly.js +5 -4
- package/packages/flint/rules/general/must-start-comments-with-uppercase.d.ts +1 -0
- package/packages/flint/rules/general/must-start-comments-with-uppercase.js +3 -2
- package/packages/flint/rules/general/must-use-native-private.d.ts +1 -0
- package/packages/flint/rules/general/must-use-native-private.js +4 -3
- package/packages/flint/rules/general/must-use-strict-dependency-version.d.ts +1 -0
- package/packages/flint/rules/general/must-use-strict-dependency-version.js +3 -2
- package/packages/flint/rules/general/no-empty-files.d.ts +1 -0
- package/packages/flint/rules/general/no-empty-files.js +4 -3
- package/packages/flint/rules/general/no-eslint-disable-without-approved.d.ts +1 -0
- package/packages/flint/rules/general/no-eslint-disable-without-approved.js +4 -4
- package/packages/flint/rules/general/no-import-from-temp-dev.d.ts +1 -0
- package/packages/flint/rules/general/no-import-from-temp-dev.js +4 -3
- package/packages/flint/rules/general/no-specify-return-type.d.ts +1 -0
- package/packages/flint/rules/general/no-specify-return-type.js +4 -3
- package/packages/flint/rules/general/no-todo.d.ts +1 -0
- package/packages/flint/rules/general/no-todo.js +3 -2
- package/packages/flint/rules/general/use-of-only-english-in-repository.d.ts +1 -0
- package/packages/flint/rules/general/use-of-only-english-in-repository.js +4 -3
- package/packages/flint/rules/index.js +138 -130
- package/packages/flint/rules/must-always-specify-types-for-api-responses.d.ts +3 -0
- package/packages/flint/rules/must-always-specify-types-for-api-responses.js +7 -0
- package/packages/flint/rules/must-declare-module-members-in-consistent-order.js +3 -3
- package/packages/flint/rules/must-not-modify-data-or-workspace-in-readonly-tests.js +3 -3
- package/packages/flint/rules/must-not-return-empty-strings.js +3 -3
- package/packages/flint/rules/must-not-use-all-caps-constants.js +3 -3
- package/packages/flint/rules/must-not-use-fetch.js +3 -3
- package/packages/flint/rules/must-not-use-inline-object-type-parameters.js +2 -2
- package/packages/flint/rules/must-not-use-placeholders-in-eslint-rule-titles.js +3 -3
- package/packages/flint/rules/must-not-use-see-link-in-docs-if-type-available.js +3 -4
- package/packages/flint/rules/must-separate-unrelated-tests-into-different-files.js +3 -3
- package/packages/flint/rules/must-specify-second-generic-parameter-in-apipost-and-apiput.d.ts +4 -0
- package/packages/flint/rules/must-specify-second-generic-parameter-in-apipost-and-apiput.js +7 -0
- package/packages/flint/rules/must-use-color-variables-instead-of-hardcoded-values.js +3 -3
- package/packages/flint/rules/must-use-functions-for-component-ids.js +3 -3
- package/packages/flint/rules/must-use-odata-builder.d.ts +3 -0
- package/packages/flint/rules/must-use-odata-builder.js +7 -0
- package/packages/flint/rules/must-use-only-crud-operations.js +3 -3
- package/packages/flint/rules/naming/filename-kebab-case.d.ts +1 -0
- package/packages/flint/rules/naming/filename-kebab-case.js +4 -3
- package/packages/flint/rules/naming/must-add-empty-line-before-assert-act-arrange.js +1 -1
- package/packages/flint/rules/naming/must-add-prefix-to-po-functions.d.ts +1 -0
- package/packages/flint/rules/naming/must-add-prefix-to-po-functions.js +4 -3
- package/packages/flint/rules/naming/must-avoid-non-null-assertions.js +2 -2
- package/packages/flint/rules/naming/must-create-assert-functions-in-asserts-files.d.ts +1 -0
- package/packages/flint/rules/naming/must-create-assert-functions-in-asserts-files.js +4 -3
- package/packages/flint/rules/naming/must-get-elements-in-tests-only-by-id.d.ts +1 -0
- package/packages/flint/rules/naming/must-get-elements-in-tests-only-by-id.js +4 -3
- package/packages/flint/rules/naming/must-name-ui-tests-component-condition-expected-result.d.ts +1 -0
- package/packages/flint/rules/naming/must-name-ui-tests-component-condition-expected-result.js +4 -3
- package/packages/flint/rules/naming/must-not-add-files-and-code-in-lib-folder.d.ts +1 -0
- package/packages/flint/rules/naming/must-not-add-files-and-code-in-lib-folder.js +4 -3
- package/packages/flint/rules/naming/must-not-create-funcs-files-for-non-components.js +3 -3
- package/packages/flint/rules/naming/must-not-declare-func-inside-another-func.d.ts +1 -0
- package/packages/flint/rules/naming/must-not-declare-func-inside-another-func.js +4 -3
- package/packages/flint/rules/naming/must-not-import-react.d.ts +1 -0
- package/packages/flint/rules/naming/must-not-import-react.js +5 -4
- package/packages/flint/rules/naming/must-not-use-emojis.d.ts +1 -0
- package/packages/flint/rules/naming/must-not-use-emojis.js +4 -3
- package/packages/flint/rules/naming/must-not-use-indexed-access-type-in-function-params.js +3 -3
- package/packages/flint/rules/naming/must-not-use-location-href.d.ts +1 -0
- package/packages/flint/rules/naming/must-not-use-location-href.js +4 -3
- package/packages/flint/rules/naming/must-not-use-negation-with-enums.d.ts +1 -0
- package/packages/flint/rules/naming/must-not-use-negation-with-enums.js +4 -3
- package/packages/flint/rules/naming/must-not-use-null.d.ts +1 -0
- package/packages/flint/rules/naming/must-not-use-null.js +4 -3
- package/packages/flint/rules/naming/must-not-use-po-in-assert-functions.d.ts +1 -0
- package/packages/flint/rules/naming/must-not-use-po-in-assert-functions.js +4 -3
- package/packages/flint/rules/naming/must-not-use-redundant-string.d.ts +1 -0
- package/packages/flint/rules/naming/must-not-use-redundant-string.js +4 -3
- package/packages/flint/rules/naming/must-not-use-ternary-operator-for-complicated-conditions.d.ts +1 -0
- package/packages/flint/rules/naming/must-not-use-ternary-operator-for-complicated-conditions.js +4 -3
- package/packages/flint/rules/naming/must-put-empty-line.d.ts +1 -0
- package/packages/flint/rules/naming/must-put-empty-line.js +4 -3
- package/packages/flint/rules/naming/must-throw-full-error-objects.js +2 -2
- package/packages/flint/rules/naming/must-use-camelcase-for-html-items-id-attribute.d.ts +1 -0
- package/packages/flint/rules/naming/must-use-camelcase-for-html-items-id-attribute.js +4 -4
- package/packages/flint/rules/naming/must-use-descriptive-names-for-functions-and-parameters.js +3 -3
- package/packages/flint/rules/naming/must-use-env-keys-from-constant.js +3 -3
- package/packages/flint/rules/naming/must-use-example-domain.d.ts +1 -0
- package/packages/flint/rules/naming/must-use-example-domain.js +4 -3
- package/packages/flint/rules/naming/must-use-filename-in-assert-functions.d.ts +1 -0
- package/packages/flint/rules/naming/must-use-filename-in-assert-functions.js +4 -3
- package/packages/flint/rules/naming/must-use-func-declaration-for-named-func.d.ts +1 -0
- package/packages/flint/rules/naming/must-use-func-declaration-for-named-func.js +4 -3
- package/packages/flint/rules/naming/must-use-function-for-component.d.ts +1 -0
- package/packages/flint/rules/naming/must-use-function-for-component.js +4 -3
- package/packages/flint/rules/naming/must-use-interface-for-props.d.ts +1 -0
- package/packages/flint/rules/naming/must-use-interface-for-props.js +4 -3
- package/packages/flint/rules/naming/must-use-new-url-constructor.d.ts +1 -0
- package/packages/flint/rules/naming/must-use-new-url-constructor.js +5 -3
- package/packages/flint/rules/naming/must-use-pascal-case-for-types-and-interfaces.d.ts +1 -0
- package/packages/flint/rules/naming/must-use-pascal-case-for-types-and-interfaces.js +4 -3
- package/packages/flint/rules/naming/must-use-plural-enum-const-and-singular-type.d.ts +1 -0
- package/packages/flint/rules/naming/must-use-plural-enum-const-and-singular-type.js +5 -4
- package/packages/flint/rules/naming/must-use-plural-in-function-names-if-returns-array.d.ts +1 -0
- package/packages/flint/rules/naming/must-use-plural-in-function-names-if-returns-array.js +6 -5
- package/packages/flint/rules/naming/must-use-plural-names-of-files-for-arrays.js +5 -5
- package/packages/flint/rules/naming/must-use-resource-name-instead-of-resource.d.ts +3 -0
- package/packages/flint/rules/naming/must-use-resource-name-instead-of-resource.js +7 -0
- package/packages/flint/rules/naming/must-use-s-ending-for-natural-plurals.d.ts +1 -0
- package/packages/flint/rules/naming/must-use-s-ending-for-natural-plurals.js +5 -4
- package/packages/flint/rules/naming/must-use-the-fd-prefix-for-env-variables.js +2 -2
- package/packages/flint/rules/naming/must-use-wrappers-to-access-first-element.d.ts +3 -0
- package/packages/flint/rules/naming/must-use-wrappers-to-access-first-element.js +7 -0
- package/packages/flint/rules/naming/no-conflicting-props.d.ts +1 -0
- package/packages/flint/rules/naming/no-conflicting-props.js +4 -3
- package/packages/flint/rules/naming/no-default-props.d.ts +1 -0
- package/packages/flint/rules/naming/no-default-props.js +4 -3
- package/packages/flint/rules/naming/no-delays-in-ui-tests.d.ts +1 -0
- package/packages/flint/rules/naming/no-delays-in-ui-tests.js +4 -3
- package/packages/flint/rules/naming/no-fd-prefix-in-folders.d.ts +1 -0
- package/packages/flint/rules/naming/no-fd-prefix-in-folders.js +4 -3
- package/packages/flint/rules/naming/no-get-in-function-names-without-return.d.ts +6 -0
- package/packages/flint/rules/naming/no-get-in-function-names-without-return.js +4 -3
- package/packages/flint/rules/naming/no-integers-instead-of-enums.d.ts +1 -0
- package/packages/flint/rules/naming/no-integers-instead-of-enums.js +5 -4
- package/packages/flint/rules/naming/no-nullable-check.d.ts +1 -0
- package/packages/flint/rules/naming/no-nullable-check.js +4 -3
- package/packages/flint/rules/naming/no-untyped-objects-between-components.d.ts +1 -0
- package/packages/flint/rules/naming/no-untyped-objects-between-components.js +5 -4
- package/packages/flint/rules/naming/no-use-conditional-logic-in-test-assertions.d.ts +1 -0
- package/packages/flint/rules/naming/no-use-conditional-logic-in-test-assertions.js +4 -3
- package/packages/flint/rules/naming/no-use-enum.d.ts +1 -0
- package/packages/flint/rules/naming/no-use-enum.js +3 -2
- package/packages/flint/rules/naming/no-use-id.d.ts +1 -0
- package/packages/flint/rules/naming/no-use-id.js +4 -3
- package/packages/flint/rules/naming/no-utils-helpers-naming.d.ts +3 -0
- package/packages/flint/rules/naming/no-utils-helpers-naming.js +7 -0
- package/packages/flint/rules/naming/use-on-prefix.d.ts +1 -0
- package/packages/flint/rules/naming/use-on-prefix.js +4 -3
- package/packages/flint/rules/performance/must-clean-up-event-listeners.d.ts +1 -0
- package/packages/flint/rules/performance/must-clean-up-event-listeners.js +4 -3
- package/packages/flint/rules/readability/component-function-max-lines.js +3 -3
- package/packages/flint/rules/readability/exported-func-above-regular.js +3 -3
- package/packages/flint/rules/readability/for-each-max-lines.d.ts +1 -0
- package/packages/flint/rules/readability/for-each-max-lines.js +4 -3
- package/packages/flint/rules/readability/max-lines-per-function.d.ts +1 -0
- package/packages/flint/rules/readability/max-lines-per-function.js +4 -3
- package/packages/flint/rules/readability/must-consolidate-conditional-expressions.d.ts +1 -0
- package/packages/flint/rules/readability/must-consolidate-conditional-expressions.js +4 -3
- package/packages/flint/rules/readability/must-do-await-data-in-one-line.js +2 -2
- package/packages/flint/rules/readability/must-limit-lines-without-comments.d.ts +1 -0
- package/packages/flint/rules/readability/must-limit-lines-without-comments.js +3 -2
- package/packages/flint/rules/readability/must-not-destructure-function-parameters.js +3 -3
- package/packages/flint/rules/readability/must-not-use-empty-lines-in-html.js +3 -3
- package/packages/flint/rules/readability/must-not-use-inline-await.js +3 -3
- package/packages/flint/rules/readability/must-return-empty-array.d.ts +3 -0
- package/packages/flint/rules/readability/must-return-empty-array.js +7 -0
- package/packages/flint/rules/readability/must-use-alt-to-describe-images.d.ts +1 -0
- package/packages/flint/rules/readability/must-use-alt-to-describe-images.js +4 -4
- package/packages/flint/rules/readability/must-use-create-error.d.ts +1 -0
- package/packages/flint/rules/readability/must-use-create-error.js +4 -3
- package/packages/flint/rules/readability/must-use-interfaces-for-complex-types.d.ts +1 -0
- package/packages/flint/rules/readability/must-use-interfaces-for-complex-types.js +4 -3
- package/packages/flint/rules/readability/must-use-single-return-in-function.js +3 -3
- package/packages/flint/rules/readability/must-use-test-comments.d.ts +1 -0
- package/packages/flint/rules/readability/must-use-test-comments.js +4 -3
- package/packages/flint/rules/readability/no-centralized-error-messages.js +2 -2
- package/packages/flint/rules/readability/no-constructor-name-for-resource.d.ts +1 -0
- package/packages/flint/rules/readability/no-constructor-name-for-resource.js +4 -3
- package/packages/flint/rules/readability/no-long-filter-map.d.ts +1 -0
- package/packages/flint/rules/readability/no-long-filter-map.js +4 -3
- package/packages/flint/rules/readability/no-naked-query-return.js +3 -3
- package/packages/flint/rules/readability/no-string-length-check.d.ts +1 -0
- package/packages/flint/rules/readability/no-string-length-check.js +4 -3
- package/packages/flint/rules/readability/no-then.d.ts +1 -0
- package/packages/flint/rules/readability/no-then.js +4 -3
- package/packages/flint/rules/readability/no-to-lower-case-with-resource-name.js +3 -3
- package/packages/flint/rules/readability/no-useless-destructing.js +3 -3
- package/packages/flint/rules/readability/use-function-without-parameter-shortcut.js +3 -3
- package/packages/flint/rules/readability/use-nullish-coalescing-for-default.d.ts +1 -0
- package/packages/flint/rules/readability/use-nullish-coalescing-for-default.js +5 -4
- package/packages/infra/ci/constants/ci-constants.js +1 -1
- package/packages/infra/ci/constants/git-commands.d.ts +0 -5
- package/packages/infra/ci/constants/git-commands.js +2 -2
- package/packages/infra/ci/constants/npm-commands.d.ts +1 -1
- package/packages/infra/ci/constants/npm-commands.js +1 -1
- package/packages/infra/ci/jobs/build-and-test.js +1 -2
- package/packages/infra/ci/jobs/build-db-connection-string.js +1 -1
- package/packages/infra/ci/jobs/build-package.js +1 -1
- package/packages/infra/ci/jobs/ci-auto-merge.js +1 -1
- package/packages/infra/ci/jobs/clear-nx-cache.js +1 -1
- package/packages/infra/ci/jobs/cli-create-test.js +2 -2
- package/packages/infra/ci/jobs/deploy-to-vercel.js +2 -2
- package/packages/infra/ci/jobs/drop-all-db.js +2 -2
- package/packages/infra/ci/jobs/lint.js +3 -2
- package/packages/infra/ci/jobs/manual-cleanup.js +1 -1
- package/packages/infra/ci/jobs/publish-package.js +1 -1
- package/packages/infra/ci/jobs/ranksters-build-and-test.js +1 -1
- package/packages/infra/ci/jobs/saas-kit-test-build-and-test.js +2 -2
- package/packages/infra/ci/jobs/sync-saas-kit-version-to-main.js +2 -2
- package/packages/infra/ci/jobs/unpublish-package.js +2 -2
- package/packages/infra/ci/jobs/update-submodules.js +2 -2
- package/packages/infra/ci/setup/checkout-and-sync-submodules.js +2 -2
- package/packages/infra/ci/setup/cleanup.js +2 -2
- package/packages/infra/ci/setup/clear-nx-cache-environment.js +1 -1
- package/packages/infra/ci/setup/copy-playwright-report.js +3 -3
- package/packages/infra/ci/setup/get-build-package-info.js +1 -1
- package/packages/infra/ci/setup/get-latest-npm-package-info.js +1 -1
- package/packages/infra/ci/setup/init-db.js +1 -1
- package/packages/infra/ci/setup/install-local-saaskit.js +3 -3
- package/packages/infra/ci/setup/npm-auth.js +2 -2
- package/packages/infra/ci/setup/prepare-environment.js +2 -2
- package/packages/infra/ci/setup/prettier.js +2 -2
- package/packages/infra/ci/setup/resolve-and-checkout-submodule-branch.js +2 -2
- package/packages/infra/ci/setup/resolve-main-repo-branch.js +2 -2
- package/packages/infra/ci/setup/rollup-cache-cloud.js +2 -2
- package/packages/infra/ci/setup/setup-submodules.js +2 -2
- package/packages/infra/ci/setup/spawn-background-server.js +1 -1
- package/packages/infra/ci/setup/sync-build-artifacts.js +1 -1
- package/packages/infra/ci/setup/update-workspace-dependencies.js +1 -1
- package/packages/infra/ci/setup/verify-published-version.js +1 -1
- package/packages/infra/ci/utils/cloud-client.js +1 -1
- package/packages/infra/ci/utils/create-early-infra-error.js +1 -1
- package/packages/infra/ci/utils/exec.js +1 -1
- package/packages/infra/ci/utils/git-command-funcs.js +1 -1
- package/packages/infra/ci/utils/git.js +5 -5
- package/packages/infra/ci/utils/npm-command-funcs.js +2 -2
- package/packages/infra/deploy/cluster/cluster-deploy-setup.js +1 -1
- package/packages/infra/git/gitlab/gitlab.js +1 -1
- package/packages/infra/plugins/dirname-plugin.js +1 -1
- package/packages/level2/ai/server/ai-deepinfra.js +1 -1
- package/packages/level2/ai/server/ai-google.js +1 -1
- package/packages/level2/ai/server/ai-groq.js +1 -1
- package/packages/level2/ai/vercel-ai-sdk/ai.js +1 -1
- package/packages/level2/cli/create/configs/drizzle-cli-config.js +2 -1
- package/packages/level2/cli/create/configs/next-cli-config.d.ts +11 -31
- package/packages/level2/cli/create/configs/next-cli-config.js +1 -3
- package/packages/level2/cli/create/configs/playwright-cli-config.js +4 -1
- package/packages/level2/client/component-configs/configure-default-config.js +1 -1
- package/packages/level2/client/component-configs/edit-resource-configs.js +1 -1
- package/packages/level2/client/component-configs/multi-list-config.js +1 -1
- package/packages/level2/client/component-configs/resource-list-configs.js +1 -1
- package/packages/level2/client/component-configs/workspace-settings-config.js +1 -1
- package/packages/level2/client/components/subscription-plan/SubscriptionPlan.funcs.js +1 -1
- package/packages/level2/client/components/subscription-plan/SubscriptionPlan.js +2 -5
- package/packages/level2/client/components/subscription-plan/subscription-plan-config.js +1 -1
- package/packages/level2/client/components/subscription-plan/subscriptions.js +1 -1
- package/packages/level2/client/components/wizard/Wizard.funcs.js +1 -1
- package/packages/level2/client/components/wizard/WizardStepper.funcs.js +1 -1
- package/packages/level2/client/components/wizard/config/wizard-edit-resource-config.js +1 -1
- package/packages/level2/client/pages/dashboard-page/DashboardPage.funcs.js +1 -1
- package/packages/level2/client/pages/edit-user-by-id-page/EditUserByIdPage.js +4 -3
- package/packages/level2/client/pages/microsoft-page/MicrosoftPage.funcs.js +1 -1
- package/packages/level2/client/pages/screenshot-page/TestScreenshotPage.funcs.js +1 -1
- package/packages/level2/client/pages/view-page/ViewPage.funcs.js +3 -4
- package/packages/level2/client/payments/change-payment-method-field/ChangePaymentMethodField.funcs.js +1 -1
- package/packages/level2/client/payments/checkout-form/CheckoutForm.funcs.d.ts +1 -0
- package/packages/level2/client/payments/checkout-form/CheckoutForm.funcs.js +3 -2
- package/packages/level2/client/payments/checkout-form/CheckoutForm.js +70 -83
- package/packages/level2/client/payments/checkout-form/CheckoutFormSubmit.js +3 -12
- package/packages/level2/client/payments/payments.js +1 -1
- package/packages/level2/client/products/reject-action-funcs.js +1 -1
- package/packages/level2/client/website-scan/website-scan-result-social-media.js +1 -1
- package/packages/level2/common/addresses/address.resource.js +1 -1
- package/packages/level2/common/addresses/country.resource.js +1 -1
- package/packages/level2/common/customers/customer.resource.js +1 -1
- package/packages/level2/common/demo/company.resource.js +1 -1
- package/packages/level2/common/demo/contact.resource.js +1 -1
- package/packages/level2/common/demo/deal.resource.js +1 -1
- package/packages/level2/common/demo/ticket.resource.js +1 -1
- package/packages/level2/common/dev/ai-assistent/ai-assistant.resource.js +1 -1
- package/packages/level2/common/dev/custom-permission-resource/custom-permission-resource.resource.js +1 -1
- package/packages/level2/common/dev/dev-report.resource.js +1 -1
- package/packages/level2/common/dev/friends/friend.resource.js +1 -1
- package/packages/level2/common/dev/jobs/job.resource.js +1 -1
- package/packages/level2/common/dev/no-permission.resource.js +1 -1
- package/packages/level2/common/dev/persons/dev-greeting.resource.js +1 -1
- package/packages/level2/common/dev/persons/paper-plane.resource.js +1 -1
- package/packages/level2/common/dev/persons/person-to-job.resource.js +1 -1
- package/packages/level2/common/dev/persons/person-to-person.resource.js +1 -1
- package/packages/level2/common/dev/persons/person.resource-ext.js +1 -1
- package/packages/level2/common/dev/persons/person.resource.js +1 -1
- package/packages/level2/common/dev/persons/phone-brand.resource.js +1 -1
- package/packages/level2/common/dev/persons/ping.resource.js +1 -1
- package/packages/level2/common/dev/singleton-dev-sandbox.resource.js +1 -1
- package/packages/level2/common/fd/fd-meta-toolbox/status-board/status-board.resource.js +1 -1
- package/packages/level2/common/fd/fd-toolbox-web/forms/form-field-bank.resource.js +1 -1
- package/packages/level2/common/fd/fd-toolbox-web/forms/form-field-category.resource.js +1 -1
- package/packages/level2/common/fd/fd-toolbox-web/forms/form-field-submission.resource.js +1 -1
- package/packages/level2/common/fd/fd-toolbox-web/forms/form-field-to-form-section.resource.js +1 -1
- package/packages/level2/common/fd/fd-toolbox-web/forms/form-field.resource.js +1 -1
- package/packages/level2/common/fd/fd-toolbox-web/forms/form-section.resource.js +1 -1
- package/packages/level2/common/fd/fd-toolbox-web/forms/form-submission.resource.js +1 -1
- package/packages/level2/common/fd/fd-toolbox-web/forms/form.resource.js +1 -1
- package/packages/level2/common/fd/fd-toolbox-web/localization/language.resource.js +1 -1
- package/packages/level2/common/fd/fd-toolbox-web/localization/localization-string.resource.js +1 -1
- package/packages/level2/common/hd/resources/hd-product.resource.js +1 -1
- package/packages/level2/common/leads/google-place.resource.js +1 -1
- package/packages/level2/common/leads/lead-category.resource.js +1 -1
- package/packages/level2/common/leads/lead-email.resource.js +1 -1
- package/packages/level2/common/leads/lead-group.resource.js +1 -1
- package/packages/level2/common/leads/lead-to-lead-category.resource.js +1 -1
- package/packages/level2/common/leads/lead-to-lead-group.resource.js +1 -1
- package/packages/level2/common/leads/lead.resource.js +1 -1
- package/packages/level2/common/leads/lm/google-place.resource-ext.js +1 -1
- package/packages/level2/common/models/create-user-input.js +1 -1
- package/packages/level2/common/models/edit-other-user-dto.js +1 -1
- package/packages/level2/common/models/user-created.js +1 -1
- package/packages/level2/common/payments/feature-to-payment-plan.resource.js +1 -1
- package/packages/level2/common/payments/payment.resource.js +1 -1
- package/packages/level2/common/payments/system-invoice/payment-system-invoice.resource.js +1 -1
- package/packages/level2/common/products/product-parameter.resource.js +1 -1
- package/packages/level2/common/resources/case.resource2.js +1 -1
- package/packages/level2/common/resources/dashboard-report.resource.js +1 -1
- package/packages/level2/common/resources/dashboard.resource.js +1 -1
- package/packages/level2/common/resources/feed-entry.resource.js +1 -1
- package/packages/level2/common/resources/integration-subscription.resource.js +1 -1
- package/packages/level2/common/resources/item.resource.js +1 -1
- package/packages/level2/common/resources/oauth-service.resource.js +1 -1
- package/packages/level2/common/resources/order-line.resource.js +1 -1
- package/packages/level2/common/resources/order-transaction.resource.js +1 -1
- package/packages/level2/common/resources/order.resource.js +1 -1
- package/packages/level2/common/resources/product-category.resource.js +1 -1
- package/packages/level2/common/resources/product-media.resource.js +1 -1
- package/packages/level2/common/resources/product.resource.js +1 -1
- package/packages/level2/common/resources/search.resource.js +1 -1
- package/packages/level2/common/resources/searchable-resource.resource.js +1 -1
- package/packages/level2/common/resources/system-setting.resource.js +1 -1
- package/packages/level2/common/resources/website-scan-result.resource.js +1 -1
- package/packages/level2/common/resources/workspace-setting.resource.js +1 -1
- package/packages/level2/common/shipment/shipment-provider.resource.js +1 -1
- package/packages/level2/common/shipment/shipment.resource.js +1 -1
- package/packages/level2/common/stores/store.resource.js +1 -1
- package/packages/level2/common/tutorial/student.resource.js +1 -1
- package/packages/level2/common/website-scan/analytics-scan.js +1 -1
- package/packages/level2/common/website-scan/website-platform-checking.js +1 -1
- package/packages/level2/db/adapters/postgres-adapter.js +2 -2
- package/packages/level2/db/adapters/sqlite-adapter.js +2 -2
- package/packages/level2/db/constants/db-constants.js +1 -1
- package/packages/level2/db/db-config.js +1 -1
- package/packages/level2/db/db-connection.js +1 -1
- package/packages/level2/db/db-schema.js +1 -1
- package/packages/level2/db/drizzle-queries.js +1 -1
- package/packages/level2/db/guards/db-type-guards.js +1 -1
- package/packages/level2/db/utils/run-migration-command.js +1 -1
- package/packages/level2/enricher/integrations/google-spreadsheet.js +2 -2
- package/packages/level2/fd-app-toolbox/edit-password-form/EditPasswordForm.funcs.js +1 -1
- package/packages/level2/fd-app-toolbox/edit-password-form/EditPasswordForm.js +36 -47
- package/packages/level2/fd-app-toolbox/edit-user-form/EditUserForm.funcs.js +1 -1
- package/packages/level2/fd-app-toolbox/edit-user-form/EditUserForm.js +46 -55
- package/packages/level2/fd-app-toolbox/edit-user-sheet/EditUserSheet.funcs.js +1 -1
- package/packages/level2/fd-app-toolbox/forgot-password-form/ForgotPasswordForm.funcs.js +1 -1
- package/packages/level2/fd-app-toolbox/forgot-password-form/ForgotPasswordForm.js +7 -16
- package/packages/level2/fd-app-toolbox/layout/client-layout/client-layout-config.js +1 -1
- package/packages/level2/fd-app-toolbox/layout/client-root/ClientRoot.funcs.js +1 -1
- package/packages/level2/fd-app-toolbox/layout/sidebar/Sidebar.funcs.js +1 -1
- package/packages/level2/fd-app-toolbox/layout/sidebar/sidebar-dropdown-menu/SidebarDropdownMenu.funcs.js +1 -1
- package/packages/level2/fd-app-toolbox/layout/sidebar/sidebar-resource-names-cache.js +1 -1
- package/packages/level2/fd-app-toolbox/layout/toolbar/Toolbar.funcs.js +1 -1
- package/packages/level2/fd-app-toolbox/login-form/LoginForm.funcs.js +1 -1
- package/packages/level2/fd-app-toolbox/login-form/LoginForm.js +50 -49
- package/packages/level2/fd-app-toolbox/login-form/facebook-login.js +1 -1
- package/packages/level2/fd-app-toolbox/login-form/google-login.js +1 -1
- package/packages/level2/fd-app-toolbox/login-form/microsoft-login.js +1 -1
- package/packages/level2/fd-app-toolbox/login-form/standard-login.js +1 -1
- package/packages/level2/fd-app-toolbox/menu/notifications-menu/NotificationMenu.funcs.js +2 -2
- package/packages/level2/fd-app-toolbox/menu/notifications-menu/notification-list/NotificationList.funcs.js +1 -1
- package/packages/level2/fd-app-toolbox/menu/top-menu/top-menu-item/TopMenuItem.funcs.js +1 -1
- package/packages/level2/fd-app-toolbox/menu/user-dropdown-menu/UserDropdownMenu.funcs.js +1 -1
- package/packages/level2/fd-app-toolbox/menu/user-dropdown-menu/user-dropdown-menu-item/UserDropdownMenuItem.funcs.js +1 -1
- package/packages/level2/fd-app-toolbox/menu/visible-workspace-picker/VisibleWorkspacePicker.funcs.js +1 -1
- package/packages/level2/fd-app-toolbox/menu/workspace-picker/WorkspacePicker.funcs.js +1 -1
- package/packages/level2/fd-app-toolbox/models/screens-result.js +1 -1
- package/packages/level2/fd-app-toolbox/models/searchable-resource-result.js +1 -1
- package/packages/level2/fd-app-toolbox/passwords/passwords-api.js +1 -1
- package/packages/level2/fd-app-toolbox/providers/ThemeProvider/theme.js +1 -1
- package/packages/level2/fd-app-toolbox/register-form/RegisterForm.funcs.js +1 -1
- package/packages/level2/fd-app-toolbox/register-form/RegisterForm.js +40 -51
- package/packages/level2/fd-app-toolbox/report/Chart.js +2 -2
- package/packages/level2/fd-app-toolbox/report/ReportCard.funcs.js +1 -1
- package/packages/level2/fd-app-toolbox/report/ReportChart.funcs.js +1 -1
- package/packages/level2/fd-app-toolbox/report/ReportComponent.funcs.js +1 -1
- package/packages/level2/fd-app-toolbox/reports/dashboard-report-data.resource.js +1 -1
- package/packages/level2/fd-app-toolbox/reports/report-chart-series.resource.js +1 -1
- package/packages/level2/fd-app-toolbox/reports/report-with-data.resource.js +1 -1
- package/packages/level2/fd-app-toolbox/reports/report.resource.js +1 -1
- package/packages/level2/fd-app-toolbox/reset-password-form/ResetPasswordForm.funcs.js +1 -1
- package/packages/level2/fd-app-toolbox/reset-password-form/ResetPasswordForm.js +10 -18
- package/packages/level2/fd-app-toolbox/resources/notification/notification.resource.js +1 -1
- package/packages/level2/fd-app-toolbox/resources/status-board/status-board-item.resource.js +1 -1
- package/packages/level2/fd-app-toolbox/resources/status-board/status-board-status.resource.js +1 -1
- package/packages/level2/fd-app-toolbox/search/Search.funcs.js +1 -1
- package/packages/level2/fd-app-toolbox/search/search-dialog/SearchDialog.funcs.js +2 -2
- package/packages/level2/fd-app-toolbox/search/search-result/SearchResult.funcs.js +1 -1
- package/packages/level2/fd-app-toolbox/search/search-searchable-resource-results/SearchSearchableResourceResult.funcs.js +1 -1
- package/packages/level2/fd-app-toolbox/server/base-resources/props/fill-base-resource-props.js +1 -1
- package/packages/level2/fd-app-toolbox/server/base-resources/props/fill-workspace-resource-props.js +1 -1
- package/packages/level2/fd-app-toolbox/server/infra/workspaces/workspace-db.js +1 -1
- package/packages/level2/fd-app-toolbox/server/layout/sidebar/sidebar-resources.js +1 -1
- package/packages/level2/fd-app-toolbox/server/users/user-db.js +1 -1
- package/packages/level2/fd-app-toolbox/server/workspace/visible-workspaces.js +1 -1
- package/packages/level2/fd-app-toolbox/services/web-socket-client.js +1 -1
- package/packages/level2/fd-app-toolbox/status-board/StatusBoard.funcs.js +1 -1
- package/packages/level2/fd-app-toolbox/user-list/UserList.funcs.js +1 -1
- package/packages/level2/fd-component-toolbox/badge-toggle-list/BadgeToggleList.funcs.js +1 -1
- package/packages/level2/fd-component-toolbox/big-calendar/BigCalendar.funcs.js +4 -7
- package/packages/level2/fd-component-toolbox/button/Button.d.ts +2 -2
- package/packages/level2/fd-component-toolbox/button/Button.funcs.js +1 -1
- package/packages/level2/fd-component-toolbox/calendar/Calendar.funcs.js +1 -1
- package/packages/level2/fd-component-toolbox/client/framework/index.js +3 -3
- package/packages/level2/fd-component-toolbox/datepicker/DatePicker.funcs.js +1 -1
- package/packages/level2/fd-component-toolbox/dialog/YesOrNoDialog.funcs.js +1 -1
- package/packages/level2/fd-component-toolbox/dynamic-layout/DynamicLayoutDragAndDrop.funcs.js +1 -1
- package/packages/level2/fd-component-toolbox/fade-out-text/FadeOutText.funcs.js +1 -1
- package/packages/level2/fd-component-toolbox/form/Form.js +6 -9
- package/packages/level2/fd-component-toolbox/image-radio-group/ImageRadioGroup.js +2 -2
- package/packages/level2/fd-component-toolbox/image-radio-group/ImageRadioGroupDialog.js +2 -2
- package/packages/level2/fd-component-toolbox/input/Input.d.ts +3 -3
- package/packages/level2/fd-component-toolbox/input/Input.funcs.d.ts +2 -2
- package/packages/level2/fd-component-toolbox/input/Input.funcs.js +1 -1
- package/packages/level2/fd-component-toolbox/list/list-item/ListItem.funcs.js +1 -1
- package/packages/level2/fd-component-toolbox/markdown/Markdown.funcs.js +1 -1
- package/packages/level2/fd-component-toolbox/markdown/Markdown.js +2 -2
- package/packages/level2/fd-component-toolbox/multiselect/Multiselect.funcs.js +1 -1
- package/packages/level2/fd-component-toolbox/multiselect/hooks/use-multi-select.js +1 -1
- package/packages/level2/fd-component-toolbox/navigation/navigation-item/NavigationItem.funcs.js +1 -1
- package/packages/level2/fd-component-toolbox/rich-text/RichText.funcs.js +3 -3
- package/packages/level2/fd-component-toolbox/rich-text/rich-text-constants.js +1 -1
- package/packages/level2/fd-component-toolbox/sizing/sizing.js +1 -1
- package/packages/level2/fd-component-toolbox/switch/Switch.funcs.js +1 -1
- package/packages/level2/fd-component-toolbox/textarea/TextArea.funcs.js +1 -1
- package/packages/level2/fd-component-toolbox/toaster/Toaster.funcs.js +1 -1
- package/packages/level2/meta/api/hooks/use-ui-resource-meta.js +1 -1
- package/packages/level2/meta/api/meta-odata.js +1 -1
- package/packages/level2/meta/auth/auth-guards.js +1 -1
- package/packages/level2/meta/auth/auth-handler.js +1 -1
- package/packages/level2/meta/auth/logins.js +1 -1
- package/packages/level2/meta/auth/permissions/permission-checker.js +1 -1
- package/packages/level2/meta/browsers/base-multi-browser/BaseMultiBrowser.funcs.js +1 -1
- package/packages/level2/meta/browsers/base-multi-browser/base-multi-browser-dialog/BaseMultiBrowserDialog.funcs.js +1 -1
- package/packages/level2/meta/browsers/browser/Browser.funcs.js +1 -1
- package/packages/level2/meta/browsers/browser/browser-dialog/BrowserDialog.funcs.js +1 -1
- package/packages/level2/meta/browsers/many-to-many-browser/ManyToManyBrowser.funcs.js +1 -1
- package/packages/level2/meta/browsers/multi-browser/MultiBrowser.funcs.js +1 -1
- package/packages/level2/meta/card-list/CardList.funcs.js +1 -1
- package/packages/level2/meta/card-list/config/card-config.js +1 -1
- package/packages/level2/meta/card-list/data-card/DataCard.funcs.js +1 -1
- package/packages/level2/meta/card-list/data-card/data-card-content/DataCardContent.funcs.js +1 -1
- package/packages/level2/meta/client/framework/hooks.js +1 -1
- package/packages/level2/meta/client/framework/index.js +1 -1
- package/packages/level2/meta/client/layout.js +1 -1
- package/packages/level2/meta/comment/CommentList.funcs.js +1 -1
- package/packages/level2/meta/components/edit-image/EditImage.funcs.js +1 -1
- package/packages/level2/meta/components/file-upload/FileUpload.funcs.js +1 -1
- package/packages/level2/meta/components/multi-list/MultiList.funcs.js +1 -1
- package/packages/level2/meta/components/multi-list/MultiList.js +2 -2
- package/packages/level2/meta/components/multi-list/use-multi-list-edit-resource-config.js +1 -1
- package/packages/level2/meta/components/related-resources/RelatedResources.funcs.js +1 -1
- package/packages/level2/meta/components/related-resources/related-property.js +1 -1
- package/packages/level2/meta/components/related-resources/related-resources-component.js +1 -1
- package/packages/level2/meta/constants/toolbox-users.js +1 -1
- package/packages/level2/meta/core/auth-resource-meta.js +1 -1
- package/packages/level2/meta/core/property-meta.js +1 -1
- package/packages/level2/meta/core/property-types.js +1 -1
- package/packages/level2/meta/core/relation.js +1 -1
- package/packages/level2/meta/core/resource-description/resource-description.js +1 -1
- package/packages/level2/meta/core/resource-description/resource-descriptions.js +1 -1
- package/packages/level2/meta/core/resource-meta.js +1 -1
- package/packages/level2/meta/core/resource-singletons.js +1 -1
- package/packages/level2/meta/core/resources/blob/blob-urls.js +1 -1
- package/packages/level2/meta/core/resources/blob/blob.resource.js +1 -1
- package/packages/level2/meta/core/resources/comment.resource.js +1 -1
- package/packages/level2/meta/core/resources/features/feature.resource.js +1 -1
- package/packages/level2/meta/core/resources/payment-plan-feature.resource.js +1 -1
- package/packages/level2/meta/core/resources/payment-plan.resource.js +1 -1
- package/packages/level2/meta/core/resources/permissions/permission-package-to-permission.resource.js +1 -1
- package/packages/level2/meta/core/resources/permissions/permission-package.resource.js +1 -1
- package/packages/level2/meta/core/resources/pricing.resource.js +1 -1
- package/packages/level2/meta/core/resources/resources/resource-property.resource.js +1 -1
- package/packages/level2/meta/core/resources/resources/resource.resource.js +1 -1
- package/packages/level2/meta/core/resources/roles/role-feature.resource.js +1 -1
- package/packages/level2/meta/core/resources/roles/role-to-permission-package.resource.js +1 -1
- package/packages/level2/meta/core/resources/roles/role-to-permission.resource.js +1 -1
- package/packages/level2/meta/core/resources/roles/role.resource.js +1 -1
- package/packages/level2/meta/core/resources/usage-limit/usage-limit.resource.js +1 -1
- package/packages/level2/meta/core/resources/users/user-activity-overview.resource.js +1 -1
- package/packages/level2/meta/core/resources/users/user-feature.resource.js +1 -1
- package/packages/level2/meta/core/resources/users/user-role.resource.js +1 -1
- package/packages/level2/meta/core/resources/users/user-setting.resource.js +1 -1
- package/packages/level2/meta/core/resources/users/user-to-workspace.resource.js +1 -1
- package/packages/level2/meta/core/resources/users/user-visible-workspace.resource.js +1 -1
- package/packages/level2/meta/core/resources/users/user-workspace-invite.resource.js +1 -1
- package/packages/level2/meta/core/resources/users/user.resource.js +1 -1
- package/packages/level2/meta/core/resources/workspace/workspace-resource.js +1 -1
- package/packages/level2/meta/core/resources/workspace/workspace-to-workspace.resource.js +1 -1
- package/packages/level2/meta/core/resources/workspace/workspace.resource.js +1 -1
- package/packages/level2/meta/core/ui-property-meta-old.js +1 -1
- package/packages/level2/meta/crud/permissions/crud-permission-checker.js +1 -1
- package/packages/level2/meta/decorators/access-by-user-id.js +1 -1
- package/packages/level2/meta/decorators/access-by-workspace-id.js +1 -1
- package/packages/level2/meta/decorators/allowed-crud-actions.js +1 -1
- package/packages/level2/meta/decorators/big-text.js +1 -1
- package/packages/level2/meta/decorators/blob-image.js +1 -1
- package/packages/level2/meta/decorators/colorful.js +1 -1
- package/packages/level2/meta/decorators/concat-description.js +1 -1
- package/packages/level2/meta/decorators/create-only-resource.js +1 -1
- package/packages/level2/meta/decorators/currency.js +1 -1
- package/packages/level2/meta/decorators/date-only.js +1 -1
- package/packages/level2/meta/decorators/db-index.js +1 -1
- package/packages/level2/meta/decorators/default-sort.js +1 -1
- package/packages/level2/meta/decorators/description-based-on-property-value.js +1 -1
- package/packages/level2/meta/decorators/description-property.js +1 -1
- package/packages/level2/meta/decorators/display-name.js +1 -1
- package/packages/level2/meta/decorators/dynamic.js +1 -1
- package/packages/level2/meta/decorators/email.js +1 -1
- package/packages/level2/meta/decorators/expand-description-properties.js +1 -1
- package/packages/level2/meta/decorators/file-upload.js +1 -1
- package/packages/level2/meta/decorators/flags-enum.js +1 -1
- package/packages/level2/meta/decorators/get-only-resource.js +1 -1
- package/packages/level2/meta/decorators/icon.js +1 -1
- package/packages/level2/meta/decorators/integer.js +1 -1
- package/packages/level2/meta/decorators/label.js +1 -1
- package/packages/level2/meta/decorators/markdown.js +1 -1
- package/packages/level2/meta/decorators/not-a-resource.js +1 -1
- package/packages/level2/meta/decorators/not-colorful.js +1 -1
- package/packages/level2/meta/decorators/not-displayable.js +1 -1
- package/packages/level2/meta/decorators/not-edit-displayable.js +1 -1
- package/packages/level2/meta/decorators/not-editable-from-outside.js +1 -1
- package/packages/level2/meta/decorators/not-filter-displayable.js +1 -1
- package/packages/level2/meta/decorators/not-list-displayable.js +1 -1
- package/packages/level2/meta/decorators/not-relation.js +1 -1
- package/packages/level2/meta/decorators/outside-excluded.js +1 -1
- package/packages/level2/meta/decorators/permission-checker-for.js +1 -1
- package/packages/level2/meta/decorators/phone-number.js +1 -1
- package/packages/level2/meta/decorators/plural-name.js +1 -1
- package/packages/level2/meta/decorators/prefer-plural-name.js +1 -1
- package/packages/level2/meta/decorators/prefer-singular-name.js +1 -1
- package/packages/level2/meta/decorators/priority.js +1 -1
- package/packages/level2/meta/decorators/required-if-other-are-present.js +1 -1
- package/packages/level2/meta/decorators/required-if-prop-has-value.js +1 -1
- package/packages/level2/meta/decorators/required.js +1 -1
- package/packages/level2/meta/decorators/resource-id.js +1 -1
- package/packages/level2/meta/decorators/resource-property-id.js +1 -1
- package/packages/level2/meta/decorators/rich-text.js +1 -1
- package/packages/level2/meta/decorators/searchable.js +1 -1
- package/packages/level2/meta/decorators/singleton.js +1 -1
- package/packages/level2/meta/decorators/transient-resource.js +1 -1
- package/packages/level2/meta/decorators/ui-priority.js +1 -1
- package/packages/level2/meta/decorators/ui-relation-priority.js +1 -1
- package/packages/level2/meta/decorators/unique.js +1 -1
- package/packages/level2/meta/decorators/url.js +1 -1
- package/packages/level2/meta/edit-resource/EditResource.funcs.js +1 -1
- package/packages/level2/meta/edit-resource/EditResourceHeader.funcs.js +1 -1
- package/packages/level2/meta/edit-resource/EditResourceSheet.funcs.js +1 -1
- package/packages/level2/meta/edit-resource/EditResourceTabs.funcs.js +1 -1
- package/packages/level2/meta/edit-resource/apply-value-changes.js +1 -1
- package/packages/level2/meta/edit-resource/config/custom-filter-config-provider.d.ts +4 -0
- package/packages/level2/meta/edit-resource/config/custom-filter-config-provider.js +4 -0
- package/packages/level2/meta/edit-resource/config/edit-resource-config.js +1 -1
- package/packages/level2/meta/edit-resource/config/edit-resource-configs.js +1 -1
- package/packages/level2/meta/edit-resource/config/edit-resource-property-config.js +1 -1
- package/packages/level2/meta/edit-resource/config/resource-list-config.js +1 -1
- package/packages/level2/meta/edit-resource/edit-link/EditLink.funcs.js +1 -1
- package/packages/level2/meta/edit-resource/edit-resource-dialog/EditResourceDialog.funcs.js +1 -1
- package/packages/level2/meta/edit-resource/edit-resource-property-block/EditResourceBlobField.funcs.js +1 -1
- package/packages/level2/meta/edit-resource/edit-resource-property-block/EditResourceEnumField.funcs.js +1 -1
- package/packages/level2/meta/edit-resource/edit-resource-property-block/EditResourceFlagsEnumField.funcs.js +1 -1
- package/packages/level2/meta/edit-resource/edit-resource-property-block/EditResourceImageField.funcs.js +1 -1
- package/packages/level2/meta/edit-resource/edit-resource-property-block/EditResourcePropertyBlock.funcs.js +1 -1
- package/packages/level2/meta/edit-resource/edit-resource-property-field/EditResourcePropertyField.funcs.js +1 -1
- package/packages/level2/meta/edit-resource/edit-resource-validation.js +1 -1
- package/packages/level2/meta/edit-resource/edit-resources-constants.js +1 -1
- package/packages/level2/meta/edit-resource/hooks/use-edit-resource-ref.js +1 -1
- package/packages/level2/meta/edit-resource/save-complete-context.js +1 -1
- package/packages/level2/meta/edit-resource/services/blob-components.js +1 -1
- package/packages/level2/meta/edit-resource/services/edit-resource-components.js +1 -1
- package/packages/level2/meta/edit-resource/services/edit-resource-relations.js +1 -1
- package/packages/level2/meta/edit-resource/services/edit-resources.js +1 -1
- package/packages/level2/meta/edit-resource/services/form-validations.js +1 -1
- package/packages/level2/meta/edit-resource/services/property-metas.js +1 -1
- package/packages/level2/meta/edit-resource/services/use-edit-resource-config.js +1 -1
- package/packages/level2/meta/fd-meta-toolbox-service.js +1 -1
- package/packages/level2/meta/filtering/filter/Filter.funcs.js +1 -1
- package/packages/level2/meta/filtering/filter/filters/boolean-filter/BooleanFilter.funcs.js +1 -1
- package/packages/level2/meta/filtering/resource-filter-list/ResourceFilterList.funcs.js +1 -1
- package/packages/level2/meta/filtering/resource-filter-list/resource-filter-list-ids.js +1 -1
- package/packages/level2/meta/filtering/resource-filter-list/resource-filter-lists.js +1 -1
- package/packages/level2/meta/filtering/resource-filter-list/use-resource-filter-list-display.js +1 -1
- package/packages/level2/meta/layout/events.js +1 -1
- package/packages/level2/meta/meta-providers.js +1 -1
- package/packages/level2/meta/meta-sort.js +1 -1
- package/packages/level2/meta/models/user-base-resource.js +1 -1
- package/packages/level2/meta/models/user-workspace-base-resource.js +1 -1
- package/packages/level2/meta/odata/expands.js +1 -1
- package/packages/level2/meta/odata/odata-selects.js +1 -1
- package/packages/level2/meta/one-to-many-relations.js +1 -1
- package/packages/level2/meta/page/use-set-title.js +1 -1
- package/packages/level2/meta/page/use-title.js +1 -1
- package/packages/level2/meta/public-api.d.ts +14 -0
- package/packages/level2/meta/public-api.js +15 -0
- package/packages/level2/meta/relations/many-to-many-info.js +1 -1
- package/packages/level2/meta/relations/meta-relations.js +1 -1
- package/packages/level2/meta/resource-list/ResourceList.funcs.js +4 -3
- package/packages/level2/meta/resource-list/ResourceList.js +6 -11
- package/packages/level2/meta/resource-list/resource-list-cell-element-ids.js +1 -1
- package/packages/level2/meta/resource-list/resource-list-checkers.js +1 -1
- package/packages/level2/meta/resource-list/resource-list-configs.js +1 -1
- package/packages/level2/meta/resource-list/resource-list-header/ResourceListHeader.funcs.js +1 -1
- package/packages/level2/meta/resource-list/resource-list-hooks.js +1 -1
- package/packages/level2/meta/resource-list/resource-list-persist-state.js +1 -1
- package/packages/level2/meta/resource-list/resource-lists.js +1 -1
- package/packages/level2/meta/resource-list/use-resource-list-config.js +1 -1
- package/packages/level2/meta/resource-providers.js +1 -1
- package/packages/level2/meta/resources/session/session.resource.js +1 -1
- package/packages/level2/meta/server/api/odata/odata-expression-operators.js +1 -1
- package/packages/level2/meta/server/api/odata/odata-expressions.js +1 -1
- package/packages/level2/meta/server/api/odata/odata-filters-helpers.js +1 -1
- package/packages/level2/meta/server/api/odata/odata-filters.js +1 -1
- package/packages/level2/meta/server/api/odata/odata-metas.js +1 -1
- package/packages/level2/meta/server/api/odata/odata-parsers.js +1 -1
- package/packages/level2/meta/server/api/odata/odata.js +1 -1
- package/packages/level2/meta/server/auth/auth-guard.js +1 -1
- package/packages/level2/meta/server/auth/fd-sessions.js +1 -1
- package/packages/level2/meta/server/auth/permissions/resource-permission-checker-provider.js +1 -1
- package/packages/level2/meta/server/auth/role-db/get-all-including-user-to-roles.js +1 -1
- package/packages/level2/meta/server/auth/session-access.js +1 -1
- package/packages/level2/meta/server/auth/session-validation.js +1 -1
- package/packages/level2/meta/server/auth/session.js +1 -1
- package/packages/level2/meta/server/auth/users/current-user-id-provider.js +1 -1
- package/packages/level2/meta/server/basic-crud/crud-api.js +1 -1
- package/packages/level2/meta/server/basic-crud/crud.js +1 -1
- package/packages/level2/meta/server/basic-crud/cruds.js +1 -1
- package/packages/level2/meta/server/basic-crud/helpers/crud-event-handler.js +1 -1
- package/packages/level2/meta/server/basic-crud/helpers/cruds-permission-checker.js +1 -1
- package/packages/level2/meta/server/basic-crud/helpers/prepare-many-to-many-resource.js +1 -1
- package/packages/level2/meta/server/basic-crud/related-resource-db.js +1 -1
- package/packages/level2/meta/server/basic-crud/relation-syncs.js +1 -1
- package/packages/level2/meta/server/basic-crud/resource-crud-handlers.js +1 -1
- package/packages/level2/meta/server/basic-crud/resource-meta-handlers.js +1 -1
- package/packages/level2/meta/server/controllers/generic-controllers/crud-controller.js +1 -1
- package/packages/level2/meta/server/db/db.js +1 -1
- package/packages/level2/meta/server/db/init-db.js +1 -1
- package/packages/level2/meta/server/db/schema/schema-adapter.js +1 -1
- package/packages/level2/meta/server/entities/edit-base-resources.js +1 -1
- package/packages/level2/meta/server/entities/edit-workspace.js +1 -1
- package/packages/level2/meta/server/integration-platforms/fd-integration-cache.js +1 -1
- package/packages/level2/meta/server/integration-platforms/integration-db.js +1 -1
- package/packages/level2/meta/server/integration-platforms/integration-events.js +1 -1
- package/packages/level2/meta/server/messaging/messages.js +1 -1
- package/packages/level2/meta/server/meta-core/constants/metas.js +1 -1
- package/packages/level2/meta/server/meta-core/constants/resource-ids.js +1 -1
- package/packages/level2/meta/server/meta-core/crud/crud-update-config.js +1 -1
- package/packages/level2/meta/server/meta-core/crud/search.js +1 -1
- package/packages/level2/meta/server/meta-core/display-name.js +1 -1
- package/packages/level2/meta/server/meta-url-service.js +1 -1
- package/packages/level2/meta/server/models/roles/role-to-permission-package-db.js +1 -1
- package/packages/level2/meta/server/permission/permission-checker.js +1 -1
- package/packages/level2/meta/server/permission/permission-data-provider.js +1 -1
- package/packages/level2/meta/server/permission/permission-package-to-permission-db.js +1 -1
- package/packages/level2/meta/server/permission/permissions.js +1 -1
- package/packages/level2/meta/server/permission/user-permissions-builder.js +1 -1
- package/packages/level2/meta/server/props/meta-property-filters.js +1 -1
- package/packages/level2/meta/server/props/property-meta-config-provider.js +1 -1
- package/packages/level2/meta/server/props/property-names.js +1 -1
- package/packages/level2/meta/server/props/required-properties.js +1 -1
- package/packages/level2/meta/server/providers/current-workspace-id-provider.js +1 -1
- package/packages/level2/meta/server/relations/many-to-many-relations.js +1 -1
- package/packages/level2/meta/server/relations/relations.js +1 -1
- package/packages/level2/meta/server/repositories/odata-db.js +1 -1
- package/packages/level2/meta/server/resources/crud-resources.js +1 -1
- package/packages/level2/meta/server/resources/dynamic-properties.js +1 -1
- package/packages/level2/meta/server/resources/init-internal-resource-metas-from-json.js +2 -2
- package/packages/level2/meta/server/resources/internal-resource-meta.js +1 -1
- package/packages/level2/meta/server/resources/resource-checker.js +1 -1
- package/packages/level2/meta/server/resources/resource-meta-plugin.js +2 -2
- package/packages/level2/meta/server/resources/searchable-resources-api.js +1 -1
- package/packages/level2/meta/server/resources/searchable-resources.js +1 -1
- package/packages/level2/meta/server/services/crud-actions.js +1 -1
- package/packages/level2/meta/server/services/metas.js +1 -1
- package/packages/level2/meta/server/services/permission-check-config-provider.js +1 -1
- package/packages/level2/meta/server/services/property-meta.js +1 -1
- package/packages/level2/meta/server/services/property-metas.js +1 -1
- package/packages/level2/meta/server/services/resource-name-converter.js +1 -1
- package/packages/level2/meta/server/services/resource-provider-db.js +1 -1
- package/packages/level2/meta/server/services/resource-provider-defaults.js +1 -1
- package/packages/level2/meta/server/services/resource-provider-expands.js +1 -1
- package/packages/level2/meta/server/services/resource-provider-permissions.js +1 -1
- package/packages/level2/meta/server/services/resource-provider.js +1 -1
- package/packages/level2/meta/server/ui/meta-api.js +1 -1
- package/packages/level2/meta/server/ui/ui-metas-api.js +1 -1
- package/packages/level2/meta/server/ui/ui-metas.js +1 -1
- package/packages/level2/meta/server/validations/meta-validations.js +2 -2
- package/packages/level2/meta/server/value-checker.js +2 -2
- package/packages/level2/meta/server/web/current-url.js +1 -1
- package/packages/level2/meta/server/web/drizzle-guards.js +1 -1
- package/packages/level2/meta/server/web/drizzle.js +1 -1
- package/packages/level2/meta/server/web/http-api-wrapper.js +1 -1
- package/packages/level2/meta/server/web/reduce-data.js +1 -1
- package/packages/level2/meta/server/web/responses.js +1 -1
- package/packages/level2/meta/server/workspace/get-visible-workspaces-cache-key.js +1 -1
- package/packages/level2/meta/services/client-environment.js +1 -1
- package/packages/level2/meta/services/filter-components.js +1 -1
- package/packages/level2/meta/services/meta-navigations.js +1 -1
- package/packages/level2/meta/services/property-values.js +1 -1
- package/packages/level2/meta/services/resource-filters.js +1 -1
- package/packages/level2/meta/services/resource-name-client-converter.js +1 -1
- package/packages/level2/meta/services/window.js +1 -1
- package/packages/level2/meta/state/base-state-functions.js +1 -1
- package/packages/level2/meta/subscription-plan/fetch-active-or-trial-subscription.js +1 -1
- package/packages/level2/meta/subscription-plan/subscription.resource.js +1 -1
- package/packages/level2/meta/table/Table.funcs.js +1 -1
- package/packages/level2/meta/table/body/TableBody.funcs.d.ts +1 -1
- package/packages/level2/meta/table/body/TableBody.funcs.js +1 -1
- package/packages/level2/meta/table/body/TableBody.js +2 -2
- package/packages/level2/meta/table/body-cell/ActionBodyCell.funcs.js +1 -1
- package/packages/level2/meta/table/body-cell/BlobBodyCell.funcs.js +1 -1
- package/packages/level2/meta/table/body-cell/BodyCell.funcs.js +1 -1
- package/packages/level2/meta/table/body-cell/BodyCellArrayTooltip.funcs.js +1 -1
- package/packages/level2/meta/table/body-cell/BodyCellArrayTooltip.js +9 -6
- package/packages/level2/meta/table/body-cell/MultiselectCellTemplate.funcs.js +1 -1
- package/packages/level2/meta/table/body-cell/ViewCell.funcs.js +1 -1
- package/packages/level2/meta/table/body-row/TableBodyRow.funcs.js +1 -1
- package/packages/level2/meta/table/csv-converter.js +1 -1
- package/packages/level2/meta/table/header/TableHeader.funcs.js +1 -1
- package/packages/level2/meta/table/header-cell/TableHeaderActionCell.funcs.js +1 -1
- package/packages/level2/meta/table/header-cell/TableHeaderCell.funcs.js +1 -1
- package/packages/level2/meta/table/pager/Pager.funcs.js +1 -1
- package/packages/level2/meta/table/services/fd-private-paging.js +1 -1
- package/packages/level2/meta/table/services/fd-table-private-column-calculation.js +1 -1
- package/packages/level2/meta/table/services/fd-table-private-columns.js +1 -1
- package/packages/level2/meta/table/services/fd-table-private-create-columns.js +1 -1
- package/packages/level2/meta/table/services/fd-table-private-properties.js +1 -1
- package/packages/level2/meta/table/services/fd-table-private-resize-columns.js +1 -1
- package/packages/level2/meta/table/services/fd-table-private-rows.js +1 -1
- package/packages/level2/meta/table/services/fd-table-private-sorting.js +1 -1
- package/packages/level2/meta/table/services/table-private-cell.js +1 -1
- package/packages/level2/meta/table/table-constants.js +1 -1
- package/packages/level2/meta/table/table-custom-action/TableCustomAction.funcs.js +1 -1
- package/packages/level2/meta/ui/ui-relation.js +1 -1
- package/packages/level2/meta/ui-meta-providers.js +1 -1
- package/packages/level2/meta/ui-resource-meta.js +1 -1
- package/packages/level2/meta/view/ViewSheet.funcs.js +1 -1
- package/packages/level2/npm-commands/gen-dynamic-handlers-map/generate-dynamic-handlers-map.js +3 -3
- package/packages/level2/npm-commands/gen-meta/generate-meta.js +2 -2
- package/packages/level2/npm-commands/gen-meta/generate-tsconfig.js +2 -2
- package/packages/level2/npm-commands/gen-schema/gen-schema.js +1 -1
- package/packages/level2/npm-commands/gen-schema/transpile-schema.js +1 -1
- package/packages/level2/npm-commands/migrate-db/migrate-db.js +1 -1
- package/packages/level2/npm-commands/run-command/index.js +3 -3
- package/packages/level2/npm-commands/seed-db/seed-db.js +1 -1
- package/packages/level2/npm-commands/server/db/fd-db-initializer.js +1 -1
- package/packages/level2/other/scrapping/scrape.command.js +1 -1
- package/packages/level2/other/scrapping/scrapper-config.js +1 -1
- package/packages/level2/other/scrapping/scrappers.js +2 -2
- package/packages/level2/server/addresses/address-db.js +1 -1
- package/packages/level2/server/addresses/address-master-data.js +1 -1
- package/packages/level2/server/addresses/country-db.js +1 -1
- package/packages/level2/server/addresses/country-master-data.js +1 -1
- package/packages/level2/server/ai/ai-generated-text.js +1 -1
- package/packages/level2/server/auth/dev-demo-permissions.js +1 -1
- package/packages/level2/server/auth/lm-permission-master-data.js +1 -1
- package/packages/level2/server/auth/oauth-service-db.js +1 -1
- package/packages/level2/server/auth/permission-master-data.js +1 -1
- package/packages/level2/server/auth/permission-role-mapping.js +1 -1
- package/packages/level2/server/auth/role-db.js +1 -1
- package/packages/level2/server/auth/role-master-data.js +1 -1
- package/packages/level2/server/auth/role-to-permission-master-data.js +1 -1
- package/packages/level2/server/auth/role-to-permission-package.handlers.js +1 -1
- package/packages/level2/server/auth/role-to-permission.handlers.js +1 -1
- package/packages/level2/server/auth/role.handlers.js +1 -1
- package/packages/level2/server/auth/sign-in-api.js +1 -1
- package/packages/level2/server/auth/sign-out-api.js +1 -1
- package/packages/level2/server/auth/sign-up-api.js +1 -1
- package/packages/level2/server/blob/blob-db.js +2 -2
- package/packages/level2/server/business-profile/business-profile-api.js +1 -1
- package/packages/level2/server/comments/comment-db.js +1 -1
- package/packages/level2/server/comments/comment-master-data.js +1 -1
- package/packages/level2/server/customers/customer-db.js +1 -1
- package/packages/level2/server/customers/customer-master-data.js +1 -1
- package/packages/level2/server/dashboards/dashboard-db.js +1 -1
- package/packages/level2/server/dashboards/dashboard-master-data.js +1 -1
- package/packages/level2/server/dashboards/dashboard-report-db.js +1 -1
- package/packages/level2/server/dashboards/dashboard-report-master-data.js +1 -1
- package/packages/level2/server/db/db.js +1 -1
- package/packages/level2/server/demo/companies/company-db.js +1 -1
- package/packages/level2/server/demo/companies/company-master-data.js +1 -1
- package/packages/level2/server/demo/contacts/contact-db.js +1 -1
- package/packages/level2/server/demo/contacts/contact-master-data.js +1 -1
- package/packages/level2/server/demo/deals/deal-db.js +1 -1
- package/packages/level2/server/demo/deals/deal-master-data.js +1 -1
- package/packages/level2/server/demo/tickets/ticket-db.js +1 -1
- package/packages/level2/server/demo/tickets/ticket-master-data.js +1 -1
- package/packages/level2/server/dev/ai-assistant/ai-assistant-db.js +1 -1
- package/packages/level2/server/dev/ai-assistant/ai-assistant-master-data.js +1 -1
- package/packages/level2/server/dev/ai-assistant/ai-assistant-mother.js +1 -1
- package/packages/level2/server/dev/dev-greeting/dev-greeting-master-data.js +1 -1
- package/packages/level2/server/dev/dev-greeting/dev-greeting-mother.js +1 -1
- package/packages/level2/server/dev/friends/friend-db.js +1 -1
- package/packages/level2/server/dev/friends/friend-master-data.js +1 -1
- package/packages/level2/server/dev/friends/friend-mother.js +1 -1
- package/packages/level2/server/dev/friends/friend-utils.js +1 -1
- package/packages/level2/server/dev/jobs/job-db.js +1 -1
- package/packages/level2/server/dev/jobs/job-master-data.js +1 -1
- package/packages/level2/server/dev/jobs/job-mother.js +1 -1
- package/packages/level2/server/dev/paper-planes/paper-plane-db.js +1 -1
- package/packages/level2/server/dev/paper-planes/paper-plane-master-data.js +1 -1
- package/packages/level2/server/dev/paper-planes/paper-plane-mother.js +1 -1
- package/packages/level2/server/dev/paper-planes/paper-plane.handlers.js +1 -1
- package/packages/level2/server/dev/persons/person-db.js +1 -1
- package/packages/level2/server/dev/persons/person-master-data.js +1 -1
- package/packages/level2/server/dev/persons/person-mother.js +1 -1
- package/packages/level2/server/dev/persons/person-to-job-db.js +1 -1
- package/packages/level2/server/dev/persons/person-to-job-master-data.js +1 -1
- package/packages/level2/server/dev/persons/person-to-job-mother.js +1 -1
- package/packages/level2/server/dev/persons/person-to-person-db.js +1 -1
- package/packages/level2/server/dev/persons/person-to-person-master-data.js +1 -1
- package/packages/level2/server/dev/persons/person-to-person-mother.js +1 -1
- package/packages/level2/server/dev/persons/person.handlers.js +1 -1
- package/packages/level2/server/dev/phone-brands/phone-brand-db.js +1 -1
- package/packages/level2/server/dev/phone-brands/phone-brand-master-data.js +1 -1
- package/packages/level2/server/dev/phone-brands/phone-brand-mother.js +1 -1
- package/packages/level2/server/dev/pings/ping-db.js +1 -1
- package/packages/level2/server/dev/pings/ping-master-data.js +1 -1
- package/packages/level2/server/dev/pings/ping-mother.js +1 -1
- package/packages/level2/server/example/example-api.js +1 -1
- package/packages/level2/server/export/csv-data-formatter.js +1 -1
- package/packages/level2/server/export/export-api.js +1 -1
- package/packages/level2/server/fd/fd-toolbox-asp-net/models/roles/role-to-permission-db.js +1 -1
- package/packages/level2/server/fd/fd-toolbox-web/auth/permissions/permission-db.js +1 -1
- package/packages/level2/server/fd/fd-toolbox-web/auth/permissions/permission-package-db.js +1 -1
- package/packages/level2/server/fd/fd-toolbox-web/auth/permissions/permission-package-to-db.js +1 -1
- package/packages/level2/server/fd/fd-toolbox-web/auth/permissions/permission-package-to-permission.handlers.js +1 -1
- package/packages/level2/server/fd/fd-toolbox-web/auth/permissions/permission-package.handlers.js +1 -1
- package/packages/level2/server/fd/fd-toolbox-web/auth/permissions/permission.handlers.js +1 -1
- package/packages/level2/server/fd/fd-toolbox-web/http/base-http-client.js +1 -1
- package/packages/level2/server/fd/fd-toolbox-web/localization/language/language-db.js +1 -1
- package/packages/level2/server/fd/fd-toolbox-web/localization/language/language-master-data.js +1 -1
- package/packages/level2/server/fd/fd-toolbox-web/logging/log-api.js +1 -1
- package/packages/level2/server/fd/fd-toolbox-web/mailing/fd-emails.js +1 -1
- package/packages/level2/server/fd/fd-toolbox-web/models/reset-password-request.js +1 -1
- package/packages/level2/server/fd/fd-toolbox-web/notifications/notification-db.js +1 -1
- package/packages/level2/server/fd/fd-toolbox-web/permissions/fd-permission-master-data.js +1 -1
- package/packages/level2/server/fd/fd-toolbox-web/permissions/permission-api.js +1 -1
- package/packages/level2/server/fd/fd-toolbox-web/resources/resource-property-db.js +1 -1
- package/packages/level2/server/fd/fd-toolbox-web/seeding/notification-master-data.js +1 -1
- package/packages/level2/server/fd/fd-toolbox-web/seeding/resource-master-data.js +1 -1
- package/packages/level2/server/fd/fd-toolbox-web/seeding/resource-property-master-data.js +1 -1
- package/packages/level2/server/fd/fd-toolbox-web/seeding/workspace-master-data.js +1 -1
- package/packages/level2/server/fd/fd-toolbox-web/services/notifications.js +1 -1
- package/packages/level2/server/fd/fd-toolbox-web/services/socket/web-socket-server.js +1 -1
- package/packages/level2/server/features/feature-db.js +1 -1
- package/packages/level2/server/features/feature-master-data.js +1 -1
- package/packages/level2/server/features/feature-mother.js +1 -1
- package/packages/level2/server/features/features.js +1 -1
- package/packages/level2/server/features/payment-plan-feature-data.js +1 -1
- package/packages/level2/server/features/payment-plan-feature-db.js +1 -1
- package/packages/level2/server/features/status-board-master-data.js +1 -1
- package/packages/level2/server/features/user-feature.handlers.js +1 -1
- package/packages/level2/server/feeds/feed-entry-data.js +1 -1
- package/packages/level2/server/hd/plaid/plaid.js +1 -1
- package/packages/level2/server/html/email.js +1 -1
- package/packages/level2/server/infra/background-jobs/background-jobs.js +2 -2
- package/packages/level2/server/infra/background-jobs/init-jobs.js +1 -1
- package/packages/level2/server/infra/workspaces/workspace-setting-db.js +1 -1
- package/packages/level2/server/integration/data/deleted/integration-deleted-api.js +1 -1
- package/packages/level2/server/integration/data/dynamicfields/integration-dynamicfields-api.js +1 -1
- package/packages/level2/server/integration/integration-api.js +1 -1
- package/packages/level2/server/integration-platforms/integration-resource.js +1 -1
- package/packages/level2/server/integration-platforms/subscription-odata.js +1 -1
- package/packages/level2/server/integrations/aio/blobs.js +2 -2
- package/packages/level2/server/integrations/blob/blob-storage.js +1 -1
- package/packages/level2/server/integrations/google-place/google-place-helpers.js +1 -1
- package/packages/level2/server/integrations/google-place/google-place.handlers.js +1 -1
- package/packages/level2/server/integrations/google-place/google-place.js +1 -1
- package/packages/level2/server/integrations/remote-blob/remote-blob-storage.js +1 -1
- package/packages/level2/server/integrations/screenshot/get-website-screenshots.js +1 -1
- package/packages/level2/server/integrations/screenshot/screenshot-controller.js +1 -1
- package/packages/level2/server/integrations/screenshot/screenshotone/screenshotone-client.js +2 -2
- package/packages/level2/server/integrations/website-scan/scan-social-media-and-email.js +1 -1
- package/packages/level2/server/integrations/website-scan/website-scan-initializer.js +1 -1
- package/packages/level2/server/items/item-db.js +1 -1
- package/packages/level2/server/leads/lead-category-db.js +1 -1
- package/packages/level2/server/leads/lead-category-master-data.js +1 -1
- package/packages/level2/server/leads/lead-db.js +1 -1
- package/packages/level2/server/leads/lead-email-db.js +1 -1
- package/packages/level2/server/leads/lead-email-master-data.js +1 -1
- package/packages/level2/server/leads/lead-group-db.js +1 -1
- package/packages/level2/server/leads/lead-group-master-data.js +1 -1
- package/packages/level2/server/leads/lead-master-data.js +1 -1
- package/packages/level2/server/leads/lead-to-lead-category-db.js +1 -1
- package/packages/level2/server/leads/lead-to-lead-category-master-data.js +1 -1
- package/packages/level2/server/leads/lead-to-lead-group-db.js +1 -1
- package/packages/level2/server/leads/lead-to-lead-group-master-data.js +1 -1
- package/packages/level2/server/leads/lead-to-lead-group.handlers.js +1 -1
- package/packages/level2/server/leads/lead.handlers.js +1 -1
- package/packages/level2/server/leads/services/ai-scan-result-delete.js +1 -1
- package/packages/level2/server/lm/google-place/google-place-to-lead.js +1 -1
- package/packages/level2/server/lm/google-place/save-to-group/save-to-group-api.js +1 -1
- package/packages/level2/server/lm/google-place-scan-website/google-place-scan-website-api.js +1 -1
- package/packages/level2/server/lm/lead-scan-website/lead-scan-website-api.js +1 -1
- package/packages/level2/server/markdown/markdown-api.js +1 -1
- package/packages/level2/server/markdown/markdown.js +1 -1
- package/packages/level2/server/media/media-api.js +2 -2
- package/packages/level2/server/media/media-master-data.js +3 -3
- package/packages/level2/server/notifications/notification.handlers.js +1 -1
- package/packages/level2/server/orders/order-db.js +1 -1
- package/packages/level2/server/orders/order-master-data.js +1 -1
- package/packages/level2/server/orders/order-utils.js +1 -1
- package/packages/level2/server/orders/order.handlers.js +1 -1
- package/packages/level2/server/otheruser/id/otheruser-id-api.js +1 -1
- package/packages/level2/server/otheruser/otheruser-api.js +1 -1
- package/packages/level2/server/password/editpassword/editpassword-api.js +1 -1
- package/packages/level2/server/password/forgotpassword/forgotpassword-api.js +1 -1
- package/packages/level2/server/password/resetpassword/resetpassword-api.js +1 -1
- package/packages/level2/server/payment/method/payment-method-api.js +1 -1
- package/packages/level2/server/payment/verify-fail/payment-verify-fail-api.js +1 -1
- package/packages/level2/server/payment/verify-success/payment-verify-success.js +1 -1
- package/packages/level2/server/payments/payment-plan.handlers.js +2 -2
- package/packages/level2/server/payments/payments/payment-plan-db.js +1 -1
- package/packages/level2/server/payments/payments/payment-plan-master-data.js +1 -1
- package/packages/level2/server/payments/payments/payment-plans.js +1 -1
- package/packages/level2/server/payments/payments/payments-api.js +1 -1
- package/packages/level2/server/payments/payments/payments.js +1 -1
- package/packages/level2/server/payments/payments/pricing-seeding.js +1 -1
- package/packages/level2/server/payments/pricing.handlers.js +1 -1
- package/packages/level2/server/payments/stripe/stripe-sync.js +2 -2
- package/packages/level2/server/payments/stripe/stripes.js +2 -2
- package/packages/level2/server/payments/subscriptions/subscription-db.js +1 -1
- package/packages/level2/server/payments/subscriptions/subscriptions.js +1 -1
- package/packages/level2/server/payments/system-invoice/payment-system-invoice.handlers.js +1 -1
- package/packages/level2/server/product-setup/website-analysiz.js +2 -2
- package/packages/level2/server/products/product-db.js +1 -1
- package/packages/level2/server/products/product-master-data.js +1 -1
- package/packages/level2/server/products/product-media/product-media-db.js +1 -1
- package/packages/level2/server/products/product-media/product-media-master-data.js +1 -1
- package/packages/level2/server/products/product-parameters/product-parameter-mother.js +1 -1
- package/packages/level2/server/reports/report-chart-series-master-data.js +1 -1
- package/packages/level2/server/reports/report-chart-series-mother.js +1 -1
- package/packages/level2/server/reports/report-db.js +1 -1
- package/packages/level2/server/reports/report-master-data.js +1 -1
- package/packages/level2/server/reports/report-mother.js +1 -1
- package/packages/level2/server/reports/report-with-data.handlers.js +1 -1
- package/packages/level2/server/search/search-result-api.js +1 -1
- package/packages/level2/server/search/search-result.js +1 -1
- package/packages/level2/server/search/search.handlers.js +1 -1
- package/packages/level2/server/search/searchable-resource.handlers.js +1 -1
- package/packages/level2/server/seeding/seed-master-data.js +1 -1
- package/packages/level2/server/shipment/shipment-api.js +1 -1
- package/packages/level2/server/shipment/shipment-db.js +1 -1
- package/packages/level2/server/shipment/shipment-master-data.js +1 -1
- package/packages/level2/server/shipment/shipment.handlers.js +1 -1
- package/packages/level2/server/statusboard/statusboard-api.js +1 -1
- package/packages/level2/server/store/store-db.js +1 -1
- package/packages/level2/server/store/store-master-data.js +2 -2
- package/packages/level2/server/subscription/cancel/subscription-cancel-api.js +1 -1
- package/packages/level2/server/subscription/create/subscription-create-api.js +1 -1
- package/packages/level2/server/subscription/update/subscription-update-api.js +1 -1
- package/packages/level2/server/system-settings/system-master-data.js +1 -1
- package/packages/level2/server/system-settings/system-setting-db.js +1 -1
- package/packages/level2/server/test/data/test-data-api.js +1 -1
- package/packages/level2/server/test/data/test-data.js +1 -1
- package/packages/level2/server/upload/upload-api.js +1 -1
- package/packages/level2/server/usage-limit/usage-limit.js +1 -1
- package/packages/level2/server/user-settings/user-setting.handlers.js +1 -1
- package/packages/level2/server/userfeature/isenabled/userfeature-isenabled-api.js +1 -1
- package/packages/level2/server/users/admin-edit-admin.js +1 -1
- package/packages/level2/server/users/auth.js +1 -1
- package/packages/level2/server/users/edit-other-users.js +1 -1
- package/packages/level2/server/users/tokens.js +2 -2
- package/packages/level2/server/users/user-creation-service.js +1 -1
- package/packages/level2/server/users/user-db.js +1 -1
- package/packages/level2/server/users/user-deletions.js +1 -1
- package/packages/level2/server/users/user-feature-db.js +1 -1
- package/packages/level2/server/users/user-feature-predicates.js +1 -1
- package/packages/level2/server/users/user-manager.js +2 -2
- package/packages/level2/server/users/user-master-data.js +1 -1
- package/packages/level2/server/users/user-mother.js +1 -1
- package/packages/level2/server/users/user-role.handlers.js +1 -1
- package/packages/level2/server/users/user-role.js +1 -1
- package/packages/level2/server/users/user-service.js +1 -1
- package/packages/level2/server/users/user-settings/user-setting-db.js +1 -1
- package/packages/level2/server/users/user.handlers.js +1 -1
- package/packages/level2/server/utils/base-resource-properties.js +1 -1
- package/packages/level2/server/utils/check-resource-access-permission.js +1 -1
- package/packages/level2/server/utils/get-user-and-workspace-ids.js +1 -1
- package/packages/level2/server/utils/map-subscription-status-to-db-format.js +1 -1
- package/packages/level2/server/web/http-wrapper.js +1 -1
- package/packages/level2/server/web/initialize.js +1 -1
- package/packages/level2/server/web/responses/create-remote-blob-response.js +1 -1
- package/packages/level2/server/workspace/change-current-workspace.js +1 -1
- package/packages/level2/server/workspace/visible-workspace-api.js +1 -1
- package/packages/level2/server/workspace/workspace-api.js +1 -1
- package/packages/level2/server/workspace/workspace-invite/user-workspace-invite.handlers.js +1 -1
- package/packages/level2/server/workspace/workspace-invite/workspace-user-invites.js +1 -1
- package/packages/test-infra/asserters/edit-asserts.js +1 -1
- package/packages/test-infra/asserters/forgot-password-asserts.js +1 -1
- package/packages/test-infra/asserters/navigation-asserts.js +1 -1
- package/packages/test-infra/asserters/notification-asserts.js +1 -1
- package/packages/test-infra/asserters/search-asserts.js +1 -1
- package/packages/test-infra/asserters/table-asserts.d.ts +1 -0
- package/packages/test-infra/asserters/table-asserts.js +2 -2
- package/packages/test-infra/asserters/ui-asserts.js +1 -1
- package/packages/test-infra/constants/test-data/input-fields-values.js +3 -1
- package/packages/test-infra/constants/ui-tester/checkout-form-test-data.js +2 -1
- package/packages/test-infra/fixtures/custom-test-functions.js +1 -1
- package/packages/test-infra/fixtures/error-tracking-fixture.js +1 -1
- package/packages/test-infra/fixtures/extend-test.js +1 -1
- package/packages/test-infra/monorepo-global-setup.js +1 -1
- package/packages/test-infra/monorepo-global-teardown.js +1 -1
- package/packages/test-infra/page-objects/account-setup-po.js +1 -1
- package/packages/test-infra/page-objects/browser-po.js +1 -1
- package/packages/test-infra/page-objects/checkout-form-po.js +1 -1
- package/packages/test-infra/page-objects/edit-po.js +1 -1
- package/packages/test-infra/page-objects/filter-po.js +1 -1
- package/packages/test-infra/page-objects/forgot-password-po.js +1 -1
- package/packages/test-infra/page-objects/list-po.js +1 -1
- package/packages/test-infra/page-objects/login-po.js +1 -1
- package/packages/test-infra/page-objects/multi-browser-po.js +1 -1
- package/packages/test-infra/page-objects/notification-po.js +1 -1
- package/packages/test-infra/page-objects/payment-plan-po.js +1 -1
- package/packages/test-infra/page-objects/reset-password-po.js +1 -1
- package/packages/test-infra/page-objects/search-po.js +1 -1
- package/packages/test-infra/page-objects/select-workspace-po.js +1 -1
- package/packages/test-infra/page-objects/sidebar-po.js +1 -1
- package/packages/test-infra/page-objects/table-asserts.d.ts +2 -0
- package/packages/test-infra/page-objects/table-asserts.js +2 -2
- package/packages/test-infra/page-objects/toolbar-po.js +1 -1
- package/packages/test-infra/page-objects/user-menu-po.js +1 -1
- package/packages/test-infra/page-objects/user-setting-po.js +1 -1
- package/packages/test-infra/page-objects/view-po.js +1 -1
- package/packages/test-infra/playwright-setup/global-setup.js +1 -1
- package/packages/test-infra/playwright-setup/global-teardown.js +1 -1
- package/packages/test-infra/test-data/crud-tests/crud-test-data-factory.js +1 -1
- package/packages/test-infra/test-data/crud-tests/crud-test-data.js +1 -1
- package/packages/test-infra/test-data/crud-tests/relation-sync-info-provider.js +1 -1
- package/packages/test-infra/test-data/dev/friends/friends-mother.js +1 -1
- package/packages/test-infra/test-data/dev/persons/person-mother.js +1 -1
- package/packages/test-infra/test-data/dev/persons/phone-brand-mother.js +1 -1
- package/packages/test-infra/test-data/integration-tests/base-http-client.js +2 -2
- package/packages/test-infra/test-data/integration-tests/http-client.js +2 -2
- package/packages/test-infra/test-data/integration-tests/result-comparer.js +1 -1
- package/packages/test-infra/test-data/integration-tests/workspace.js +1 -1
- package/packages/test-infra/test-data/meta/person-property-metas.js +1 -1
- package/packages/test-infra/test-data/meta/resource-meta-mother.js +1 -1
- package/packages/test-infra/test-data/meta/ui-meta-mother.js +1 -1
- package/packages/test-infra/test-data/meta/ui-property-meta-mother.js +1 -1
- package/packages/test-infra/test-data/seed-test-data.js +1 -1
- package/packages/test-infra/ui-tester/global-ui-test.js +1 -1
- package/packages/test-infra/ui-tester/ui-tester.js +3 -3
- package/packages/tools/string-duplication/handlers.js +1 -1
- package/packages/tools/string-duplication/index.d.ts +13 -1
- package/packages/tools/string-duplication/index.js +11 -49
- package/packages/tools/string-duplication/normalizer.js +1 -1
- package/packages/tools/string-duplication/reporter.js +3 -1
- package/packages/tools/string-duplication/resolver.js +3 -2
- package/packages/tools/string-duplication/string-extractor.js +3 -2
- package/src/app/loading.js +3 -2
- package/src/hd/footer/HdFooter.js +3 -2
- package/src/lm/ai-scan/AiScanAction.funcs.js +1 -1
- package/src/lm/google-place/action-dropdown/GooglePlaceActionDropdown.funcs.js +1 -1
- package/src/lm/google-place/actions/GooglePlaceSaveToGroupAction.funcs.js +1 -1
- package/src/lm/google-place/actions/google-place-delete-action.js +1 -1
- package/src/lm/google-place/actions/google-place-take-screenshot-action.js +1 -1
- package/src/lm/google-place/cell-templates/GooglePlaceEmailsCellTemplate.funcs.js +1 -1
- package/src/lm/google-place/cell-templates/GooglePlaceScanAction.funcs.js +1 -1
- package/src/lm/lead/action-dropdown/LeadActionDropdown.funcs.js +1 -1
- package/src/lm/lead/action-dropdown/lead-dropdown-actions.js +1 -1
- package/src/lm/lead/actions/export-leads-action/export-leads-action.js +1 -1
- package/src/lm/lead/actions/move-to-group-action/LeadMoveToGroupAction.funcs.js +1 -1
- package/src/lm/lead/actions/save-to-group-action/lead-save-to-group-action.js +1 -1
- package/src/lm/lead/actions/take-screenshot-action/lead-take-screenshot-action.js +1 -1
- package/src/lm/lead/cell-templates/LeadScanAction.funcs.js +1 -1
- package/src/lm/lead-group/table-custom-action/lead-group-table-custom-action.js +1 -1
- package/src/lm/pages/HomePage.funcs.js +1 -1
- package/test-infra/index.d.ts +2 -2
- package/test-infra/index.js +2 -2
- package/undocumented/index.d.ts +236 -136
- package/undocumented/index.js +181 -168
- package/packages/fd-toolbox/infra/env-setting-types.d.ts +0 -5
- package/packages/fd-toolbox/infra/env-setting-types.js +0 -4
- package/packages/flint/infra/ast-helpers/array-analysis.js +0 -8
- package/packages/flint/infra/ast-helpers/casing-analysis.js +0 -4
- package/packages/flint/infra/ast-helpers/enum-analysis.js +0 -12
- package/packages/flint/infra/ast-helpers/eslint-analysis.js +0 -6
- package/packages/flint/infra/ast-helpers/expression-analysis.js +0 -7
- package/packages/flint/infra/ast-helpers/formatting-analysis.js +0 -6
- package/packages/flint/infra/ast-helpers/function-analysis.js +0 -7
- package/packages/flint/infra/ast-helpers/jsx-analysis.js +0 -7
- package/packages/flint/infra/ast-helpers/module-analysis.js +0 -11
- package/packages/flint/infra/ast-helpers/name-analysis.js +0 -9
- package/packages/flint/infra/ast-helpers/nullish-analysis.js +0 -6
- package/packages/flint/infra/ast-helpers/number-analysis.js +0 -7
- package/packages/flint/infra/ast-helpers/object-analysis.js +0 -6
- package/packages/flint/infra/ast-helpers/scope-analysis.js +0 -10
- package/packages/flint/infra/ast-helpers/string-analysis.js +0 -9
- package/packages/flint/infra/ast-helpers/tree-analysis.js +0 -6
- package/packages/flint/infra/ast-helpers/type-analysis.js +0 -8
- package/packages/flint/infra/ast-helpers/type-guards.js +0 -10
- package/packages/flint/infra/ast-helpers/variable-analysis.d.ts +0 -2
- package/packages/flint/infra/ast-helpers/variable-analysis.js +0 -7
- package/packages/flint/infra/ast-helpers/visitors.js +0 -4
- package/packages/flint/infra/utils/create-eslint-rule.js +0 -6
- package/packages/flint/rules/naming/must-use-singlewithwarning-instead-of-indexing-first-element.d.ts +0 -3
- package/packages/flint/rules/naming/must-use-singlewithwarning-instead-of-indexing-first-element.js +0 -8
- /package/packages/flint/infra/{ast-helpers → analysis}/array-analysis.d.ts +0 -0
- /package/packages/flint/infra/{ast-helpers → analysis}/casing-analysis.d.ts +0 -0
- /package/packages/flint/infra/{ast-helpers → analysis}/enum-analysis.d.ts +0 -0
- /package/packages/flint/infra/{ast-helpers → analysis}/eslint-analysis.d.ts +0 -0
- /package/packages/flint/infra/{ast-helpers → analysis}/formatting-analysis.d.ts +0 -0
- /package/packages/flint/infra/{ast-helpers → analysis}/jsx-analysis.d.ts +0 -0
- /package/packages/flint/infra/{ast-helpers → analysis}/module-analysis.d.ts +0 -0
- /package/packages/flint/infra/{ast-helpers → analysis}/nullish-analysis.d.ts +0 -0
- /package/packages/flint/infra/{ast-helpers → analysis}/number-analysis.d.ts +0 -0
- /package/packages/flint/infra/{ast-helpers → analysis}/string-analysis.d.ts +0 -0
- /package/packages/flint/infra/{ast-helpers → analysis}/tree-analysis.d.ts +0 -0
- /package/packages/flint/infra/{utils/create-eslint-rule.d.ts → create-eslint-rule.d.ts} +0 -0
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
import { defineConfig } from 'eslint/config';
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
3
|
+
import _0x5dba49 from 'eslint-plugin-react-compiler';
|
|
4
|
+
import _0x290bf6 from 'eslint-plugin-react-hooks';
|
|
5
|
+
import _0x47dc8f from 'eslint-plugin-react';
|
|
6
|
+
import _0xc5f052 from 'eslint-plugin-react-refresh';
|
|
7
|
+
import _0x480ca3 from 'eslint-plugin-sonarjs';
|
|
8
|
+
import _0x54e518 from 'node:path';
|
|
9
9
|
import { fileURLToPath } from 'node:url';
|
|
10
|
-
import
|
|
10
|
+
import _0x862f41 from '@eslint/js';
|
|
11
11
|
import { FlatCompat } from '@eslint/eslintrc';
|
|
12
|
-
import
|
|
12
|
+
import _0x1c3e5a from 'eslint-plugin-github';
|
|
13
13
|
import index_default from './dist/rules/index.js';
|
|
14
14
|
import 'eslint-plugin-playwright';
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import
|
|
18
|
-
import
|
|
15
|
+
import _0x466061 from '@stylistic/eslint-plugin';
|
|
16
|
+
import _0x1158fc from 'eslint-plugin-import';
|
|
17
|
+
import _0x158319 from '@next/eslint-plugin-next';
|
|
18
|
+
import _0x2170e4 from 'eslint-plugin-jsonc';
|
|
19
19
|
import config from './eslint-next-web-vitals-temp.config.js';
|
|
20
20
|
import '@typescript-eslint/eslint-plugin';
|
|
21
21
|
import { files, packagesPath, folders, nonRootProjectPaths } from '../base-repo/app-constants/project-paths.js';
|
|
22
22
|
import { aliases } from '../base-repo/app-constants/alias-symbols.js';
|
|
23
23
|
import { noRestrictedImportsMessages, noRestrictedPathsMessages } from './constants/messages.js';
|
|
24
24
|
|
|
25
|
-
const filename=fileURLToPath(import.meta.url),dirname=_0x30d629['dirname'](filename),compat=new FlatCompat({'baseDirectory':dirname,'recommendedConfig':_0x3bbe42['configs']['recommended'],'allConfig':_0x3bbe42['configs']['all']}),forbiddenReactApiMessage='Forbidden\x20React\x20API\x20usage:\x20useCallback,\x20useMemo\x20and\x20forwardRef\x20are\x20not\x20allowed.';const relativeImportRestrictions=[{'group':['./*','../*'],'message':noRestrictedImportsMessages['relativeImports']},{'group':[aliases['packages']],'message':noRestrictedImportsMessages['packagesImports']}];const testRestriction=[{'group':[aliases['test']],'message':noRestrictedImportsMessages['testImports']}];const nextRestriction=[{'group':['next/**'],'message':noRestrictedImportsMessages['nextImports']}];const reactRestriction=[{'group':['react'],'message':noRestrictedImportsMessages['reactImports']}];const tsMorphRestriction=[{'group':['ts-morph/**'],'message':noRestrictedImportsMessages['tsMorphImports']}];const packageRestriction=[{'group':['@fernir2/saas-kit','@fernir2/saas-kit/**'],'message':noRestrictedImportsMessages['packageImport']}];const baseConfig=defineConfig([{'ignores':['**/*.ico','**/*.mjs','**/*.d.ts','**/*.css','**/*.svg',folders['dist']+'/',folders['nodeModules']+'/',folders['next']+'/',folders['nodeCache']+'/',folders['nx']+'/',folders['lib']+'/',folders['vscode']+'/',folders['playwrightReport']+'/',folders['testResults']+'/',folders['generated']+'/',folders['build']+'/']},{'files':['**/*.ts','**/*.tsx'],'languageOptions':{'sourceType':'script','parserOptions':{'project':files['tsconfigLint'],'createDefaultProgram':!![],'ecmaFeatures':{'jsx':!![]}}}},...compat['extends']('eslint:recommended','plugin:@typescript-eslint/recommended','plugin:react/recommended','plugin:react/jsx-runtime','prettier','plugin:sonarjs/recommended-legacy')['map'](_0x20abfe=>({..._0x20abfe,'files':['**/*.ts','**/*.tsx']})),...config,_0x5a6b7c['configs']['disable-legacy'],{'files':['**/*.{js,jsx,ts,tsx}'],'plugins':{'import':_0x24739b},'settings':{'import/parsers':{'@typescript-eslint/parser':['.ts','.mts','.cts','.tsx','.d.ts']},'import/resolver':{'node':{'extensions':['.js','.jsx','.ts','.tsx']},'typescript':{'alwaysTryTypes':!![]}}},'rules':{'import/no-anonymous-default-export':'warn','import/no-default-export':'off','import/no-deprecated':'error','import/no-mutable-exports':'error','import/no-cycle':'off','import/no-absolute-path':'error','import/no-self-import':'error','import/no-duplicates':'error','import/no-extraneous-dependencies':['off',{'devDependencies':![]}],'import/no-restricted-paths':['error',{'zones':[{'target':['./'+folders['src']+'/*','./'+folders['src']+'/!(fd-pages|app)/**/*'],'from':packagesPath['packagesServer'],'message':noRestrictedPathsMessages['src']}]}]}},{'files':['**/*.ts','**/*.tsx'],'plugins':{'react-compiler':_0x4b90b2,'react-hooks':_0x32b554,'react':_0x3b93db,'react-refresh':_0x608855,'custom-eslint-rules':index_default,'sonarjs':_0x5abcff,'github':_0x520cf5,'@stylistic':_0x5a6b7c},'rules':{'custom-eslint-rules/enum-type-immediate-definition':'error','custom-eslint-rules/must-add-empty-line-before-assert-act-arrange':'error','custom-eslint-rules/must-use-camelcase-for-html-items-id-attribute':'error','custom-eslint-rules/must-not-use-see-link-in-docs-if-type-available':'error','sonarjs/no-empty-collection':'error','sonarjs/no-unused-collection':'error','sonarjs/no-commented-code':'error','github/authenticity-token':'error','accessor-pairs':'error','no-constant-condition':'error','no-unreachable':'error','prefer-object-has-own':'error','prefer-const':'off','prefer-regex-literals':'error','prefer-object-spread':'error','prefer-template':'off','no-throw-literal':'error','no-control-regex':'error','no-debugger':'error','no-octal-escape':'error','no-duplicate-case':'error','no-empty':'error','no-eval':'error','@stylistic/no-extra-semi':'error','no-invalid-regexp':'error','no-irregular-whitespace':'error','@stylistic/no-multiple-empty-lines':'error','no-return-await':'error','no-sequences':'error','prefer-spread':'error','no-sparse-arrays':'error','no-template-curly-in-string':'error','no-undef-init':'error','no-param-reassign':'error','no-useless-rename':'error','no-useless-constructor':'error','no-alert':'error','no-multi-str':'error','no-proto':'error','no-caller':'error','no-lone-blocks':'error','new-cap':'error','no-var':'error','no-lonely-if':'error','no-unmodified-loop-condition':'error','no-constructor-return':'error','no-useless-call':'error','no-self-compare':'error','react/jsx-no-comment-textnodes':'error','react/no-unused-prop-types':'error','react/hook-use-state':['error',{'allowDestructuredState':!![]}],'react/no-this-in-sfc':'error','react/no-access-state-in-setstate':'error','react/no-unused-class-component-methods':'error','react/no-unstable-nested-components':'error','react/jsx-no-constructed-context-values':'off','no-new-func':'error','no-unneeded-ternary':'error','@stylistic/comma-dangle':['error','only-multiline'],'consistent-return':'error','github/prefer-observers':'error','github/no-dynamic-script-tag':'error','github/async-preventdefault':'error','complexity':['error',{'max':0xf}],'eqeqeq':['error','always'],'@stylistic/semi':['error','always'],'@stylistic/space-in-parens':['error','never'],'default-case':'error','max-classes-per-file':['error',0x1a54*-0x1+0x1042*0x2+0x71*-0xe],'@stylistic/max-len':['error',{'code':0x78,'ignorePattern':'^import\x5cs.+\x5csfrom\x5cs.+;$'}],'@typescript-eslint/default-param-last':'error','@typescript-eslint/prefer-optional-chain':'error','@typescript-eslint/no-unsafe-return':'error','@typescript-eslint/no-unsafe-assignment':'off','@typescript-eslint/consistent-type-assertions':['error',{'assertionStyle':'never'}],'@typescript-eslint/no-unused-vars':['error',{'varsIgnorePattern':'^React$','args':'all','argsIgnorePattern':'^_$'}],'@typescript-eslint/array-type':['error',{'default':'array'}],'@typescript-eslint/await-thenable':'error','@typescript-eslint/no-empty-object-type':'off','@typescript-eslint/no-restricted-types':['error',{'types':{'Object':'Use\x20{}\x20instead.','Function':'Avoid\x20using\x20the\x20`Function`\x20type.\x20Use\x20a\x20specific\x20function\x20type,\x20like\x20`()\x20=>\x20void`.','Boolean':'Use\x20`boolean`\x20instead.','Number':'Use\x20`number`\x20instead.','String':'Use\x20`string`\x20instead.','Symbol':'Use\x20`symbol`\x20instead.'}}],'@typescript-eslint/consistent-type-definitions':'error','@typescript-eslint/explicit-member-accessibility':['error',{'accessibility':'no-public'}],'@typescript-eslint/member-ordering':['error',{'default':{'memberTypes':['public-field','protected-field','private-field','constructor','public-method']}}],'@typescript-eslint/no-empty-interface':'off','@typescript-eslint/no-explicit-any':'error','@typescript-eslint/no-for-in-array':'error','@typescript-eslint/no-inferrable-types':'error','@typescript-eslint/no-require-imports':'error','@typescript-eslint/no-this-alias':'error','@typescript-eslint/adjacent-overload-signatures':'error','@typescript-eslint/prefer-function-type':'error','@stylistic/padding-line-between-statements':['error',{'blankLine':'always','prev':'*','next':'function'},{'blankLine':'always','prev':'function','next':'*'},{'blankLine':'always','prev':'*','next':'if'},{'blankLine':'always','prev':'if','next':'*'},{'blankLine':'always','prev':'*','next':'switch'},{'blankLine':'always','prev':'switch','next':'*'},{'blankLine':'always','prev':'*','next':'for'},{'blankLine':'always','prev':'*','next':'try'},{'blankLine':'always','prev':'try','next':'*'}],'@typescript-eslint/no-unused-expressions':['error',{'allowShortCircuit':!![]}],'@typescript-eslint/no-var-requires':'error','@stylistic/quotes':['error','double',{'avoidEscape':!![]}],'@typescript-eslint/unbound-method':'error','@typescript-eslint/no-shadow':'error','@typescript-eslint/no-confusing-non-null-assertion':'error','@typescript-eslint/prefer-for-of':'error','@typescript-eslint/prefer-return-this-type':'error','@typescript-eslint/no-unnecessary-type-arguments':'error','@typescript-eslint/no-empty-function':'error','@typescript-eslint/prefer-string-starts-ends-with':'error','@typescript-eslint/prefer-nullish-coalescing':'error','react/jsx-no-useless-fragment':'error','@stylistic/jsx-pascal-case':'error','react-hooks/rules-of-hooks':'error','react-hooks/exhaustive-deps':'warn','react-compiler/react-compiler':'error','sonarjs/anchor-precedence':'error','sonarjs/no-unused-vars':'off','sonarjs/prefer-read-only-props':'off','sonarjs/no-small-switch':'off','sonarjs/no-nested-conditional':'off','sonarjs/different-types-comparison':'error','sonarjs/cognitive-complexity':'error','sonarjs/no-undefined-argument':'off','sonarjs/no-selector-parameter':'off','sonarjs/no-all-duplicated-branches':'error','sonarjs/no-identical-expressions':'off','sonarjs/arguments-order':'error','sonarjs/prefer-single-boolean-return':'error','sonarjs/array-callback-without-return':'error','sonarjs/no-ignored-return':'error','sonarjs/no-ignored-exceptions':'error','sonarjs/argument-type':'error','sonarjs/no-misleading-array-reverse':'error','sonarjs/redundant-type-aliases':'error','sonarjs/empty-string-repetition':'error','sonarjs/no-duplicated-branches':'error','sonarjs/deprecation':'error','sonarjs/no-hardcoded-passwords':'off','sonarjs/slow-regex':'off','sonarjs/no-globals-shadowing':'error','sonarjs/no-useless-intersection':'error','sonarjs/no-empty-test-file':'off','sonarjs/prefer-regexp-exec':'error','sonarjs/no-nested-assignment':'error','sonarjs/pseudo-random':'error','sonarjs/no-os-command-from-path':'error','sonarjs/no-identical-functions':'error','sonarjs/no-gratuitous-expressions':'error','sonarjs/no-dead-store':'error','sonarjs/os-command':'off','sonarjs/no-alphabetical-sort':'error','custom-eslint-rules/no-tailwind-colors':'error','custom-eslint-rules/no-string-length-check':'error','custom-eslint-rules/max-lines-per-function':['error',{'maxLines':0x3c}],'custom-eslint-rules/no-use-type-undefined-for-optional':'error','custom-eslint-rules/must-create-resources-in-src-dir':'error','custom-eslint-rules/no-todo':'error','custom-eslint-rules/use-nullish-coalescing-for-default':'error','custom-eslint-rules/no-then':'error','custom-eslint-rules/must-consolidate-conditional-expressions':'error','custom-eslint-rules/for-each-max-lines':'error','custom-eslint-rules/must-put-empty-line':'error','custom-eslint-rules/no-integers-instead-of-enums':'error','custom-eslint-rules/use-function-without-parameter-shortcut':'error','custom-eslint-rules/no-constructor-name-for-resource':'error','custom-eslint-rules/no-to-lower-case-with-resource-name':'error','custom-eslint-rules/must-limit-lines-without-comments':'error','custom-eslint-rules/must-use-native-private':'error','custom-eslint-rules/no-nullable-check':'error','no-continue':'error','custom-eslint-rules/no-use-enum':'error','custom-eslint-rules/must-add-prefix-to-po-functions':'error','custom-eslint-rules/group-consts-as-const':'error','custom-eslint-rules/must-use-the-fd-prefix-for-env-variables':'error','no-restricted-imports':['error',{'patterns':[...relativeImportRestrictions,...nextRestriction,...packageRestriction,...testRestriction]}],'custom-eslint-rules/no-redundant-type-alias':'error','custom-eslint-rules/must-not-use-ternary-operator-for-complicated-conditions':'error','custom-eslint-rules/must-not-use-location-href':'error','custom-eslint-rules/no-array-destructuring-from-function-calls':'error','custom-eslint-rules/use-of-only-english-in-repository':'error','custom-eslint-rules/must-avoid-code-duplication-in-functions':'error','custom-eslint-rules/must-not-use-inline-await':'error','custom-eslint-rules/must-use-func-declaration-for-named-func':'error','custom-eslint-rules/must-add-space-for-comments':'error','custom-eslint-rules/must-throw-full-error-objects':'error','custom-eslint-rules/no-empty-files':'error','custom-eslint-rules/no-fd-prefix-in-folders':'error','custom-eslint-rules/exported-func-above-regular':'error','custom-eslint-rules/no-use-id':'error','custom-eslint-rules/must-not-use-redundant-string':'error','custom-eslint-rules/no-get-in-function-names-without-return':'error','custom-eslint-rules/must-use-create-error':'error','custom-eslint-rules/must-not-use-emojis':'error','custom-eslint-rules/must-use-pascal-case-for-types-and-interfaces':'error','custom-eslint-rules/must-not-use-anonymous-objects-only-with-explicit-typization':'error','custom-eslint-rules/no-specify-return-type':'error','custom-eslint-rules/must-not-use-negation-with-enums':'error','custom-eslint-rules/must-start-comments-with-uppercase':'error','custom-eslint-rules/must-not-add-files-and-code-in-lib-folder':'error','custom-eslint-rules/must-not-use-null':'error','custom-eslint-rules/must-use-new-url-constructor':'error','custom-eslint-rules/no-untyped-objects-between-components':'error','custom-eslint-rules/must-not-import-react':'error','custom-eslint-rules/no-centralized-error-messages':'error','custom-eslint-rules/must-use-interfaces-for-complex-types':['error',{'maxComplexity':0x4}],'custom-eslint-rules/must-not-needlessly-copy-arrays':'off','custom-eslint-rules/must-not-use-empty-lines-in-html':'error','custom-eslint-rules/must-use-color-variables-instead-of-hardcoded-values':'error','custom-eslint-rules/no-naked-query-return':'error','custom-eslint-rules/must-not-modify-data-or-workspace-in-readonly-tests':'error'}},{'files':['**/'+nonRootProjectPaths['serverFramework']+'/*','**/'+nonRootProjectPaths['clientFramework']+'/*'],'rules':{'no-restricted-imports':['error',{'patterns':[...relativeImportRestrictions,...packageRestriction,...testRestriction]}]}},{'files':[folders['src']+'**/*'],'rules':{'no-restricted-imports':['error',{'patterns':[...relativeImportRestrictions,...tsMorphRestriction,...nextRestriction,...packageRestriction,...testRestriction]}]}},{'files':['**/*.{ts}'],'ignores':['**/use*','**/*context*','**/*provider*','**/*hooks*'],'rules':{'no-restricted-imports':['error',{'patterns':[...relativeImportRestrictions,...reactRestriction,...nextRestriction,...packageRestriction,...testRestriction]}],'no-restricted-syntax':['error',{'selector':'Identifier[name=\x27React\x27],\x20TSQualifiedName[left.name=\x27React\x27]','message':'Using\x20React\x20is\x20allowed\x20only\x20in\x20.tsx\x20files'}]}},{'files':['**/*.{js,jsx,ts,tsx}'],'plugins':{'github':_0x520cf5,'@next/next':_0x115d8d,'custom-eslint-rules':index_default},'rules':{'@next/next/no-sync-scripts':'error','github/no-blur':'error','github/async-currenttarget':'error','github/no-useless-passive':'error','github/require-passive-events':'error','github/no-inner-html':'error','github/no-innerText':'error','github/unescaped-html-literal':'error','no-warning-comments':['error',{'terms':['todo\x20fd','fd\x20todo','todo'],'location':'anywhere'}],'custom-eslint-rules/no-eslint-disable-without-approved':'error','custom-eslint-rules/must-use-plural-in-function-names-if-returns-array':'error','custom-eslint-rules/must-use-s-ending-for-natural-plurals':'error','custom-eslint-rules/must-create-assert-functions-in-asserts-files':'error','custom-eslint-rules/no-import-from-temp-dev':'error','custom-eslint-rules/no-use-conditional-logic-in-test-assertions':'error','custom-eslint-rules/must-use-alt-to-describe-images':'error'}},{'files':['**/*.{js,jsx}'],'plugins':{'custom-eslint-rules':index_default},'rules':{'custom-eslint-rules/must-use-typescript':'error'}},{'files':['**/*.{js,ts}'],'ignores':['**/*.tsx','**/*.funcs.ts','**/*.funcs.tsx'],'plugins':{'github':_0x520cf5,'custom-eslint-rules':index_default},'rules':{'custom-eslint-rules/no-long-filter-map':'error','custom-eslint-rules/filename-kebab-case':'error','github/filenames-match-regex':['error','^[a-z]+(?:[-\x5c.][a-z]+)*(?:2)?(?:\x5c.[a-z]+)*$']}},{'files':['**/*.{js,jsx,ts,tsx}'],'ignores':['fd/fd-toolbox/time/datetimes.ts'],'plugins':{'custom-eslint-rules':index_default},'rules':{'custom-eslint-rules/no-new-date':'error'}},{'files':['**/*.tsx'],'plugins':{'custom-eslint-rules':index_default},'rules':{'complexity':'off','custom-eslint-rules/max-lines-per-function':['error',{'maxLines':0x12c}],'@stylistic/max-len':['error',{'code':0x1f4}],'sonarjs/function-return-type':'off','custom-eslint-rules/no-conflicting-props':'error','custom-eslint-rules/must-use-function-for-component':'error','custom-eslint-rules/must-use-interface-for-props':'error','custom-eslint-rules/must-clean-up-event-listeners':'error','@next/next/no-html-link-for-pages':'error','custom-eslint-rules/use-on-prefix':'error','custom-eslint-rules/no-px-in-tailwind':'error','custom-eslint-rules/no-default-props':'error','custom-eslint-rules/component-function-max-lines':'error','custom-eslint-rules/must-not-use-important':'error','custom-eslint-rules/no-untyped-objects-between-components':'error'}},{'files':['**/*-props.ts'],'plugins':{'custom-eslint-rules':index_default},'rules':{'custom-eslint-rules/must-use-nameof-for-props':'error'}},{'files':['**/*.spec.ts'],'plugins':{'custom-eslint-rules':index_default},'rules':{'custom-eslint-rules/must-use-test-comments':'error','custom-eslint-rules/must-use-example-domain':'error','custom-eslint-rules/no-delays-in-ui-tests':'error','custom-eslint-rules/must-get-elements-in-tests-only-by-id':'error','custom-eslint-rules/must-not-use-po-in-assert-functions':'error','custom-eslint-rules/must-use-filename-in-assert-functions':'error','custom-eslint-rules/max-lines-per-function':'off','custom-eslint-rules/must-name-ui-tests-component-condition-expected-result':'error','custom-eslint-rules/must-separate-unrelated-tests-into-different-files':'error'}},{'files':['**/package.json'],'languageOptions':{'parser':_0x36a310},'plugins':{'custom-eslint-rules':index_default},'rules':{'custom-eslint-rules/must-use-strict-dependency-version':'error'}},{'files':['**/*.jsx','**/*.tsx'],'rules':{'no-restricted-imports':['error',{'patterns':[...relativeImportRestrictions,...nextRestriction,...packageRestriction,...testRestriction],'paths':[{'name':'react','importNames':['useCallback','useMemo','forwardRef'],'message':forbiddenReactApiMessage}]}],'no-restricted-syntax':['error',{'selector':'CallExpression[callee.name=\x22useCallback\x22]','message':forbiddenReactApiMessage},{'selector':'CallExpression[callee.name=\x22useMemo\x22]','message':forbiddenReactApiMessage},{'selector':'CallExpression[callee.name=\x22forwardRef\x22]','message':forbiddenReactApiMessage}]}}]);
|
|
25
|
+
const filename=fileURLToPath(import.meta.url),dirname=_0x54e518['dirname'](filename),compat=new FlatCompat({'baseDirectory':dirname,'recommendedConfig':_0x862f41['configs']['recommended'],'allConfig':_0x862f41['configs']['all']}),forbiddenReactApiMessage='Forbidden\x20React\x20API\x20usage:\x20useCallback,\x20useMemo\x20and\x20forwardRef\x20are\x20not\x20allowed.';const relativeImportRestrictions=[{'group':['./*','../*'],'message':noRestrictedImportsMessages['relativeImports']},{'group':[aliases['packages']],'message':noRestrictedImportsMessages['packagesImports']}];const testRestriction=[{'group':[aliases['test']],'message':noRestrictedImportsMessages['testImports']}];const nextRestriction=[{'group':['next/**'],'message':noRestrictedImportsMessages['nextImports']}];const reactRestriction=[{'group':['react'],'message':noRestrictedImportsMessages['reactImports']}];const tsMorphRestriction=[{'group':['ts-morph/**'],'message':noRestrictedImportsMessages['tsMorphImports']}];const packageRestriction=[{'group':['@fernir2/saas-kit','@fernir2/saas-kit/**'],'message':noRestrictedImportsMessages['packageImport']}];const baseConfig=defineConfig([{'ignores':['**/*.ico','**/*.mjs','**/*.d.ts','**/*.css','**/*.svg',folders['dist']+'/',folders['nodeModules']+'/',folders['dotNext']+'/',folders['nodeCache']+'/',folders['nx']+'/',folders['lib']+'/',folders['vscode']+'/',folders['playwrightReport']+'/',folders['testResults']+'/',folders['generated']+'/',folders['build']+'/']},{'files':['**/*.ts','**/*.tsx'],'languageOptions':{'sourceType':'script','parserOptions':{'project':files['tsconfigLint'],'createDefaultProgram':!![],'ecmaFeatures':{'jsx':!![]}}}},...compat['extends']('eslint:recommended','plugin:@typescript-eslint/recommended','plugin:react/recommended','plugin:react/jsx-runtime','prettier','plugin:sonarjs/recommended-legacy')['map'](_0x33410d=>({..._0x33410d,'files':['**/*.ts','**/*.tsx']})),...config,_0x466061['configs']['disable-legacy'],{'files':['**/*.{js,jsx,ts,tsx}'],'plugins':{'import':_0x1158fc},'settings':{'import/parsers':{'@typescript-eslint/parser':['.ts','.mts','.cts','.tsx','.d.ts']},'import/resolver':{'node':{'extensions':['.js','.jsx','.ts','.tsx']},'typescript':{'alwaysTryTypes':!![]}}},'rules':{'import/no-anonymous-default-export':'warn','import/no-default-export':'off','import/no-deprecated':'error','import/no-mutable-exports':'error','import/no-cycle':'off','import/no-absolute-path':'error','import/no-self-import':'error','import/no-duplicates':'error','import/no-extraneous-dependencies':['off',{'devDependencies':![]}],'import/no-restricted-paths':['error',{'zones':[{'target':['./'+folders['src']+'/*','./'+folders['src']+'/!(fd-pages|app)/**/*'],'from':packagesPath['packagesServer'],'message':noRestrictedPathsMessages['src']}]}]}},{'files':['**/*.ts','**/*.tsx'],'plugins':{'react-compiler':_0x5dba49,'react-hooks':_0x290bf6,'react':_0x47dc8f,'react-refresh':_0xc5f052,'custom-eslint-rules':index_default,'sonarjs':_0x480ca3,'github':_0x1c3e5a,'@stylistic':_0x466061},'rules':{'custom-eslint-rules/enum-type-immediate-definition':'error','custom-eslint-rules/must-do-await-data-in-one-line':'error','no-console':'error','custom-eslint-rules/must-add-empty-line-before-assert-act-arrange':'error','custom-eslint-rules/must-use-camelcase-for-html-items-id-attribute':'error','custom-eslint-rules/must-not-use-see-link-in-docs-if-type-available':'error','sonarjs/no-empty-collection':'error','sonarjs/no-unused-collection':'error','sonarjs/no-commented-code':'error','github/authenticity-token':'error','accessor-pairs':'error','no-constant-condition':'error','no-unreachable':'error','prefer-object-has-own':'error','prefer-const':'off','prefer-regex-literals':'error','prefer-object-spread':'error','prefer-template':'off','no-throw-literal':'error','no-control-regex':'error','no-debugger':'error','no-octal-escape':'error','no-duplicate-case':'error','no-empty':'error','no-eval':'error','@stylistic/no-extra-semi':'error','no-invalid-regexp':'error','no-irregular-whitespace':'error','@stylistic/no-multiple-empty-lines':'error','no-return-await':'error','no-sequences':'error','prefer-spread':'error','no-sparse-arrays':'error','no-template-curly-in-string':'error','no-undef-init':'error','no-param-reassign':'error','no-useless-rename':'error','no-useless-constructor':'error','no-alert':'error','no-multi-str':'error','no-proto':'error','no-caller':'error','no-lone-blocks':'error','new-cap':'error','no-var':'error','no-lonely-if':'error','no-unmodified-loop-condition':'error','no-constructor-return':'error','no-useless-call':'error','no-self-compare':'error','react/jsx-no-comment-textnodes':'error','react/no-unused-prop-types':'error','react/hook-use-state':['error',{'allowDestructuredState':!![]}],'react/no-this-in-sfc':'error','react/no-access-state-in-setstate':'error','react/no-unused-class-component-methods':'error','react/no-unstable-nested-components':'error','react/jsx-no-constructed-context-values':'off','no-new-func':'error','no-unneeded-ternary':'error','@stylistic/comma-dangle':['error','only-multiline'],'consistent-return':'error','github/prefer-observers':'error','github/no-dynamic-script-tag':'error','github/async-preventdefault':'error','complexity':['error',{'max':0xf}],'eqeqeq':['error','always'],'@stylistic/semi':['error','always'],'@stylistic/space-in-parens':['error','never'],'default-case':'error','max-classes-per-file':['error',-0xa1*-0x1f+-0xbbd*-0x3+-0x36b4],'@stylistic/max-len':['error',{'code':0x78,'ignorePattern':'^import\x5cs.+\x5csfrom\x5cs.+;$'}],'@typescript-eslint/default-param-last':'error','@typescript-eslint/prefer-optional-chain':'error','@typescript-eslint/no-unsafe-return':'error','@typescript-eslint/no-unsafe-assignment':'off','@typescript-eslint/consistent-type-assertions':['error',{'assertionStyle':'never'}],'@typescript-eslint/no-unused-vars':['error',{'varsIgnorePattern':'^React$','args':'all','argsIgnorePattern':'^_$'}],'@typescript-eslint/array-type':['error',{'default':'array'}],'@typescript-eslint/await-thenable':'error','@typescript-eslint/no-empty-object-type':'off','@typescript-eslint/no-restricted-types':['error',{'types':{'Object':'Use\x20{}\x20instead.','Function':'Avoid\x20using\x20the\x20`Function`\x20type.\x20Use\x20a\x20specific\x20function\x20type,\x20like\x20`()\x20=>\x20void`.','Boolean':'Use\x20`boolean`\x20instead.','Number':'Use\x20`number`\x20instead.','String':'Use\x20`string`\x20instead.','Symbol':'Use\x20`symbol`\x20instead.'}}],'@typescript-eslint/consistent-type-definitions':'error','@typescript-eslint/explicit-member-accessibility':['error',{'accessibility':'no-public'}],'@typescript-eslint/member-ordering':['error',{'default':{'memberTypes':['public-field','protected-field','private-field','constructor','public-method']}}],'@typescript-eslint/no-empty-interface':'off','@typescript-eslint/no-explicit-any':'error','@typescript-eslint/no-for-in-array':'error','@typescript-eslint/no-inferrable-types':'error','@typescript-eslint/no-require-imports':'error','@typescript-eslint/no-this-alias':'error','@typescript-eslint/adjacent-overload-signatures':'error','@typescript-eslint/prefer-function-type':'error','@stylistic/padding-line-between-statements':['error',{'blankLine':'always','prev':'*','next':'function'},{'blankLine':'always','prev':'function','next':'*'},{'blankLine':'always','prev':'*','next':'if'},{'blankLine':'always','prev':'if','next':'*'},{'blankLine':'always','prev':'*','next':'switch'},{'blankLine':'always','prev':'switch','next':'*'},{'blankLine':'always','prev':'*','next':'for'},{'blankLine':'always','prev':'*','next':'try'},{'blankLine':'always','prev':'try','next':'*'}],'@typescript-eslint/no-unused-expressions':['error',{'allowShortCircuit':!![]}],'@typescript-eslint/no-var-requires':'error','@stylistic/quotes':['error','double',{'avoidEscape':!![]}],'@typescript-eslint/unbound-method':'error','@typescript-eslint/no-shadow':'error','@typescript-eslint/no-confusing-non-null-assertion':'error','@typescript-eslint/prefer-for-of':'error','@typescript-eslint/prefer-return-this-type':'error','@typescript-eslint/no-unnecessary-type-arguments':'error','@typescript-eslint/no-empty-function':'error','@typescript-eslint/prefer-string-starts-ends-with':'error','@typescript-eslint/prefer-nullish-coalescing':'error','react/jsx-no-useless-fragment':'error','@stylistic/jsx-pascal-case':'error','react-hooks/rules-of-hooks':'error','react-hooks/exhaustive-deps':'warn','react-compiler/react-compiler':'error','sonarjs/anchor-precedence':'error','sonarjs/no-unused-vars':'off','sonarjs/prefer-read-only-props':'off','sonarjs/no-small-switch':'off','sonarjs/no-nested-conditional':'off','sonarjs/different-types-comparison':'error','sonarjs/cognitive-complexity':'error','sonarjs/no-undefined-argument':'off','sonarjs/no-selector-parameter':'off','sonarjs/no-all-duplicated-branches':'error','sonarjs/no-identical-expressions':'off','sonarjs/arguments-order':'error','sonarjs/prefer-single-boolean-return':'error','sonarjs/array-callback-without-return':'error','sonarjs/no-ignored-return':'error','sonarjs/no-ignored-exceptions':'error','sonarjs/argument-type':'error','sonarjs/no-misleading-array-reverse':'error','sonarjs/redundant-type-aliases':'error','sonarjs/empty-string-repetition':'error','sonarjs/no-duplicated-branches':'error','sonarjs/deprecation':'error','sonarjs/no-hardcoded-passwords':'off','sonarjs/slow-regex':'off','sonarjs/no-globals-shadowing':'error','sonarjs/no-useless-intersection':'error','sonarjs/no-empty-test-file':'off','sonarjs/prefer-regexp-exec':'error','sonarjs/no-nested-assignment':'error','sonarjs/pseudo-random':'error','sonarjs/no-os-command-from-path':'error','sonarjs/no-identical-functions':'error','sonarjs/no-gratuitous-expressions':'error','sonarjs/no-dead-store':'error','sonarjs/os-command':'off','sonarjs/no-alphabetical-sort':'error','custom-eslint-rules/no-tailwind-colors':'error','custom-eslint-rules/no-string-length-check':'error','custom-eslint-rules/max-lines-per-function':['error',{'maxLines':0x3c}],'custom-eslint-rules/no-use-type-undefined-for-optional':'error','custom-eslint-rules/must-create-resources-in-src-dir':'error','custom-eslint-rules/no-todo':'error','custom-eslint-rules/use-nullish-coalescing-for-default':'error','custom-eslint-rules/no-then':'error','custom-eslint-rules/must-consolidate-conditional-expressions':'error','custom-eslint-rules/for-each-max-lines':'error','custom-eslint-rules/must-put-empty-line':'error','custom-eslint-rules/no-integers-instead-of-enums':'error','custom-eslint-rules/use-function-without-parameter-shortcut':'error','custom-eslint-rules/no-constructor-name-for-resource':'error','custom-eslint-rules/no-to-lower-case-with-resource-name':'error','custom-eslint-rules/must-limit-lines-without-comments':'error','custom-eslint-rules/must-use-native-private':'error','custom-eslint-rules/no-nullable-check':'error','no-continue':'error','custom-eslint-rules/no-use-enum':'error','custom-eslint-rules/must-add-prefix-to-po-functions':'error','custom-eslint-rules/must-use-resource-name-instead-of-resource':'error','custom-eslint-rules/group-consts-as-const':'error','custom-eslint-rules/must-use-the-fd-prefix-for-env-variables':'error','no-restricted-imports':['error',{'patterns':[...relativeImportRestrictions,...nextRestriction,...packageRestriction,...testRestriction]}],'custom-eslint-rules/no-redundant-type-alias':'error','custom-eslint-rules/must-not-use-ternary-operator-for-complicated-conditions':'error','custom-eslint-rules/must-not-use-location-href':'error','custom-eslint-rules/no-array-destructuring-from-function-calls':'error','custom-eslint-rules/use-of-only-english-in-repository':'error','custom-eslint-rules/must-avoid-code-duplication-in-functions':'error','custom-eslint-rules/must-not-use-inline-await':'error','custom-eslint-rules/must-use-func-declaration-for-named-func':'error','custom-eslint-rules/must-add-space-for-comments':'error','custom-eslint-rules/no-useless-destructing':'error','custom-eslint-rules/must-throw-full-error-objects':'error','custom-eslint-rules/no-empty-files':'error','custom-eslint-rules/no-fd-prefix-in-folders':'error','custom-eslint-rules/no-use-id':'error','custom-eslint-rules/must-not-use-redundant-string':'error','custom-eslint-rules/no-get-in-function-names-without-return':'error','custom-eslint-rules/must-use-create-error':'error','custom-eslint-rules/must-not-use-emojis':'error','custom-eslint-rules/must-use-pascal-case-for-types-and-interfaces':'error','custom-eslint-rules/must-not-use-anonymous-objects-only-with-explicit-typization':'error','custom-eslint-rules/no-specify-return-type':'error','custom-eslint-rules/must-not-use-negation-with-enums':'error','custom-eslint-rules/must-start-comments-with-uppercase':'error','custom-eslint-rules/must-not-add-files-and-code-in-lib-folder':'error','custom-eslint-rules/must-not-use-null':'error','custom-eslint-rules/must-use-new-url-constructor':'error','custom-eslint-rules/no-untyped-objects-between-components':'error','custom-eslint-rules/must-not-import-react':'error','custom-eslint-rules/no-centralized-error-messages':'error','custom-eslint-rules/must-not-needlessly-copy-arrays':'off','custom-eslint-rules/must-not-use-empty-lines-in-html':'error','custom-eslint-rules/must-use-color-variables-instead-of-hardcoded-values':'error','custom-eslint-rules/no-naked-query-return':'error','custom-eslint-rules/must-return-empty-array':'error','custom-eslint-rules/must-not-modify-data-or-workspace-in-readonly-tests':'error','custom-eslint-rules/must-use-odata-builder':'error'}},{'files':['**/'+nonRootProjectPaths['serverFramework']+'/*','**/'+nonRootProjectPaths['clientFramework']+'/*'],'rules':{'no-restricted-imports':['error',{'patterns':[...relativeImportRestrictions,...packageRestriction,...testRestriction]}]}},{'files':[folders['src']+'**/*'],'rules':{'no-restricted-imports':['error',{'patterns':[...relativeImportRestrictions,...tsMorphRestriction,...nextRestriction,...packageRestriction,...testRestriction]}]}},{'files':['**/*.{ts}'],'ignores':['**/use*','**/*context*','**/*provider*','**/*hooks*'],'rules':{'no-restricted-imports':['error',{'patterns':[...relativeImportRestrictions,...reactRestriction,...nextRestriction,...packageRestriction,...testRestriction]}],'no-restricted-syntax':['error',{'selector':'Identifier[name=\x27React\x27],\x20TSQualifiedName[left.name=\x27React\x27]','message':'Using\x20React\x20is\x20allowed\x20only\x20in\x20.tsx\x20files'}]}},{'files':['**/*.{js,jsx,ts,tsx}'],'plugins':{'github':_0x1c3e5a,'@next/next':_0x158319,'custom-eslint-rules':index_default},'rules':{'@next/next/no-sync-scripts':'error','github/no-blur':'error','github/async-currenttarget':'error','github/no-useless-passive':'error','github/require-passive-events':'error','github/no-inner-html':'error','github/no-innerText':'error','github/unescaped-html-literal':'error','no-warning-comments':['error',{'terms':['todo\x20fd','fd\x20todo','todo'],'location':'anywhere'}],'custom-eslint-rules/no-eslint-disable-without-approved':'error','custom-eslint-rules/must-use-plural-in-function-names-if-returns-array':'error','custom-eslint-rules/must-use-s-ending-for-natural-plurals':'error','custom-eslint-rules/must-create-assert-functions-in-asserts-files':'error','custom-eslint-rules/no-import-from-temp-dev':'error','custom-eslint-rules/no-use-conditional-logic-in-test-assertions':'error','custom-eslint-rules/must-use-alt-to-describe-images':'error'}},{'files':['**/*.{js,jsx}'],'plugins':{'custom-eslint-rules':index_default},'rules':{'custom-eslint-rules/must-use-typescript':'error'}},{'files':['**/*.{js,ts}'],'ignores':['**/*.tsx','**/*.funcs.ts','**/*.funcs.tsx'],'plugins':{'github':_0x1c3e5a,'custom-eslint-rules':index_default},'rules':{'custom-eslint-rules/no-long-filter-map':'error','custom-eslint-rules/filename-kebab-case':'error','github/filenames-match-regex':['error','^[a-z]+(?:[-\x5c.][a-z]+)*(?:2)?(?:\x5c.[a-z]+)*$']}},{'files':['**/*.{js,jsx,ts,tsx}'],'ignores':['fd/fd-toolbox/time/datetimes.ts'],'plugins':{'custom-eslint-rules':index_default},'rules':{'custom-eslint-rules/no-new-date':'error'}},{'files':['**/*.tsx'],'plugins':{'custom-eslint-rules':index_default},'rules':{'complexity':'off','custom-eslint-rules/max-lines-per-function':['error',{'maxLines':0x12c}],'@stylistic/max-len':['error',{'code':0x1f4}],'sonarjs/function-return-type':'off','custom-eslint-rules/no-conflicting-props':'error','custom-eslint-rules/must-use-function-for-component':'error','custom-eslint-rules/must-use-interface-for-props':'error','custom-eslint-rules/must-clean-up-event-listeners':'error','react/no-array-index-key':'error','@next/next/no-html-link-for-pages':'error','custom-eslint-rules/use-on-prefix':'error','custom-eslint-rules/no-px-in-tailwind':'error','custom-eslint-rules/no-default-props':'error','custom-eslint-rules/component-function-max-lines':'error','custom-eslint-rules/must-not-use-important':'error','custom-eslint-rules/no-untyped-objects-between-components':'error'}},{'files':['**/*-props.ts'],'plugins':{'custom-eslint-rules':index_default},'rules':{'custom-eslint-rules/must-use-nameof-for-props':'error'}},{'files':['**/*.spec.ts'],'plugins':{'custom-eslint-rules':index_default},'rules':{'custom-eslint-rules/must-use-test-comments':'error','custom-eslint-rules/must-use-example-domain':'error','custom-eslint-rules/no-delays-in-ui-tests':'error','custom-eslint-rules/must-get-elements-in-tests-only-by-id':'error','custom-eslint-rules/must-not-use-po-in-assert-functions':'error','custom-eslint-rules/must-use-filename-in-assert-functions':'error','custom-eslint-rules/max-lines-per-function':'off','custom-eslint-rules/must-name-ui-tests-component-condition-expected-result':'error','custom-eslint-rules/must-separate-unrelated-tests-into-different-files':'error'}},{'files':['**/package.json'],'languageOptions':{'parser':_0x2170e4},'plugins':{'custom-eslint-rules':index_default},'rules':{'custom-eslint-rules/must-use-strict-dependency-version':'error'}},{'files':['**/*.jsx','**/*.tsx'],'rules':{'no-restricted-imports':['error',{'patterns':[...relativeImportRestrictions,...nextRestriction,...packageRestriction,...testRestriction],'paths':[{'name':'react','importNames':['useCallback','useMemo','forwardRef'],'message':forbiddenReactApiMessage}]}],'no-restricted-syntax':['error',{'selector':'CallExpression[callee.name=\x22useCallback\x22]','message':forbiddenReactApiMessage},{'selector':'CallExpression[callee.name=\x22useMemo\x22]','message':forbiddenReactApiMessage},{'selector':'CallExpression[callee.name=\x22forwardRef\x22]','message':forbiddenReactApiMessage}]}}]);
|
|
26
26
|
|
|
27
27
|
export { baseConfig as default, nextRestriction, packageRestriction, reactRestriction, relativeImportRestrictions, testRestriction, tsMorphRestriction };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
import
|
|
2
|
+
import _0x158319 from '@next/eslint-plugin-next';
|
|
3
3
|
|
|
4
|
-
const config=[{'files':['**/*.{js,jsx,ts,tsx}'],'plugins':{'next':
|
|
4
|
+
const config=[{'files':['**/*.{js,jsx,ts,tsx}'],'plugins':{'next':_0x158319},'rules':{..._0x158319['configs']['recommended']['rules'],..._0x158319['configs']['core-web-vitals']['rules'],'react/no-unknown-property':'off','react/react-in-jsx-scope':'off','react/prop-types':'off','react/jsx-no-target-blank':'off'}}];
|
|
5
5
|
|
|
6
6
|
export { config as default };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
import { nodeTypes } from '@flint/infra/analysis/function-analysis';
|
|
3
|
+
import { getNodeTsType } from '@flint/infra/analysis/type-analysis';
|
|
4
|
+
import _0x36ff07__default from 'typescript';
|
|
5
|
+
|
|
6
|
+
var __defProp=Object['defineProperty'],__name=(_0x3c105b,_0x334890)=>__defProp(_0x3c105b,'name',{'value':_0x334890,'configurable':!![]});function hasBodyArray(_0x3b7896){return _0x3b7896['type']===nodeTypes['program']||_0x3b7896['type']===nodeTypes['blockStatement']||_0x3b7896['type']===nodeTypes['TSModuleBlock'];}__name(hasBodyArray,'hasBodyArray');function isLengthUsedInTestContext(_0x358be7){const _0x581a35=_0x358be7['parent'];return _0x581a35?.['type']===nodeTypes['ifStatement']&&_0x581a35['test']===_0x358be7||_0x581a35?.['type']===nodeTypes['conditionalExpression']&&_0x581a35['test']===_0x358be7||_0x581a35?.['type']===nodeTypes['whileStatement']&&_0x581a35['test']===_0x358be7||_0x581a35?.['type']===nodeTypes['doWhileStatement']&&_0x581a35['test']===_0x358be7||_0x581a35?.['type']===nodeTypes['forStatement']&&_0x581a35['test']===_0x358be7;}__name(isLengthUsedInTestContext,'isLengthUsedInTestContext');function isLengthNegated(_0x112065){const _0x18fe00=_0x112065['parent'];return _0x18fe00?.['type']===nodeTypes['unaryExpression']&&_0x18fe00['operator']==='!'&&'argument'in _0x18fe00&&_0x18fe00['argument']===_0x112065;}__name(isLengthNegated,'isLengthNegated');function isLengthInLogicalExpression(_0x5447b4){const _0x861c93=_0x5447b4['parent'];return _0x861c93?.['type']===nodeTypes['logicalExpression']&&(_0x861c93['left']===_0x5447b4||_0x861c93['right']===_0x5447b4);}__name(isLengthInLogicalExpression,'isLengthInLogicalExpression');function normalizeNodes(_0x5331c5){return _0x5331c5['map'](_0x50d6f0=>_0x50d6f0??void(0x1c98+0x5*0x5d9+-0x39d5));}__name(normalizeNodes,'normalizeNodes');function isArrayLikeTypeNode(_0x839a35,_0x26f4d7){const _0x29ac8b=getNodeTsType(_0x839a35,_0x26f4d7);return _0x26f4d7['program']['getTypeChecker']()['isArrayLikeType'](_0x29ac8b)&&(_0x29ac8b['flags']&_0x36ff07__default['TypeFlags']['Any'])===0x25*0x7+0xf12+-0x1015;}__name(isArrayLikeTypeNode,'isArrayLikeTypeNode');
|
|
7
|
+
|
|
8
|
+
export { hasBodyArray, isArrayLikeTypeNode, isLengthInLogicalExpression, isLengthNegated, isLengthUsedInTestContext, normalizeNodes };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var __defProp=Object['defineProperty'],__name=(_0x3adbbe,_0x3a588f)=>__defProp(_0x3adbbe,'name',{'value':_0x3a588f,'configurable':!![]});function screamingSnakeToCamel(_0x23210f){return _0x23210f['toLowerCase']()['split']('_')['filter'](Boolean)['map']((_0x456fba,_0x2c675a)=>_0x2c675a===-0x3*-0x7ab+0x13cb+-0x2acc?_0x456fba:[_0x456fba['charAt'](-0x20+-0x221a+-0x2*-0x111d)['toUpperCase'](),_0x456fba['slice'](0x3a1*-0x5+-0x90e+0x1b34)]['join'](''))['join']('');}__name(screamingSnakeToCamel,'screamingSnakeToCamel');
|
|
3
|
+
|
|
4
|
+
export { screamingSnakeToCamel };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
import { TypeFlags, SymbolFlags } from 'typescript';
|
|
3
|
+
import { isExportDeclaration } from '@flint/infra/analysis/module-analysis';
|
|
4
|
+
import { isVariableDeclaration, isIdentifier } from '@flint/infra/analysis/type-guards';
|
|
5
|
+
import { isAsConstVariable } from '@flint/infra/analysis/variable-analysis';
|
|
6
|
+
import { isTypeQuery } from '@flint/infra/analysis/type-analysis';
|
|
7
|
+
import { nodeTypes } from '@flint/infra/analysis/function-analysis';
|
|
8
|
+
import { hasBodyArray } from '@flint/infra/analysis/array-analysis';
|
|
9
|
+
|
|
10
|
+
var __defProp=Object['defineProperty'],__name=(_0x54e30c,_0x79585f)=>__defProp(_0x54e30c,'name',{'value':_0x79585f,'configurable':!![]});function isPseudoEnumType(_0x23fbd0,_0x453ae8){if((_0x23fbd0['flags']&TypeFlags['Object'])===0x4*0x172+0x2*-0x4d4+-0x3e0*-0x1)return ![];const _0x308bbe=_0x23fbd0['getSymbol']();if(!_0x308bbe||(_0x308bbe['getFlags']()&SymbolFlags['ObjectLiteral'])===0x8*0x45a+-0x2c3+0x223*-0xf)return ![];const _0x25ba3a=_0x23fbd0['getProperties']();if(_0x25ba3a['length']===-0x1*-0x1186+-0x2666+0x14e0)return ![];return _0x25ba3a['every'](_0x231f26=>{const _0x2fc670=_0x231f26['valueDeclaration'];if(!_0x2fc670)return ![];const _0x281d72=_0x453ae8['getTypeOfSymbolAtLocation'](_0x231f26,_0x2fc670);return (_0x281d72['flags']&TypeFlags['NumberLiteral'])!==0xa*-0x136+0x71*0x29+-0x5fd||(_0x281d72['flags']&TypeFlags['StringLiteral'])!==0xb*-0x235+-0x18a+0x19d1;});}__name(isPseudoEnumType,'isPseudoEnumType');function getAnchorNode(_0x4466da){let _0x46fb86=_0x4466da;const _0x330650=_0x4466da['parent'];return _0x330650&&isExportDeclaration(_0x330650)&&_0x330650['declaration']===_0x4466da&&(_0x46fb86=_0x330650),_0x46fb86;}__name(getAnchorNode,'getAnchorNode');function getPrecedingVariable(_0x65073d,_0x2b3ab8){let _0x26825;const _0x29cc9a=_0x2b3ab8>0x2080+-0x2108+0x88?_0x65073d[_0x2b3ab8-(0xd73+0x28b+0xffd*-0x1)]:void(-0x1a*-0x1f+0x75f*-0x3+0x1*0x12f7);if(_0x29cc9a){const _0xe4281b=isExportDeclaration(_0x29cc9a)?_0x29cc9a['declaration']:_0x29cc9a;_0xe4281b&&isVariableDeclaration(_0xe4281b)&&(_0x26825=_0xe4281b);}return _0x26825;}__name(getPrecedingVariable,'getPrecedingVariable');function isValidConstant(_0x343250,_0x46456c){return isIdentifier(_0x343250['id'])&&_0x343250['id']['name']===_0x46456c&&!isAsConstVariable(_0x343250);}__name(isValidConstant,'isValidConstant');function getEnumConstantNameFromAnnotation(_0x43fa58){let _0xcfe1e2;if(_0x43fa58['type']===nodeTypes['TSIndexedAccessType']&&_0x43fa58['indexType']['type']===nodeTypes['TSTypeOperator']&&_0x43fa58['indexType']['operator']==='keyof'){const _0xc513b3=_0x43fa58['objectType'];if(isTypeQuery(_0xc513b3)&&isIdentifier(_0xc513b3['exprName']))_0xcfe1e2=_0xc513b3['exprName']['name'];else {if('typeAnnotation'in _0xc513b3&&!!_0xc513b3['typeAnnotation']&&isTypeQuery(_0xc513b3['typeAnnotation'])){const _0x167a22=_0xc513b3['typeAnnotation'];isIdentifier(_0x167a22['exprName'])&&(_0xcfe1e2=_0x167a22['exprName']['name']);}}}return _0xcfe1e2;}__name(getEnumConstantNameFromAnnotation,'getEnumConstantNameFromAnnotation');const enumTypeDefinitionStatuses={'notAnEnum':0x0,'valid':0x1,'invalid':0x2};function isEnumTypeDefinition(_0x530d0a){let _0x1bba57=enumTypeDefinitionStatuses['notAnEnum'];const _0x1fa60f=getAnchorNode(_0x530d0a),_0x5ae651=_0x1fa60f['parent'];if(_0x5ae651&&hasBodyArray(_0x5ae651)){const _0x41d08d=_0x5ae651['body'],_0x1f41f8=_0x41d08d['findIndex'](_0xf9cb77=>_0xf9cb77===_0x1fa60f),_0x5112b5=getEnumConstantNameFromAnnotation(_0x530d0a['typeAnnotation']);if(_0x1f41f8!==-(-0x9a5*0x3+0x1020+0xcd0)&&_0x5112b5){const _0x3c495a=getPrecedingVariable(_0x41d08d,_0x1f41f8),_0x20582d=!!_0x3c495a&&_0x3c495a['declarations']['some'](_0x1eaf76=>isValidConstant(_0x1eaf76,_0x5112b5)||isIdentifier(_0x1eaf76['id'])&&_0x1eaf76['id']['name']===_0x5112b5&&isAsConstVariable(_0x1eaf76));_0x1bba57=_0x20582d?enumTypeDefinitionStatuses['valid']:enumTypeDefinitionStatuses['invalid'];}}return _0x1bba57;}__name(isEnumTypeDefinition,'isEnumTypeDefinition');
|
|
11
|
+
|
|
12
|
+
export { enumTypeDefinitionStatuses, getAnchorNode, getEnumConstantNameFromAnnotation, getPrecedingVariable, isEnumTypeDefinition, isPseudoEnumType, isValidConstant };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
import { nodeTypes } from '@flint/infra/analysis';
|
|
3
|
+
|
|
4
|
+
var __defProp=Object['defineProperty'],__name=(_0x45e669,_0x61c021)=>__defProp(_0x45e669,'name',{'value':_0x61c021,'configurable':!![]});function findEslintDisableComment({comments:_0x3de5d6,context:_0x2abb89,disablePattern:_0x596c8f,approvedPrefix:_0x40dc1d,messageId:_0x430b60,errorMessage:_0x21d587}){for(let _0x1de55f=0x10*0xa+0x1*0x1345+-0x13e5;_0x1de55f<_0x3de5d6['length'];_0x1de55f++){const _0x29f37e=_0x3de5d6[_0x1de55f];if(_0x29f37e?.['value']['trim']()['startsWith'](_0x596c8f)&&(_0x29f37e['type']===nodeTypes['Line']||_0x29f37e['type']===nodeTypes['Block'])){const _0xe809b0=_0x3de5d6[_0x1de55f-(0x1c3*-0x3+-0x17ac+0x1cf6)],_0x4a4436=_0xe809b0?.['type']===nodeTypes['Line']&&_0xe809b0['value']['trim']()['startsWith'](_0x40dc1d)&&_0x29f37e['loc']['start']['line']-_0xe809b0['loc']['end']['line']===0xb*0x226+-0x2*-0x6e1+-0x2563;!_0x4a4436&&_0x2abb89['report']({'loc':_0x29f37e['loc'],'messageId':_0x430b60,'data':{'message':_0x21d587}});}}}__name(findEslintDisableComment,'findEslintDisableComment');
|
|
5
|
+
|
|
6
|
+
export { findEslintDisableComment };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
import { nodeTypes } from '@flint/infra/analysis/function-analysis';
|
|
3
|
+
import { getStringLiterals, isStringType } from '@flint/infra/analysis/string-analysis';
|
|
4
|
+
|
|
5
|
+
var __defProp=Object['defineProperty'],__name=(_0xf085c4,_0x434fa8)=>__defProp(_0xf085c4,'name',{'value':_0x434fa8,'configurable':!![]});function getVariableInScope(_0x3426c2,_0x46e030,_0xc5dc8e,_0x4d63aa){let _0x897589=_0x3426c2['getScope'](_0x46e030),_0x505b63=_0x897589['set']['get'](_0xc5dc8e);if(!_0x4d63aa)return _0x505b63;while(!_0x505b63&&_0x897589['upper']){_0x897589=_0x897589['upper'],_0x505b63=_0x897589['set']['get'](_0xc5dc8e);}return _0x505b63;}__name(getVariableInScope,'getVariableInScope');function isEnvironmentVariableAssignment(_0x374473){const _0x767867=getStringLiterals(_0x374473);return _0x767867['some'](_0x40d09e=>/(^|\s)[A-Z][A-Z0-9_]*=/['test'](_0x40d09e));}__name(isEnvironmentVariableAssignment,'isEnvironmentVariableAssignment');function isSideEffectExpression(_0x2efbd3){return _0x2efbd3['type']===nodeTypes['callExpression']||_0x2efbd3['type']===nodeTypes['assignmentExpression']||_0x2efbd3['type']===nodeTypes['updateExpression']||_0x2efbd3['type']===nodeTypes['sequenceExpression']||_0x2efbd3['type']===nodeTypes['taggedTemplateExpression'];}__name(isSideEffectExpression,'isSideEffectExpression');function isContainSideEffectExpr(_0x209e53){if(isSideEffectExpression(_0x209e53))return !![];else {if(_0x209e53['type']===nodeTypes['logicalExpression']||_0x209e53['type']===nodeTypes['binaryExpression'])return isContainSideEffectExpr(_0x209e53['left'])||isContainSideEffectExpr(_0x209e53['right']);else {if(_0x209e53['type']===nodeTypes['unaryExpression'])return isContainSideEffectExpr(_0x209e53['argument']);else {if(_0x209e53['type']===nodeTypes['conditionalExpression'])return isContainSideEffectExpr(_0x209e53['test'])||isContainSideEffectExpr(_0x209e53['consequent'])||isContainSideEffectExpr(_0x209e53['alternate']);else {if(_0x209e53['type']===nodeTypes['memberExpression'])return isContainSideEffectExpr(_0x209e53['object'])||_0x209e53['computed']&&isContainSideEffectExpr(_0x209e53['property']);else return ![];}}}}}__name(isContainSideEffectExpr,'isContainSideEffectExpr');function collectVariableNamesFromPattern(_0x1430a7,_0x3292a6){if(_0x1430a7['type']===nodeTypes['identifier']){_0x3292a6['add'](_0x1430a7['name']);return;}if(_0x1430a7['type']===nodeTypes['objectPattern'])for(const _0x2ce967 of _0x1430a7['properties']){collectVariableNamesFromPattern(_0x2ce967,_0x3292a6);}else {if(_0x1430a7['type']===nodeTypes['property'])collectVariableNamesFromPattern(_0x1430a7['value'],_0x3292a6);else {if(_0x1430a7['type']===nodeTypes['arrayPattern'])for(const _0x56a3e2 of _0x1430a7['elements']){_0x56a3e2&&collectVariableNamesFromPattern(_0x56a3e2,_0x3292a6);}else {if(_0x1430a7['type']===nodeTypes['assignmentPattern'])collectVariableNamesFromPattern(_0x1430a7['left'],_0x3292a6);else _0x1430a7['type']===nodeTypes['restElement']&&collectVariableNamesFromPattern(_0x1430a7['argument'],_0x3292a6);}}}}__name(collectVariableNamesFromPattern,'collectVariableNamesFromPattern');function getFilenameFromIdentifier(_0x96ab9f,_0x92ae54){const _0x210e8e=_0x92ae54['getScope'](_0x96ab9f),_0x425bf0=_0x210e8e['set']['get'](_0x96ab9f['name']);let _0x1b978a;if(_0x425bf0)for(const _0x154a7f of _0x425bf0['defs']){_0x154a7f['type']===nodeTypes['variable']&&_0x154a7f['node']['init']&&_0x154a7f['node']['init']['type']===nodeTypes['literal']&&isStringType(_0x154a7f['node']['init']['value'])&&(_0x1b978a=_0x154a7f['node']['init']['value']);}return _0x1b978a;}__name(getFilenameFromIdentifier,'getFilenameFromIdentifier');function getFirstExpressionArgument(_0x1f77b5){const _0x131c05=_0x1f77b5[-0x1*-0x19e9+-0x127d*0x2+0xb11];if(!_0x131c05||_0x131c05['type']===nodeTypes['spreadElement'])return void(0x12d6+0x1*0x16ba+0x8c*-0x4c);return _0x131c05;}__name(getFirstExpressionArgument,'getFirstExpressionArgument');function unwrapExpression(_0x3af206){let _0x119df0=_0x3af206;while(_0x119df0['type']===nodeTypes['awaitExpression']||_0x119df0['type']===nodeTypes['chainExpression']||_0x119df0['type']===nodeTypes['TSAsExpression']||_0x119df0['type']===nodeTypes['TSSatisfiesExpression']){_0x119df0['type']===nodeTypes['awaitExpression']?_0x119df0=_0x119df0['argument']:_0x119df0=_0x119df0['expression'];}return _0x119df0;}__name(unwrapExpression,'unwrapExpression');
|
|
6
|
+
|
|
7
|
+
export { collectVariableNamesFromPattern, getFilenameFromIdentifier, getFirstExpressionArgument, getVariableInScope, isContainSideEffectExpr, isEnvironmentVariableAssignment, isSideEffectExpression, unwrapExpression };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
import { nodeTypes } from '@flint/infra/analysis/function-analysis';
|
|
3
|
+
|
|
4
|
+
var __defProp=Object['defineProperty'],__name=(_0x206594,_0x5d9b9e)=>__defProp(_0x206594,'name',{'value':_0x5d9b9e,'configurable':!![]});function getIndentSize(_0xf57c39,_0x4350af){const _0x482f30='\x20'['repeat'](0x1*0x12fd+-0x9d5+-0x924);let _0x2964ba=_0x482f30;if(_0x4350af){const _0x5b004e=_0xf57c39['getText'](_0x4350af),_0xf55ae9=/^\s*/,_0x22621f=_0xf55ae9['exec'](_0x5b004e);_0x22621f?_0x2964ba=formatIndent(_0x22621f[0x644*-0x2+0x1b21+-0xe99]):_0x2964ba='';}else {const _0x1e5825=/^( +|\t+)/,_0x451fb0=_0xf57c39['getText']()['split']('\x0a');for(const _0x150765 of _0x451fb0){const _0x5a073e=_0x1e5825['exec'](_0x150765);if(_0x5a073e){_0x2964ba=formatIndent(_0x5a073e[-0xd*0x5b+0x1*-0x2621+-0x4c0*-0x9]);break;}}}return _0x2964ba;}__name(getIndentSize,'getIndentSize');function isExprNeedsBrackets(_0x4f2676){switch(_0x4f2676['type']){case nodeTypes['logicalExpression']:case nodeTypes['conditionalExpression']:case nodeTypes['assignmentExpression']:case nodeTypes['sequenceExpression']:return !![];case nodeTypes['unaryExpression']:return isExprNeedsBrackets(_0x4f2676['argument']);default:return ![];}}__name(isExprNeedsBrackets,'isExprNeedsBrackets');function formatCondition(_0x3e506f,_0x41803b){const _0x46ef42=_0x41803b['getText'](_0x3e506f);return isExprNeedsBrackets(_0x3e506f)?'('+_0x46ef42+')':_0x46ef42;}__name(formatCondition,'formatCondition');function formatIndent(_0x73d934){let _0x4ff311;return _0x73d934['includes']('\x09')?_0x4ff311='\x09'['repeat'](_0x73d934['length']):_0x4ff311='\x20'['repeat'](_0x73d934['length']),_0x4ff311;}__name(formatIndent,'formatIndent');
|
|
5
|
+
|
|
6
|
+
export { formatCondition, getIndentSize, isExprNeedsBrackets };
|
|
@@ -104,6 +104,7 @@ export declare const nodeTypes: {
|
|
|
104
104
|
readonly super: "Super";
|
|
105
105
|
readonly yieldExpression: "YieldExpression";
|
|
106
106
|
readonly importBinding: "ImportBinding";
|
|
107
|
+
readonly parameter: "Parameter";
|
|
107
108
|
};
|
|
108
109
|
export type FunctionDecArrow = TSESTree.FunctionDeclaration | TSESTree.ArrowFunctionExpression;
|
|
109
110
|
export type FuncDecAndVariable = TSESTree.FunctionDeclaration | TSESTree.VariableDeclarator;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
import { isHookName } from '@flint/infra/analysis/name-analysis';
|
|
3
|
+
import { isFunction } from '@flint/infra/analysis/type-guards';
|
|
4
|
+
import { flintConstants } from '@flint/infra/constants/rules-meta';
|
|
5
|
+
|
|
6
|
+
var __defProp=Object['defineProperty'],__name=(_0x50a209,_0x2a45ed)=>__defProp(_0x50a209,'name',{'value':_0x2a45ed,'configurable':!![]});const nodeTypes={'awaitExpression':'AwaitExpression','blockStatement':'BlockStatement','expressionStatement':'ExpressionStatement','returnStatement':'ReturnStatement','ifStatement':'IfStatement','tryStatement':'TryStatement','switchStatement':'SwitchStatement','whileStatement':'WhileStatement','forStatement':'ForStatement','forInStatement':'ForInStatement','forOfStatement':'ForOfStatement','doWhileStatement':'DoWhileStatement','throwStatement':'ThrowStatement','emptyStatement':'EmptyStatement','callExpression':'CallExpression','classExpression':'ClassExpression','arrayExpression':'ArrayExpression','memberExpression':'MemberExpression','objectExpression':'ObjectExpression','assignmentExpression':'AssignmentExpression','chainExpression':'ChainExpression','functionExpression':'FunctionExpression','arrowFunctionExpression':'ArrowFunctionExpression','unaryExpression':'UnaryExpression','binaryExpression':'BinaryExpression','logicalExpression':'LogicalExpression','thisExpression':'ThisExpression','conditionalExpression':'ConditionalExpression','sequenceExpression':'SequenceExpression','updateExpression':'UpdateExpression','taggedTemplateExpression':'TaggedTemplateExpression','newExpression':'NewExpression','variableDeclaration':'VariableDeclaration','variableDeclarator':'VariableDeclarator','functionDeclaration':'FunctionDeclaration','classDeclaration':'ClassDeclaration','exportAllDeclaration':'ExportAllDeclaration','importDeclaration':'ImportDeclaration','importSpecifier':'ImportSpecifier','importDefaultSpecifier':'ImportDefaultSpecifier','importNamespaceSpecifier':'ImportNamespaceSpecifier','methodDefinition':'MethodDefinition','propertyDefinition':'PropertyDefinition','property':'Property','identifier':'Identifier','exportNamedDeclaration':'ExportNamedDeclaration','exportDefaultDeclaration':'ExportDefaultDeclaration','JSXExpressionContainer':'JSXExpressionContainer','JSXAttribute':'JSXAttribute','JSXIdentifier':'JSXIdentifier','JSXElement':'JSXElement','JSXFragment':'JSXFragment','JSXText':'JSXText','JSXEmptyExpression':'JSXEmptyExpression','TSInterfaceDeclaration':'TSInterfaceDeclaration','TSTypeAliasDeclaration':'TSTypeAliasDeclaration','TSTypeAnnotation':'TSTypeAnnotation','TSAsExpression':'TSAsExpression','TSUnionType':'TSUnionType','TSFunctionType':'TSFunctionType','TSNullKeyword':'TSNullKeyword','TSUndefinedKeyword':'TSUndefinedKeyword','TSTypeReference':'TSTypeReference','TSQualifiedName':'TSQualifiedName','TSNonNullExpression':'TSNonNullExpression','TSTypeAssertion':'TSTypeAssertion','TSTypeParameterInstantiation':'TSTypeParameterInstantiation','TSParameterProperty':'TSParameterProperty','TSAnyKeyword':'TSAnyKeyword','TSObjectKeyword':'TSObjectKeyword','TSTypePredicate':'TSTypePredicate','TSTypeOperator':'TSTypeOperator','TSIndexedAccessType':'TSIndexedAccessType','TSTypeQuery':'TSTypeQuery','TSSatisfiesExpression':'TSSatisfiesExpression','TSIntersectionType':'TSIntersectionType','TSArrayType':'TSArrayType','TSLiteralType':'TSLiteralType','literal':'Literal','templateLiteral':'TemplateLiteral','variable':'Variable','program':'Program','objectPattern':'ObjectPattern','arrayPattern':'ArrayPattern','assignmentPattern':'AssignmentPattern','classBody':'ClassBody','spreadElement':'SpreadElement','restElement':'RestElement','TSMethodSignature':'TSMethodSignature','TSModuleBlock':'TSModuleBlock','Line':'Line','Block':'Block','TSPropertySignature':'TSPropertySignature','TSIndexSignature':'TSIndexSignature','TSTypeLiteral':'TSTypeLiteral','TSTupleType':'TSTupleType','templateElement':'TemplateElement','TSParenthesizedType':'TSParenthesizedType','importExpression':'ImportExpression','metaProperty':'MetaProperty','super':'Super','yieldExpression':'YieldExpression','importBinding':'ImportBinding','parameter':'Parameter'};function getLineDistance(_0x5e1a51,_0x273fa9){const _0x89a541=_0x5e1a51['loc']['end']['line'],_0x9fee6d=_0x273fa9['loc']['start']['line'],_0x3adc6=_0x9fee6d-_0x89a541;return _0x3adc6;}__name(getLineDistance,'getLineDistance');function getLineRange(_0x1b76d4){const _0x5d0262=_0x1b76d4['loc']['start']['line'],_0x59de67=_0x1b76d4['loc']['end']['line'];return {'start':_0x5d0262,'end':_0x59de67};}__name(getLineRange,'getLineRange');function countFunctionLines(_0x201998,_0x2cae0d,_0x3991c3={'excludeReturnStatements':!![]}){const _0xe06195=new Set(),_0x4c6d28=getFunctionBody(_0x201998);if(!_0x4c6d28)return 0x103+-0xe84+-0x1*-0xd81;const _0x548056=_0x2cae0d['getTokens'](_0x4c6d28);for(const _0x1b907e of _0x548056){if(_0x1b907e['type']!=='Punctuator')for(let _0x27579e=_0x1b907e['loc']['start']['line'];_0x27579e<=_0x1b907e['loc']['end']['line'];_0x27579e++){_0xe06195['add'](_0x27579e);}}if(_0x3991c3['excludeReturnStatements']){let _0x4e0f6f;if(_0x4c6d28['type']===nodeTypes['blockStatement']){_0x4e0f6f=getReturnLines(findLastReturnStatement(_0x4c6d28));for(let _0xed500f of _0x4e0f6f){_0xe06195['delete'](_0xed500f);}}}return _0xe06195['size'];}__name(countFunctionLines,'countFunctionLines');function isHookCall(_0xaa7658){let _0x502ce8=![];return _0xaa7658['type']===nodeTypes['identifier']&&(_0x502ce8=isHookName(_0xaa7658['name'])),_0xaa7658['type']===nodeTypes['memberExpression']&&_0xaa7658['object']['type']===nodeTypes['identifier']&&_0xaa7658['object']['name']===flintConstants['react']&&_0xaa7658['property']['type']===nodeTypes['identifier']&&(_0x502ce8=isHookName(_0xaa7658['property']['name'])),_0x502ce8;}__name(isHookCall,'isHookCall');function isAsyncFunction(_0x73b5e4){return isFunction(_0x73b5e4)&&_0x73b5e4['async'];}__name(isAsyncFunction,'isAsyncFunction');function getFunctionBody(_0x1fd7b5){let _0x1687ee;if(_0x1fd7b5['type']===nodeTypes['methodDefinition']&&_0x1fd7b5['value']['body'])_0x1687ee=_0x1fd7b5['value']['body'];else {if(_0x1fd7b5['type']===nodeTypes['functionDeclaration']||_0x1fd7b5['type']===nodeTypes['functionExpression']||_0x1fd7b5['type']===nodeTypes['arrowFunctionExpression'])_0x1687ee=_0x1fd7b5['body'];}return _0x1687ee;}__name(getFunctionBody,'getFunctionBody');function findLastReturnStatement(_0x5bcfb9){return traverse(_0x5bcfb9);}__name(findLastReturnStatement,'findLastReturnStatement');function getReturnLines(_0x289c98){const _0x28b113=new Set();if(_0x289c98){const _0x1e305f=_0x289c98['loc'];if(_0x1e305f)for(let _0x11d82b=_0x1e305f['start']['line'];_0x11d82b<=_0x1e305f['end']['line'];_0x11d82b++){_0x28b113['add'](_0x11d82b);}}return _0x28b113;}__name(getReturnLines,'getReturnLines');function traverse(_0x15a786){let _0x334fe3;switch(_0x15a786?.['type']){case nodeTypes['returnStatement']:_0x334fe3=_0x15a786;break;case nodeTypes['blockStatement']:_0x334fe3=handleBlockStatement(_0x15a786);break;case nodeTypes['ifStatement']:_0x334fe3=handleIfStatement(_0x15a786);break;case nodeTypes['switchStatement']:_0x334fe3=handleSwitchStatement(_0x15a786);break;case nodeTypes['tryStatement']:_0x334fe3=handleTryStatement(_0x15a786);break;case nodeTypes['whileStatement']:case nodeTypes['forStatement']:case nodeTypes['forInStatement']:case nodeTypes['forOfStatement']:_0x334fe3=handleLoop(_0x15a786);break;default:break;}return _0x334fe3;}__name(traverse,'traverse');function handleBlockStatement(_0x2d15c6){let _0x436a27;if(_0x2d15c6['type']===nodeTypes['blockStatement'])for(const _0x1fba49 of _0x2d15c6['body']){let _0x1ac90b=traverse(_0x1fba49);_0x1ac90b&&(_0x436a27=_0x1ac90b);}return _0x436a27;}__name(handleBlockStatement,'handleBlockStatement');function handleIfStatement(_0x105d4d){let _0x3eae55,_0x9f7939;if(_0x105d4d['consequent']['type'])_0x3eae55=traverse(_0x105d4d['consequent']);if(_0x105d4d['alternate'])_0x9f7939=traverse(_0x105d4d['alternate']);return _0x9f7939??_0x3eae55;}__name(handleIfStatement,'handleIfStatement');function handleLoop(_0x5dd623){if(_0x5dd623['type']===nodeTypes['whileStatement']||_0x5dd623['type']===nodeTypes['forStatement']||_0x5dd623['type']===nodeTypes['forInStatement']||_0x5dd623['type']===nodeTypes['forOfStatement'])return traverse(_0x5dd623['body']);return void(-0x2c6+0x19*0x11+0x11d);}__name(handleLoop,'handleLoop');function handleTryStatement(_0x5b2263){let _0x105ed7=traverse(_0x5b2263['block']),_0x459747,_0x1fa164;if(_0x5b2263['handler'])_0x459747=traverse(_0x5b2263['handler']['body']);if(_0x5b2263['finalizer'])_0x1fa164=traverse(_0x5b2263['finalizer']);return _0x1fa164??_0x459747??_0x105ed7;}__name(handleTryStatement,'handleTryStatement');function handleSwitchStatement(_0x38d757){let _0x491361;if(_0x38d757['type']===nodeTypes['switchStatement'])for(const _0x1ee868 of _0x38d757['cases']){let _0x2b7148;Array['isArray'](_0x1ee868['consequent'])?_0x2b7148=handleNodeArray(_0x1ee868['consequent']):_0x2b7148=traverse(_0x1ee868['consequent']);if(_0x2b7148)_0x491361=_0x2b7148;}return _0x491361;}__name(handleSwitchStatement,'handleSwitchStatement');function handleNodeArray(_0x5730a7){let _0x37e092;for(const _0x49855f of _0x5730a7){let _0xe4bb25=traverse(_0x49855f);if(_0xe4bb25)_0x37e092=_0xe4bb25;}return _0x37e092;}__name(handleNodeArray,'handleNodeArray');
|
|
7
|
+
|
|
8
|
+
export { countFunctionLines, getLineDistance, getLineRange, isAsyncFunction, isHookCall, nodeTypes };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
import { nodeTypes } from '@flint/infra/analysis/function-analysis';
|
|
3
|
+
import { isCallExpression } from '@flint/infra/analysis/type-guards';
|
|
4
|
+
import { flintConstants } from '@flint/infra/constants/rules-meta';
|
|
5
|
+
|
|
6
|
+
var __defProp=Object['defineProperty'],__name=(_0x22f498,_0x2eb6a0)=>__defProp(_0x22f498,'name',{'value':_0x2eb6a0,'configurable':!![]});function hasJSXReturn(_0xde8dc6){if(!_0xde8dc6['body'])return ![];return _0xde8dc6['body']['type']===nodeTypes['blockStatement']?_0xde8dc6['body']['body']['some'](_0x47da1b=>_0x47da1b['type']===nodeTypes['returnStatement']&&_0x47da1b['argument']&&containsJSX(_0x47da1b['argument'])):containsJSX(_0xde8dc6['body']);}__name(hasJSXReturn,'hasJSXReturn');function isJSXNode(_0xee23e){return !!_0xee23e&&(_0xee23e['type']===nodeTypes['JSXElement']||_0xee23e['type']===nodeTypes['JSXFragment']||_0xee23e['type']===nodeTypes['JSXText']);}__name(isJSXNode,'isJSXNode');function isJSXIdentifier(_0x58a5d0){return _0x58a5d0['type']===nodeTypes['JSXIdentifier'];}__name(isJSXIdentifier,'isJSXIdentifier');function isJSXExpressionContainer(_0x4f5cde){return _0x4f5cde['type']===nodeTypes['JSXExpressionContainer'];}__name(isJSXExpressionContainer,'isJSXExpressionContainer');function isReactMethodCall(_0xe1f9d9,_0x21c6fd){const _0x42d7f3=isCallExpression(_0xe1f9d9)?_0xe1f9d9['callee']:_0xe1f9d9;return _0x42d7f3['type']===nodeTypes['memberExpression']&&_0x42d7f3['object']['type']===nodeTypes['identifier']&&_0x42d7f3['object']['name']===flintConstants['react']&&_0x42d7f3['property']['type']===nodeTypes['identifier']&&(_0x21c6fd===void(-0x18f0+-0x3*0xaa3+-0x1b*-0x21b)||_0x42d7f3['property']['name']===_0x21c6fd);}__name(isReactMethodCall,'isReactMethodCall');const childrenMap={[nodeTypes['blockStatement']]:_0x560f89=>_0x560f89['type']===nodeTypes['blockStatement']?_0x560f89['body']:[],[nodeTypes['returnStatement']]:_0x58f12d=>_0x58f12d['type']===nodeTypes['returnStatement']?[_0x58f12d['argument']??void(-0x42a*-0x5+0x3*0xb77+0xb0b*-0x5)]:[],[nodeTypes['conditionalExpression']]:_0x47d853=>{return _0x47d853['type']===nodeTypes['conditionalExpression']?[_0x47d853['test'],_0x47d853['consequent'],_0x47d853['alternate']]:[];},[nodeTypes['logicalExpression']]:_0x1ef530=>_0x1ef530['type']===nodeTypes['logicalExpression']?[_0x1ef530['left'],_0x1ef530['right']]:[],[nodeTypes['binaryExpression']]:_0x224ef6=>_0x224ef6['type']===nodeTypes['binaryExpression']?[_0x224ef6['left'],_0x224ef6['right']]:[],[nodeTypes['callExpression']]:_0x45daae=>_0x45daae['type']===nodeTypes['callExpression']?_0x45daae['arguments']['filter'](_0x43ba47=>_0x43ba47['type']!==nodeTypes['spreadElement']):[],[nodeTypes['arrowFunctionExpression']]:_0x4e4f74=>_0x4e4f74['type']===nodeTypes['arrowFunctionExpression']?[_0x4e4f74['body']]:[],[nodeTypes['functionExpression']]:_0x2f024e=>_0x2f024e['type']===nodeTypes['functionExpression']?[_0x2f024e['body']]:[],[nodeTypes['ifStatement']]:_0x26d4cf=>{return _0x26d4cf['type']===nodeTypes['ifStatement']?[_0x26d4cf['test'],_0x26d4cf['consequent'],_0x26d4cf['alternate']??void(0x18fe+-0x42*-0x4e+-0x2d1a)]:[];},[nodeTypes['expressionStatement']]:_0x29577a=>_0x29577a['type']===nodeTypes['expressionStatement']?[_0x29577a['expression']]:[]};function containsJSX(_0x170280,_0x2b1937=0x1bd5+0x6cb*0x2+0x296b*-0x1){if(!_0x170280||_0x2b1937>-0xb2*0x33+-0xd*0x12a+0x2e*0x11a)return ![];if(isJSXNode(_0x170280))return !![];const _0x54826c=childrenMap[_0x170280['type']];if(!_0x54826c)return ![];return _0x54826c(_0x170280)['some'](_0x50a583=>_0x50a583&&containsJSX(_0x50a583,_0x2b1937+(-0xe8d+0x24b0+0x1*-0x1622)));}__name(containsJSX,'containsJSX');
|
|
7
|
+
|
|
8
|
+
export { hasJSXReturn, isJSXExpressionContainer, isJSXIdentifier, isJSXNode, isReactMethodCall };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
import { isVariableDeclaration, isIdentifier, isFunctionStatement, isFunctionExpression, isMemberExpression } from '@flint/infra/analysis/type-guards';
|
|
3
|
+
import { nodeTypes } from '@flint/infra/analysis/function-analysis';
|
|
4
|
+
import { getVariableInScope } from '@flint/infra/analysis/expression-analysis';
|
|
5
|
+
import { isVariableImportedFrom } from '@flint/infra/analysis/scope-analysis';
|
|
6
|
+
import { npmPackages } from '../../../base-repo/constants/packages.js';
|
|
7
|
+
import { folders } from '../../../base-repo/app-constants/project-paths.js';
|
|
8
|
+
|
|
9
|
+
var __defProp=Object['defineProperty'],__name=(_0x4ee5ac,_0xf37901)=>__defProp(_0x4ee5ac,'name',{'value':_0xf37901,'configurable':!![]});const variableDeclarationKinds={'const':'const','let':'let','var':'var'};const memberKinds={'exportInterface':0x0,'exportType':0x1,'exportClass':0x2,'exportVariable':0x3,'exportFunction':0x4,'interface':0x5,'type':0x6,'class':0x7,'variable':0x8,'test':0x9,'function':0xa};const memberKindsByExportNodeTypes={'TSInterfaceDeclaration':memberKinds['exportInterface'],'TSTypeAliasDeclaration':memberKinds['exportType'],'ClassDeclaration':memberKinds['exportClass'],'VariableDeclaration':memberKinds['exportVariable'],'FunctionDeclaration':memberKinds['exportFunction']};const memberKindsByNodeTypes={'TSInterfaceDeclaration':memberKinds['interface'],'TSTypeAliasDeclaration':memberKinds['type'],'ClassDeclaration':memberKinds['class'],'VariableDeclaration':memberKinds['variable'],'FunctionDeclaration':memberKinds['function']};function isExportNamedVariableDeclaration(_0x227a5e){return _0x227a5e['type']===nodeTypes['exportNamedDeclaration']&&!!_0x227a5e['declaration']&&isVariableDeclaration(_0x227a5e['declaration']);}__name(isExportNamedVariableDeclaration,'isExportNamedVariableDeclaration');function isExportConstDeclaration(_0x3e3214){return isExportNamedVariableDeclaration(_0x3e3214)&&_0x3e3214['declaration']['kind']===variableDeclarationKinds['const']&&_0x3e3214['declaration']['declarations']['length']===-0x1fdf+0x1*-0x1087+0x3067;}__name(isExportConstDeclaration,'isExportConstDeclaration');function getExportedConstName(_0x40c712){if(!_0x40c712['declaration']||!isVariableDeclaration(_0x40c712['declaration']))return void(0xac9*0x1+-0x1688*-0x1+-0x1*0x2151);const _0x403403=_0x40c712['declaration']['declarations'][-0x18*0x144+0x11ef*-0x1+0x304f];if(!_0x403403||!isIdentifier(_0x403403['id']))return void(0x4*0x1e7+0x76*-0x5+-0x54e);return _0x403403['id']['name'];}__name(getExportedConstName,'getExportedConstName');function isExportedFunctionStatement(_0x10f241){if(_0x10f241['type']!==nodeTypes['exportNamedDeclaration'])return ![];const _0x192691=_0x10f241['declaration'];if(!_0x192691)return ![];if(_0x192691['type']===nodeTypes['TSInterfaceDeclaration']||_0x192691['type']===nodeTypes['TSTypeAliasDeclaration'])return ![];return isFunctionStatement(_0x192691);}__name(isExportedFunctionStatement,'isExportedFunctionStatement');function getExportedFunctionNames(_0x521c2e){const _0xc7346a=[],_0x354fde=_0x521c2e['declaration'];if(!_0x354fde)return _0xc7346a;if(_0x354fde['type']===nodeTypes['functionDeclaration']&&_0x354fde['id']&&isIdentifier(_0x354fde['id']))return _0xc7346a['push'](_0x354fde['id']['name']),_0xc7346a;if(isVariableDeclaration(_0x354fde))for(const _0x1ac322 of _0x354fde['declarations']){isIdentifier(_0x1ac322['id'])&&_0x1ac322['init']&&isFunctionExpression(_0x1ac322['init'])&&_0xc7346a['push'](_0x1ac322['id']['name']);}return _0xc7346a;}__name(getExportedFunctionNames,'getExportedFunctionNames');function isExportDeclaration(_0x595ac6){return _0x595ac6['type']===nodeTypes['exportNamedDeclaration'];}__name(isExportDeclaration,'isExportDeclaration');function getMemberKindByNodeType(_0x49f431,_0x481ce0){if(isTestCallStatement(_0x49f431,_0x481ce0))return memberKinds['test'];const [_0x208705,_0x3f07ef]=_0x49f431['type']===nodeTypes['exportNamedDeclaration']&&_0x49f431['declaration']?[memberKindsByExportNodeTypes,_0x49f431['declaration']['type']]:[memberKindsByNodeTypes,_0x49f431['type']];return _0x208705[_0x3f07ef];}__name(getMemberKindByNodeType,'getMemberKindByNodeType');function isTestCallStatement(_0x566f2c,_0x20b8bd){let _0x3d20eb=![];if(_0x566f2c['type']===nodeTypes['expressionStatement']&&_0x566f2c['expression']['type']===nodeTypes['callExpression']){let _0xef8dbc=_0x566f2c['expression']['callee'];while(isMemberExpression(_0xef8dbc)){_0xef8dbc=_0xef8dbc['object'];}if(isIdentifier(_0xef8dbc)&&(_0xef8dbc['name']===folders['test']||_0xef8dbc['name']==='uiTest')){const _0x4bf949=getVariableInScope(_0x20b8bd,_0xef8dbc,_0xef8dbc['name'],!![]);_0x4bf949&&(_0x3d20eb=isVariableImportedFrom(_0x4bf949,npmPackages['saasKit']+'/'+folders['test']));}}return _0x3d20eb;}__name(isTestCallStatement,'isTestCallStatement');
|
|
10
|
+
|
|
11
|
+
export { getExportedConstName, getExportedFunctionNames, getMemberKindByNodeType, isExportConstDeclaration, isExportDeclaration, isExportNamedVariableDeclaration, isExportedFunctionStatement, isTestCallStatement, memberKinds, memberKindsByExportNodeTypes, memberKindsByNodeTypes, variableDeclarationKinds };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TSESTree } from "@typescript-eslint/types";
|
|
2
|
-
import { AnyFunction } from "@flint/infra/
|
|
2
|
+
import { AnyFunction } from "@flint/infra/analysis/function-analysis";
|
|
3
3
|
export declare function hasEventHandler(name: string): boolean;
|
|
4
4
|
export declare function isTestFile(filename: string): boolean;
|
|
5
5
|
export declare function isCamelCase(name: string): boolean;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
import _0x25f9dd__default from 'path';
|
|
3
|
+
import { hookNamePattern, startsWithUpperCasePattern } from '@flint/infra/constants/rules-regex';
|
|
4
|
+
import { nodeTypes } from '@flint/infra/analysis/function-analysis';
|
|
5
|
+
import { isIdentifier, isStringLiteral } from '@flint/infra/analysis/type-guards';
|
|
6
|
+
import { jsBasicTypes } from '../../../base-repo/constants/basic-types.js';
|
|
7
|
+
|
|
8
|
+
var __defProp=Object['defineProperty'],__name=(_0x1bf29,_0xf20d4b)=>__defProp(_0x1bf29,'name',{'value':_0xf20d4b,'configurable':!![]});const builtInHooks=new Set(['useState','useEffect','useContext','useReducer','useCallback','useMemo','useRef','useImperativeHandle','useLayoutEffect','useDebugValue','useTransition','useId']);function hasEventHandler(_0x23445a){return _0x23445a['startsWith']('on')&&_0x23445a[0x2590+-0x222f+-0x35f]===_0x23445a[-0x14f+0x33*-0x31+0xb14]?.['toUpperCase']();}__name(hasEventHandler,'hasEventHandler');function isTestFile(_0x2a65af){const _0x4ed64f=[/\.(?:test|spec)\.[tj]sx?$/i];return _0x4ed64f['some'](_0x5d0d06=>_0x5d0d06['test'](_0x2a65af));}__name(isTestFile,'isTestFile');function isCamelCase(_0x49fb3c){const _0x3888a0=/^[a-z][a-zA-Z0-9]*$/;return _0x3888a0['test'](_0x49fb3c);}__name(isCamelCase,'isCamelCase');function isPascalCase(_0x5c2026){const _0x56fb4a=/^[A-Z][a-zA-Z0-9]*$/;return _0x56fb4a['test'](_0x5c2026);}__name(isPascalCase,'isPascalCase');function getFileName(_0xc078c,_0x4b11c1){return _0x25f9dd__default['basename'](_0xc078c,_0x4b11c1);}__name(getFileName,'getFileName');function getFileNamePrefix(_0x37511c,_0x43a7f9){const _0x3d53d0=getFileName(_0x37511c),_0x70d124=_0x43a7f9['exec'](_0x3d53d0);return _0x70d124?_0x70d124[0x2*0xeb9+-0x2*-0x865+0xf69*-0x3]:void(-0xa48+-0x1ca2*-0x1+-0x6*0x30f);}__name(getFileNamePrefix,'getFileNamePrefix');function getFunctionName(_0x21feae){const _0x5babad=_0x21feae['parent'];let _0x40231f;return _0x21feae['type']===nodeTypes['functionDeclaration']&&_0x21feae['id']&&(_0x40231f=_0x21feae['id']['name']),_0x5babad?.['type']===nodeTypes['variableDeclarator']&&_0x5babad['id']['type']===nodeTypes['identifier']&&(_0x40231f=_0x5babad['id']['name']),_0x5babad?.['type']===nodeTypes['methodDefinition']&&_0x5babad['key']['type']===nodeTypes['identifier']&&(_0x40231f=_0x5babad['key']['name']),_0x5babad?.['type']===nodeTypes['property']&&_0x5babad['key']['type']===nodeTypes['identifier']&&(_0x40231f=_0x5babad['key']['name']),_0x21feae['type']===nodeTypes['callExpression']&&_0x21feae['callee']['type']===nodeTypes['memberExpression']&&_0x21feae['callee']['property']['type']===nodeTypes['identifier']&&(_0x40231f=_0x21feae['callee']['property']['name']),_0x40231f;}__name(getFunctionName,'getFunctionName');function getPropertyName(_0x58cc62){let _0x420088;const _0x35888e=_0x58cc62['type']===nodeTypes['property']?_0x58cc62['key']:_0x58cc62['property'];return isIdentifier(_0x35888e)&&(_0x420088=_0x35888e['name']),_0x35888e['type']===nodeTypes['literal']&&typeof _0x35888e['value']==='string'&&(_0x420088=_0x35888e['value']),_0x35888e['type']===nodeTypes['templateLiteral']&&_0x35888e['expressions']['length']===0x2ed*-0x5+-0x3b3*-0x2+-0x73b*-0x1&&(_0x420088=_0x35888e['quasis'][0x3*-0x86b+0x1df2+-0x4b1]['value']['cooked']),_0x420088;}__name(getPropertyName,'getPropertyName');function isPropertyNamed(_0x33fdf5,_0xd0d78b){if(_0x33fdf5['key']['type']===nodeTypes['identifier']&&isNameMatch(_0x33fdf5['key'],_0xd0d78b))return !![];if(_0x33fdf5['key']['type']===nodeTypes['literal']&&_0x33fdf5['key']['value']===_0xd0d78b)return !![];return ![];}__name(isPropertyNamed,'isPropertyNamed');function getMemberPathParts(_0x3d0c47){const _0x18f536=[];let _0x905139=_0x3d0c47;while(_0x905139['type']===nodeTypes['memberExpression']){const _0xccba62=_0x905139['property'];_0xccba62['type']===nodeTypes['identifier']&&_0x18f536['unshift'](_0xccba62['name']),_0xccba62['type']===nodeTypes['literal']&&typeof _0xccba62['value']===jsBasicTypes['string']&&_0x18f536['unshift'](_0xccba62['value']),_0x905139=_0x905139['object'];}return _0x905139['type']===nodeTypes['identifier']&&_0x18f536['unshift'](_0x905139['name']),_0x905139['type']===nodeTypes['thisExpression']&&_0x18f536['unshift']('this'),_0x18f536['length']!==-0xe58+-0x1*-0x8fe+-0x2*-0x2ad?_0x18f536:void(-0x3*-0x1f9+-0x2*0xc1a+-0x1249*-0x1);}__name(getMemberPathParts,'getMemberPathParts');function isSameBaseMember(_0x2ccc62,_0x568433){const _0xba9cb4=getMemberPathParts(_0x2ccc62),_0x246d62=getMemberPathParts(_0x568433);if(!_0xba9cb4||!_0x246d62||_0xba9cb4['length']>_0x246d62['length'])return ![];return _0xba9cb4['every']((_0x568267,_0x2f2452)=>_0x568267===_0x246d62[_0x2f2452]);}__name(isSameBaseMember,'isSameBaseMember');function isMatchesNamedMember(_0x75475,_0x1b16f6,_0x3cf55e){if(_0x1b16f6!==void(-0x1e52+-0x930+0x2*0x13c1)&&_0x75475['object']['type']===nodeTypes['identifier']&&_0x75475['object']['name']!==_0x1b16f6)return ![];if(_0x3cf55e!==void(-0x8b4*-0x1+-0x4c8+-0x4*0xfb)&&(_0x75475['property']['type']===nodeTypes['identifier']&&!isNameMatch(_0x75475['property'],_0x3cf55e)||_0x75475['property']['type']===nodeTypes['literal']&&_0x75475['property']['value']!==_0x3cf55e))return ![];return !![];}__name(isMatchesNamedMember,'isMatchesNamedMember');function isHookByName(_0x5b5079){return !!_0x5b5079&&hookNamePattern['test'](_0x5b5079);}__name(isHookByName,'isHookByName');function isHookName(_0x3fffdc){return builtInHooks['has'](_0x3fffdc)||hookNamePattern['test'](_0x3fffdc);}__name(isHookName,'isHookName');function isComponentByName(_0x28ab94){let _0x257bd3=![];const _0x34fa0b=getFunctionName(_0x28ab94);return _0x34fa0b&&startsWithUpperCasePattern['test'](_0x34fa0b)&&(_0x257bd3=!![]),_0x257bd3;}__name(isComponentByName,'isComponentByName');function isReactHook(_0xc39c11){return /^use[A-Z]/['test'](_0xc39c11);}__name(isReactHook,'isReactHook');function isNameMatch(_0x4d3a67,_0x4adeb6){return _0x4d3a67['type']===nodeTypes['identifier']&&_0x4d3a67['name']===_0x4adeb6||isStringLiteral(_0x4d3a67)&&_0x4d3a67['value']===_0x4adeb6;}__name(isNameMatch,'isNameMatch');function getVariableName(_0x58595c){let _0x113163;return _0x58595c['parent']?.['type']===nodeTypes['variableDeclarator']&&_0x58595c['parent']['id']['type']===nodeTypes['identifier']&&(_0x113163=_0x58595c['parent']['id']['name']),_0x113163;}__name(getVariableName,'getVariableName');function getMethodNameFromCallee(_0x2ff164,_0x776aa1){let _0x3f826b,_0x3904a8=_0x2ff164,_0x355967=!![];while(_0x355967){if(_0x3904a8['type']===nodeTypes['identifier'])_0x3f826b=_0x3904a8['name'],_0x355967=![];else {if(_0x3904a8['type']===nodeTypes['memberExpression']){if(_0x3904a8['property']['type']===nodeTypes['identifier'])_0x3f826b=_0x3904a8['property']['name'],_0x355967=![];else (_0x3904a8['object']['type']===nodeTypes['memberExpression']||_0x3904a8['object']['type']===nodeTypes['identifier']&&(_0x776aa1===void(-0xded*-0x1+0x1cd2+-0x161*0x1f)||_0x3904a8['object']['name']===_0x776aa1)||_0x3904a8['object']['type']===nodeTypes['callExpression'])&&(_0x3904a8=_0x3904a8['object']);}}}return _0x3f826b;}__name(getMethodNameFromCallee,'getMethodNameFromCallee');
|
|
9
|
+
|
|
10
|
+
export { getFileName, getFileNamePrefix, getFunctionName, getMemberPathParts, getMethodNameFromCallee, getPropertyName, getVariableName, hasEventHandler, isCamelCase, isComponentByName, isHookByName, isHookName, isMatchesNamedMember, isNameMatch, isPascalCase, isPropertyNamed, isReactHook, isSameBaseMember, isTestFile };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
import { nodeTypes } from '@flint/infra/analysis/function-analysis';
|
|
3
|
+
import { jsBasicTypes } from '../../../base-repo/constants/basic-types.js';
|
|
4
|
+
|
|
5
|
+
var __defProp=Object['defineProperty'],__name=(_0x8b3edb,_0x21c5da)=>__defProp(_0x8b3edb,'name',{'value':_0x21c5da,'configurable':!![]});function isDirectNullishInit(_0x4a71fb){return _0x4a71fb['type']===nodeTypes['literal']&&_0x4a71fb['value']===null||_0x4a71fb['type']===nodeTypes['identifier']&&_0x4a71fb['name']===jsBasicTypes['undefined'];}__name(isDirectNullishInit,'isDirectNullishInit');function isPotentiallyNullishExpression(_0x2c3d46){return _0x2c3d46['type']===nodeTypes['callExpression']||_0x2c3d46['type']===nodeTypes['memberExpression']||_0x2c3d46['type']===nodeTypes['conditionalExpression']||_0x2c3d46['type']===nodeTypes['logicalExpression']||_0x2c3d46['type']===nodeTypes['chainExpression'];}__name(isPotentiallyNullishExpression,'isPotentiallyNullishExpression');function hasUndefined(_0x2a7eab){return _0x2a7eab['some'](_0x5ab937=>_0x5ab937['type']===nodeTypes['TSUndefinedKeyword']);}__name(hasUndefined,'hasUndefined');function hasNull(_0x51d6af){return _0x51d6af['some'](_0x181914=>_0x181914['type']===nodeTypes['TSNullKeyword']);}__name(hasNull,'hasNull');function isNullOrUndefinedAnalysis(_0x317b37){return !!_0x317b37&&(_0x317b37['type']===nodeTypes['literal']&&_0x317b37['value']===null||_0x317b37['type']===nodeTypes['identifier']&&_0x317b37['name']===jsBasicTypes['undefined']||_0x317b37['type']===nodeTypes['unaryExpression']&&_0x317b37['operator']==='void');}__name(isNullOrUndefinedAnalysis,'isNullOrUndefinedAnalysis');
|
|
6
|
+
|
|
7
|
+
export { hasNull, hasUndefined, isDirectNullishInit, isNullOrUndefinedAnalysis, isPotentiallyNullishExpression };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
import { nodeTypes } from '@flint/infra/analysis/function-analysis';
|
|
3
|
+
import { TypeFlags } from 'typescript';
|
|
4
|
+
import { jsBasicTypes } from '../../../base-repo/constants/basic-types.js';
|
|
5
|
+
|
|
6
|
+
var __defProp=Object['defineProperty'],__name=(_0x271b2c,_0x3a4b86)=>__defProp(_0x271b2c,'name',{'value':_0x3a4b86,'configurable':!![]});function getNumberLiteralValue(_0x140ac1){let _0x8a19d6;return _0x140ac1['type']===nodeTypes['literal']&&isNumberType(_0x140ac1['value'])&&(_0x8a19d6=_0x140ac1['value']),_0x140ac1['type']===nodeTypes['unaryExpression']&&_0x140ac1['argument']['type']===nodeTypes['literal']&&isNumberType(_0x140ac1['argument']['value'])&&(_0x140ac1['operator']==='-'&&(_0x8a19d6=-_0x140ac1['argument']['value']),_0x140ac1['operator']==='+'&&(_0x8a19d6=_0x140ac1['argument']['value'])),_0x8a19d6;}__name(getNumberLiteralValue,'getNumberLiteralValue');function isNumberType(_0x260725){return typeof _0x260725===jsBasicTypes['number'];}__name(isNumberType,'isNumberType');function isUnionOfNumberLiterals(_0x523530){return _0x523530['isUnion']()&&_0x523530['types']['every'](_0x23ca17=>(_0x23ca17['flags']&TypeFlags['NumberLiteral'])!==0x21fe+-0x21db+-0x23*0x1);}__name(isUnionOfNumberLiterals,'isUnionOfNumberLiterals');
|
|
7
|
+
|
|
8
|
+
export { getNumberLiteralValue, isNumberType, isUnionOfNumberLiterals };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { TSESTree } from "@typescript-eslint/types";
|
|
2
|
-
export declare function findPropertyInObject(properties: TSESTree.ObjectLiteralElement[], propertyName: string): TSESTree.
|
|
2
|
+
export declare function findPropertyInObject(properties: TSESTree.ObjectLiteralElement[], propertyName: string): TSESTree.Property;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
import { isNameMatch, nodeTypes } from '@flint/infra/analysis';
|
|
3
|
+
|
|
4
|
+
var __defProp=Object['defineProperty'],__name=(_0xa80ff9,_0x3bc202)=>__defProp(_0xa80ff9,'name',{'value':_0x3bc202,'configurable':!![]});function findPropertyInObject(_0x27b31a,_0x4f18db){return _0x27b31a['find'](_0x173685=>_0x173685['type']===nodeTypes['property']&&isNameMatch(_0x173685['key'],_0x4f18db));}__name(findPropertyInObject,'findPropertyInObject');
|
|
5
|
+
|
|
6
|
+
export { findPropertyInObject };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TSESTree } from "@typescript-eslint/utils";
|
|
2
|
+
import { AnyFunction } from "@flint/infra/analysis/function-analysis";
|
|
3
|
+
export declare function hasArrayReturn(node: AnyFunction): boolean;
|
|
4
|
+
export declare function isArrayReturnStatement(statement: TSESTree.Statement): boolean;
|
|
5
|
+
export declare function isBareReturn(statement: TSESTree.Statement): statement is TSESTree.ReturnStatement;
|
|
6
|
+
export declare function collectBareReturns(statements: TSESTree.Statement[]): TSESTree.ReturnStatement[];
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
import { nodeTypes } from '@flint/infra/analysis/function-analysis';
|
|
3
|
+
import { jsBasicTypes } from '../../../base-repo/constants/basic-types.js';
|
|
4
|
+
|
|
5
|
+
var __defProp=Object['defineProperty'],__name=(_0x4ad07e,_0x142574)=>__defProp(_0x4ad07e,'name',{'value':_0x142574,'configurable':!![]});function hasArrayReturn(_0x469dd5){const _0x2c6061=_0x469dd5['body'];if(!_0x2c6061||_0x2c6061['type']!==nodeTypes['blockStatement'])return ![];return containsArrayReturn(_0x2c6061['body']);}__name(hasArrayReturn,'hasArrayReturn');function isArrayReturnStatement(_0x47da85){if(_0x47da85['type']!==nodeTypes['returnStatement']||!_0x47da85['argument'])return ![];return _0x47da85['argument']['type']===nodeTypes['arrayExpression'];}__name(isArrayReturnStatement,'isArrayReturnStatement');function isBareReturn(_0x19754d){if(_0x19754d['type']!==nodeTypes['returnStatement'])return ![];if(!_0x19754d['argument'])return !![];return _0x19754d['argument']['type']===nodeTypes['identifier']&&_0x19754d['argument']['name']===jsBasicTypes['undefined'];}__name(isBareReturn,'isBareReturn');function collectBareReturns(_0x1b722a){const _0x24164d=[];for(const _0x5b3be6 of _0x1b722a){_0x24164d['push'](...collectBareReturnsFromStatement(_0x5b3be6));}return _0x24164d;}__name(collectBareReturns,'collectBareReturns');function containsArrayReturn(_0x1c0e43){let _0x5dd07a=![];for(const _0x56099b of _0x1c0e43){(isArrayReturnStatement(_0x56099b)||_0x56099b['type']===nodeTypes['ifStatement']&&containsArrayReturnInIf(_0x56099b))&&(_0x5dd07a=!![]);}return _0x5dd07a;}__name(containsArrayReturn,'containsArrayReturn');function containsArrayReturnInIf(_0x270276){const _0x1e5cb5=_0x270276['consequent'],_0x37ef75=_0x270276['alternate'],_0x37ef4a=_0x1e5cb5&&isArrayReturnStatement(_0x1e5cb5)||_0x1e5cb5?.['type']===nodeTypes['blockStatement']&&containsArrayReturn(_0x1e5cb5['body']);if(_0x37ef4a)return !![];let _0x29cbe9=![];return _0x37ef75&&(_0x29cbe9=isArrayReturnStatement(_0x37ef75)||_0x37ef75['type']===nodeTypes['blockStatement']&&containsArrayReturn(_0x37ef75['body'])||_0x37ef75['type']===nodeTypes['ifStatement']&&containsArrayReturnInIf(_0x37ef75)),_0x29cbe9;}__name(containsArrayReturnInIf,'containsArrayReturnInIf');function collectBareReturnsFromStatement(_0x1ffaf8){const _0x389b0a=_0x1ffaf8['type'];let _0x5ed7d4=[];if(_0x389b0a===nodeTypes['returnStatement']){if(isBareReturn(_0x1ffaf8))_0x5ed7d4=[_0x1ffaf8];}else {if(_0x389b0a===nodeTypes['ifStatement'])_0x5ed7d4=collectBareReturnsFromIf(_0x1ffaf8);else _0x389b0a===nodeTypes['blockStatement']&&(_0x5ed7d4=collectBareReturns(_0x1ffaf8['body']));}return _0x5ed7d4;}__name(collectBareReturnsFromStatement,'collectBareReturnsFromStatement');function collectBareReturnsFromIf(_0x3e7b98){const _0x4ef4ab=[];let _0x148bdd=[];const _0x4ae99a=_0x3e7b98['consequent'];if(_0x4ae99a['type']===nodeTypes['returnStatement']&&isBareReturn(_0x4ae99a))_0x148bdd=[_0x4ae99a];else _0x4ae99a['type']===nodeTypes['blockStatement']&&(_0x148bdd=collectBareReturns(_0x4ae99a['body']));_0x4ef4ab['push'](..._0x148bdd);if(_0x3e7b98['alternate']){_0x148bdd=[];if(_0x3e7b98['alternate']['type']===nodeTypes['returnStatement']&&isBareReturn(_0x3e7b98['alternate']))_0x148bdd=[_0x3e7b98['alternate']];else {if(_0x3e7b98['alternate']['type']===nodeTypes['blockStatement'])_0x148bdd=collectBareReturns(_0x3e7b98['alternate']['body']);else _0x3e7b98['alternate']['type']===nodeTypes['ifStatement']&&(_0x148bdd=collectBareReturnsFromIf(_0x3e7b98['alternate']));}_0x4ef4ab['push'](..._0x148bdd);}return _0x4ef4ab;}__name(collectBareReturnsFromIf,'collectBareReturnsFromIf');
|
|
6
|
+
|
|
7
|
+
export { collectBareReturns, hasArrayReturn, isArrayReturnStatement, isBareReturn };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
import { TSESLint } from '@typescript-eslint/utils';
|
|
3
|
+
import { isVariableDeclaration, isIdentifier, isMemberExpression } from '@flint/infra/analysis/type-guards';
|
|
4
|
+
import { collectVariableNamesFromPattern } from '@flint/infra/analysis/expression-analysis';
|
|
5
|
+
import { nodeTypes } from '@flint/infra/analysis/function-analysis';
|
|
6
|
+
import { getPropertyName } from '@flint/infra/analysis/name-analysis';
|
|
7
|
+
import { findVariable } from '@typescript-eslint/utils/ast-utils';
|
|
8
|
+
|
|
9
|
+
var __defProp=Object['defineProperty'],__name=(_0x46c72b,_0x6a92b0)=>__defProp(_0x46c72b,'name',{'value':_0x6a92b0,'configurable':!![]});function getDeclaredVariableNames(_0x2775f0){const _0x3e612a=new Set();if(!_0x2775f0)return _0x3e612a;if(_0x2775f0['type']!==nodeTypes['blockStatement'])return _0x3e612a;for(const _0x5beaf6 of _0x2775f0['body']){if(isVariableDeclaration(_0x5beaf6))for(const _0x4d5bdb of _0x5beaf6['declarations']){collectVariableNamesFromPattern(_0x4d5bdb['id'],_0x3e612a);}}return _0x3e612a;}__name(getDeclaredVariableNames,'getDeclaredVariableNames');function getReference(_0x229779,{sourceCode:_0x5d14bf}){return _0x5d14bf['getScope'](_0x229779)['references']['find'](({identifier:_0x505af9})=>_0x505af9===_0x229779);}__name(getReference,'getReference');const globalObjectNames=['window','self','global','globalThis'];function isGlobalObject(_0x150787,_0xef1c47){const _0x316549=getReference(_0x150787,_0xef1c47)?.['resolved'];return isIdentifier(_0x150787)&&globalObjectNames['includes'](_0x150787['name'])&&(!_0x316549||_0x316549['scope']['type']===TSESLint['Scope']['ScopeType']['global']);}__name(isGlobalObject,'isGlobalObject');function isTopLevelVariable(_0x5b1519){return _0x5b1519['scope']['type']===TSESLint['Scope']['ScopeType']['module']||_0x5b1519['scope']['type']===TSESLint['Scope']['ScopeType']['global'];}__name(isTopLevelVariable,'isTopLevelVariable');function getObjectPropsUsagesCount(_0x16c3cf,_0xdb450c){const _0x36a904=new Map(),_0x295597=_0x16c3cf['references']['filter'](_0x16b24d=>!_0x16b24d['init']);for(const _0x1a6a4d of _0x295597){let _0x2fcaf3=_0x1a6a4d['identifier']['parent'],_0x2003b4=_0xdb450c;while(isMemberExpression(_0x2fcaf3)){const _0x34c27d=getPropertyName(_0x2fcaf3),_0x5aa041=_0x2003b4['find'](_0x51c2f5=>_0x51c2f5['type']===nodeTypes['property']&&getPropertyName(_0x51c2f5)===_0x34c27d);_0x5aa041&&_0x5aa041['type']===nodeTypes['property']&&(_0x5aa041['value']['type']===nodeTypes['objectExpression']?_0x2003b4=_0x5aa041['value']['properties']:_0x36a904['set'](_0x5aa041,(_0x36a904['get'](_0x5aa041)??0x1*-0x20f+0x3*0x71b+-0x1d*0xaa)+(-0x1*-0xe8f+0x4d9*0x3+-0x1d19))),_0x2fcaf3=_0x2fcaf3['parent'];}}return _0x36a904;}__name(getObjectPropsUsagesCount,'getObjectPropsUsagesCount');function isVariableImportedFrom(_0x182475,_0x17ba22){let _0x94b3ef=![];if(_0x182475['defs'][-0x1*-0x15c5+-0x1227+-0x39e]['type']===nodeTypes['importBinding']){const _0x49e45b=_0x182475['defs'][-0x621+-0x5f*-0x60+-0x1d7f]['node'];_0x49e45b['parent']['type']===nodeTypes['importDeclaration']&&_0x49e45b['parent']['source']['type']===nodeTypes['literal']&&_0x49e45b['parent']['source']['value']===_0x17ba22&&(_0x94b3ef=!![]);}return _0x94b3ef;}__name(isVariableImportedFrom,'isVariableImportedFrom');function getDefinition(_0x2b444f,{sourceCode:_0x992a9c}){const _0x123dd1=findVariable(_0x992a9c['getScope'](_0x2b444f),_0x2b444f);return _0x123dd1?.['defs'][-0x1*-0x1433+0x1*0xe4e+-0x2281];}__name(getDefinition,'getDefinition');
|
|
10
|
+
|
|
11
|
+
export { getDeclaredVariableNames, getDefinition, getObjectPropsUsagesCount, getReference, isGlobalObject, isTopLevelVariable, isVariableImportedFrom };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
import { nodeTypes } from '@flint/infra/analysis/function-analysis';
|
|
3
|
+
import { isStringLiteral } from '@flint/infra/analysis/type-guards';
|
|
4
|
+
import { getNodeTsType } from '@flint/infra/analysis/type-analysis';
|
|
5
|
+
import { jsBasicTypes } from '../../../base-repo/constants/basic-types.js';
|
|
6
|
+
import _0x36ff07__default from 'typescript';
|
|
7
|
+
|
|
8
|
+
var __defProp=Object['defineProperty'],__name=(_0x38b7f3,_0x154814)=>__defProp(_0x38b7f3,'name',{'value':_0x154814,'configurable':!![]});function isStringType(_0x583808){return typeof _0x583808===jsBasicTypes['string'];}__name(isStringType,'isStringType');function isStringLikeTypeNode(_0x466e76,_0x3a05b6){return (getNodeTsType(_0x466e76,_0x3a05b6)['flags']&_0x36ff07__default['TypeFlags']['StringLike'])!==-0x2*-0x56b+-0x1*-0x143b+-0x1*0x1f11;}__name(isStringLikeTypeNode,'isStringLikeTypeNode');function isTemplateLiteral(_0x1a893b){return _0x1a893b['type']===nodeTypes['templateLiteral'];}__name(isTemplateLiteral,'isTemplateLiteral');function getStringLiterals(_0x158ff5){if(_0x158ff5['type']===nodeTypes['binaryExpression'])return getStringLiteralsFromBinary(_0x158ff5);return getStringLiteralsFromTemplate(_0x158ff5['quasis']);}__name(getStringLiterals,'getStringLiterals');function isEmptyString(_0x2045fa){return isStringLiteral(_0x2045fa)&&_0x2045fa['value']===''||isTemplateLiteral(_0x2045fa)&&_0x2045fa['quasis']['length']===-0x224b+-0xb69+0x2db5&&_0x2045fa['quasis'][0x51*0x75+-0x1f8a+-0x57b]['value']['cooked']==='';}__name(isEmptyString,'isEmptyString');function collectStringLiterals(_0x54f465,_0x16ad3d){if(isStringLiteral(_0x54f465))_0x16ad3d['push'](_0x54f465['value']);else _0x54f465['type']===nodeTypes['binaryExpression']&&(collectStringLiterals(_0x54f465['left'],_0x16ad3d),collectStringLiterals(_0x54f465['right'],_0x16ad3d));}__name(collectStringLiterals,'collectStringLiterals');function getStringLiteralsFromBinary(_0x48bc61){const _0x31d82d=[];return collectStringLiterals(_0x48bc61['left'],_0x31d82d),collectStringLiterals(_0x48bc61['right'],_0x31d82d),_0x31d82d;}__name(getStringLiteralsFromBinary,'getStringLiteralsFromBinary');function getStringLiteralsFromTemplate(_0x20b52b){return _0x20b52b['map'](_0x1187a2=>_0x1187a2['value']['cooked']??_0x1187a2['value']['raw']);}__name(getStringLiteralsFromTemplate,'getStringLiteralsFromTemplate');
|
|
9
|
+
|
|
10
|
+
export { getStringLiterals, isEmptyString, isStringLikeTypeNode, isStringType, isTemplateLiteral };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
import { isNull } from '@flint/infra/analysis/type-guards';
|
|
3
|
+
|
|
4
|
+
var __defProp=Object['defineProperty'],__name=(_0x4e7713,_0x20c252)=>__defProp(_0x4e7713,'name',{'value':_0x20c252,'configurable':!![]});function iterateChildren(_0xa1c294,_0x36f6fe,_0x1609db){return (_0x36f6fe[_0xa1c294['type']]??[])['reduce']((_0x286f9d,_0x529606)=>{const _0x194267=Reflect['get'](_0xa1c294,_0x529606,_0xa1c294);if(isNull(_0x194267)||_0x194267===void(0x3*-0x98e+0x1c33*-0x1+-0x1*-0x38dd))return _0x286f9d;if(Array['isArray'](_0x194267))for(let _0x5d3069=0x8*0x40b+0x1e7*0x12+-0x4296;_0x5d3069<_0x194267['length'];++_0x5d3069){_0x286f9d['push']({'value':_0x194267[_0x5d3069],'metadata':{'parent':_0x1609db,'key':_0x529606,'index':_0x5d3069}});}else _0x286f9d['push']({'value':_0x194267,'metadata':{'parent':_0x1609db,'key':_0x529606}});return _0x286f9d;},[]);}__name(iterateChildren,'iterateChildren');function*iterateDescendants(_0x81bf8e,_0x55f991,_0x577f93=Infinity){yield*iterateTreeNode(_0x81bf8e,_0x55f991,_0x577f93,-0x1d5b+-0x2441+0x419c);}__name(iterateDescendants,'iterateDescendants');function*iterateTreeNode(_0x4c92f8,_0x2266d1,_0x26f71c,_0x401a52,_0x120cba){if(_0x401a52>=_0x26f71c)return;const _0x757629=iterateChildren(_0x4c92f8,_0x2266d1,_0x120cba??{'value':_0x4c92f8});for(const _0x1585d9 of _0x757629){yield _0x1585d9;if(Array['isArray'](_0x1585d9['value']))for(const _0x56e9ad of _0x1585d9['value']){yield*iterateTreeNode(_0x56e9ad,_0x2266d1,_0x26f71c,_0x401a52+(0x5*0x266+-0x2*-0xbf0+-0x23dd),_0x1585d9);}else yield*iterateTreeNode(_0x1585d9['value'],_0x2266d1,_0x26f71c,_0x401a52+(-0x21d5+-0xd*-0x23+-0x11b*-0x1d),_0x1585d9);}}__name(iterateTreeNode,'iterateTreeNode');
|
|
5
|
+
|
|
6
|
+
export { iterateChildren, iterateDescendants };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ParserServicesWithTypeInformation, TSESTree, type ParserServices } from "@typescript-eslint/utils";
|
|
1
|
+
import { ParserServicesWithTypeInformation, TSESLint, TSESTree, type ParserServices } from "@typescript-eslint/utils";
|
|
2
2
|
import ts from "typescript";
|
|
3
3
|
export interface Services {
|
|
4
4
|
checker: ts.TypeChecker;
|
|
@@ -19,3 +19,19 @@ export declare function isBlockStatement(node: TSESTree.Node): boolean;
|
|
|
19
19
|
export declare function isExpressionStatement(statement: TSESTree.Statement): boolean;
|
|
20
20
|
export declare function isAssignmentExpression(expression: TSESTree.Expression): boolean;
|
|
21
21
|
export declare function getRootTSType(node: TSESTree.Node): TSESTree.Node;
|
|
22
|
+
export declare function isObjectExpression(node: TSESTree.Node): boolean;
|
|
23
|
+
export declare function isProperty(node: TSESTree.Node): boolean;
|
|
24
|
+
export declare function hasGenericTypeReference(typeNode?: TSESTree.TypeNode): boolean;
|
|
25
|
+
export declare function hasCallGenericType({ typeArguments }: Pick<TSESTree.CallExpression, "typeArguments">): boolean;
|
|
26
|
+
export declare function hasGenericTypeAssertion(node: TSESTree.Expression): boolean;
|
|
27
|
+
export declare function hasGenericTypeInEnclosingParameters(identifierName: string, startNode?: TSESTree.Node, options?: {
|
|
28
|
+
stopAtNearestFunction?: boolean;
|
|
29
|
+
}): boolean;
|
|
30
|
+
export declare function hasGenericTypeInTypeNode(typeNode?: TSESTree.TypeNode): boolean;
|
|
31
|
+
export declare function hasGenericTypeInVariableDeclarator(node: TSESTree.VariableDeclarator): boolean;
|
|
32
|
+
export declare function hasGenericTypeInCallableDefinitionReturn(definition: TSESLint.Scope.Definition): boolean;
|
|
33
|
+
export declare function getVariableDefinitionsInScope(sourceCode: TSESLint.SourceCode, node: TSESTree.Node, variableName: string, recursive?: boolean): any;
|
|
34
|
+
export declare function getParameterInfo(parameter: TSESTree.Parameter): {
|
|
35
|
+
name: string;
|
|
36
|
+
typeAnnotation?: TSESTree.TypeNode;
|
|
37
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
import { getVariableInScope } from '@flint/infra/analysis/expression-analysis';
|
|
3
|
+
import { nodeTypes } from '@flint/infra/analysis/function-analysis';
|
|
4
|
+
import { isReactFCType, isIdentifier, isTypeAssertionExpression, isFunction } from '@flint/infra/analysis/type-guards';
|
|
5
|
+
import _0x36ff07__default from 'typescript';
|
|
6
|
+
|
|
7
|
+
var __defProp=Object['defineProperty'],__name=(_0x3b04a2,_0x34aeb1)=>__defProp(_0x3b04a2,'name',{'value':_0x34aeb1,'configurable':!![]});function isStringTypeNode(_0xec78e7,_0x4deb8d){const _0x1c299f=_0x4deb8d['tsNodeMap']['get'](_0xec78e7['object']);if(!_0x1c299f)return ![];const _0x25f470=_0x4deb8d['checker']['getTypeAtLocation'](_0x1c299f);return (_0x25f470['flags']&_0x36ff07__default['TypeFlags']['StringLike'])!==-0x1*-0x18a7+-0x1085*0x1+-0x822;}__name(isStringTypeNode,'isStringTypeNode');function getNodeTsType(_0xb6977f,_0x44d350){return _0x44d350['program']['getTypeChecker']()['getTypeAtLocation'](_0x44d350['esTreeNodeToTSNodeMap']['get'](_0xb6977f));}__name(getNodeTsType,'getNodeTsType');function forEachUnionTypedParam(_0x9d8785,_0x568c58){for(const _0x3711d5 of _0x9d8785){if(_0x3711d5['type']===nodeTypes['identifier']){const _0x113f91=_0x3711d5['typeAnnotation'];if(_0x113f91&&_0x113f91['type']===nodeTypes['TSTypeAnnotation']){const _0x1969b5=_0x113f91['typeAnnotation'];_0x1969b5['type']===nodeTypes['TSUnionType']&&_0x568c58(_0x3711d5,_0x1969b5);}}}}__name(forEachUnionTypedParam,'forEachUnionTypedParam');function hasReactFCTypeAnnotation(_0x3a3e12){if(_0x3a3e12['parent']?.['type']!==nodeTypes['variableDeclarator'])return ![];const _0x369626=_0x3a3e12['parent']['id'];if(_0x369626['typeAnnotation']?.['typeAnnotation'])return isReactFCType(_0x369626['typeAnnotation']['typeAnnotation']);return ![];}__name(hasReactFCTypeAnnotation,'hasReactFCTypeAnnotation');function isTypeQuery(_0x5a5f9b){return _0x5a5f9b['type']===nodeTypes['TSTypeQuery'];}__name(isTypeQuery,'isTypeQuery');function identifierHasNullishType(_0x5b85d1){if(!isIdentifier(_0x5b85d1)||!_0x5b85d1['typeAnnotation'])return ![];const _0x15219c=_0x5b85d1['typeAnnotation'];if(_0x15219c['type']!==nodeTypes['TSTypeAnnotation'])return ![];return isTypeNullish(_0x15219c['typeAnnotation']);}__name(identifierHasNullishType,'identifierHasNullishType');function isPropertyAMethod(_0x8353aa,_0x35d591,_0x4e719f){const _0x41a1af=_0x4e719f['tsNodeMap']['get'](_0x8353aa);if(!_0x41a1af)return ![];const _0xb3cb46=_0x4e719f['checker']['getTypeAtLocation'](_0x41a1af),_0x13ac9a=_0x4e719f['checker']['getPropertyOfType'](_0xb3cb46,_0x35d591);if(_0x13ac9a){const _0x3bcf0f=_0x4e719f['checker']['getTypeOfSymbolAtLocation'](_0x13ac9a,_0x41a1af);if(_0x3bcf0f['getCallSignatures']()['length']>0xc97+0x4*0x9be+-0x338f)return !![];}return ![];}__name(isPropertyAMethod,'isPropertyAMethod');function isTypeNullish(_0x4819fc){if(_0x4819fc['type']===nodeTypes['TSNullKeyword']||_0x4819fc['type']===nodeTypes['TSUndefinedKeyword'])return !![];if(_0x4819fc['type']===nodeTypes['TSUnionType'])return _0x4819fc['types']['some'](_0x3c4a06=>_0x3c4a06['type']===nodeTypes['TSNullKeyword']||_0x3c4a06['type']===nodeTypes['TSUndefinedKeyword']||_0x3c4a06['type']===nodeTypes['TSLiteralType']&&_0x3c4a06['literal']['type']===nodeTypes['literal']&&_0x3c4a06['literal']['value']===null);return ![];}__name(isTypeNullish,'isTypeNullish');function isNamedDeclaration(_0x20aa46){return _0x36ff07__default['isInterfaceDeclaration'](_0x20aa46)||_0x36ff07__default['isClassDeclaration'](_0x20aa46)||_0x36ff07__default['isTypeAliasDeclaration'](_0x20aa46)||_0x36ff07__default['isEnumDeclaration'](_0x20aa46);}__name(isNamedDeclaration,'isNamedDeclaration');function isDefinitelyNotNullable(_0x55e898,_0x25df48=![]){let _0x4912f6=![];if(!_0x25df48&&_0x55e898){const _0x146663=_0x55e898['typeAnnotation'];_0x146663['type']===nodeTypes['TSUnionType']?_0x4912f6=!_0x146663['types']['some'](_0x1eb71b=>_0x1eb71b['type']===nodeTypes['TSNullKeyword']||_0x1eb71b['type']===nodeTypes['TSUndefinedKeyword']):_0x4912f6=_0x146663['type']!==nodeTypes['TSNullKeyword']&&_0x146663['type']!==nodeTypes['TSUndefinedKeyword'];}return _0x4912f6;}__name(isDefinitelyNotNullable,'isDefinitelyNotNullable');function isInTypePosition({parent:_0x587a6c}){let _0x20ff32=_0x587a6c,_0x37f60e=![];while(_0x20ff32){if(_0x20ff32['type']===nodeTypes['TSTypeQuery']||_0x20ff32['type']===nodeTypes['TSQualifiedName']){_0x37f60e=!![];break;}if(_0x20ff32['type']===nodeTypes['program'])break;_0x20ff32=_0x20ff32['parent'];}return _0x37f60e;}__name(isInTypePosition,'isInTypePosition');function isBlockStatement(_0x5c98dc){return _0x5c98dc['type']===nodeTypes['blockStatement'];}__name(isBlockStatement,'isBlockStatement');function isExpressionStatement(_0x382ef7){return _0x382ef7['type']===nodeTypes['expressionStatement'];}__name(isExpressionStatement,'isExpressionStatement');function isAssignmentExpression(_0x3a9014){return _0x3a9014['type']===nodeTypes['assignmentExpression'];}__name(isAssignmentExpression,'isAssignmentExpression');function getRootTSType(_0xb33ed2){if(_0xb33ed2['parent']&&(_0xb33ed2['parent']['type']===nodeTypes['TSTypeAnnotation']||_0xb33ed2['parent']['type']===nodeTypes['TSIndexedAccessType']))return getRootTSType(_0xb33ed2['parent']);return _0xb33ed2;}__name(getRootTSType,'getRootTSType');function isObjectExpression(_0x39e2a4){return _0x39e2a4['type']===nodeTypes['objectExpression'];}__name(isObjectExpression,'isObjectExpression');function isProperty(_0x8fa0ec){return _0x8fa0ec['type']===nodeTypes['property'];}__name(isProperty,'isProperty');function hasGenericTypeReference(_0x3412ce){if(!_0x3412ce||_0x3412ce['type']!==nodeTypes['TSTypeReference'])return ![];const _0x5c5508=_0x3412ce['typeArguments'];return Boolean(_0x5c5508&&_0x5c5508['params']['length']>-0x71c+-0x3*-0xc7+-0x1*-0x4c7);}__name(hasGenericTypeReference,'hasGenericTypeReference');function hasCallGenericType({typeArguments:_0x374f29}){return Boolean(_0x374f29&&_0x374f29['params']['length']>-0x799+0x89+-0x10*-0x71);}__name(hasCallGenericType,'hasCallGenericType');function hasGenericTypeAssertion(_0x1d4774){if(!isTypeAssertionExpression(_0x1d4774))return ![];return hasGenericTypeInTypeNode(_0x1d4774['typeAnnotation']);}__name(hasGenericTypeAssertion,'hasGenericTypeAssertion');function hasGenericTypeInEnclosingParameters(_0x296fef,_0x1664c8,_0x8f471e){let _0x25fd4c=_0x1664c8,_0xb2f4c8=![];while(_0x25fd4c&&!_0xb2f4c8){if(isFunction(_0x25fd4c)){_0xb2f4c8=_0x25fd4c['params']['some'](_0x5f570d=>hasGenericTypeInParameter(_0x5f570d,_0x296fef));if(_0x8f471e?.['stopAtNearestFunction'])break;}_0x25fd4c=_0x25fd4c['parent'];}return _0xb2f4c8;}__name(hasGenericTypeInEnclosingParameters,'hasGenericTypeInEnclosingParameters');function hasGenericTypeInTypeNode(_0x27c7f7){let _0x1552e8=![];return _0x27c7f7&&(_0x1552e8=hasGenericTypeReference(_0x27c7f7)),!_0x1552e8&&_0x27c7f7&&(_0x27c7f7['type']===nodeTypes['TSUnionType']||_0x27c7f7['type']===nodeTypes['TSIntersectionType'])&&(_0x1552e8=_0x27c7f7['types']['some'](hasGenericTypeInTypeNode)),_0x1552e8;}__name(hasGenericTypeInTypeNode,'hasGenericTypeInTypeNode');function hasGenericTypeInVariableDeclarator(_0x2052e1){let _0x995a1a=![];return isIdentifier(_0x2052e1['id'])&&(_0x995a1a=hasGenericTypeInTypeNode(_0x2052e1['id']['typeAnnotation']?.['typeAnnotation'])),!_0x995a1a&&_0x2052e1['init']&&(_0x995a1a=hasGenericTypeAssertion(_0x2052e1['init'])),_0x995a1a;}__name(hasGenericTypeInVariableDeclarator,'hasGenericTypeInVariableDeclarator');function hasGenericTypeInCallableDefinitionReturn(_0x121975){const _0x30abe8=_0x121975['node'];let _0x30e3b3=![];return isFunction(_0x30abe8)&&(_0x30e3b3=hasGenericTypeInTypeNode(_0x30abe8['returnType']?.['typeAnnotation'])),!_0x30e3b3&&_0x30abe8['type']===nodeTypes['variableDeclarator']&&_0x30abe8['init']&&isFunction(_0x30abe8['init'])&&(_0x30e3b3=hasGenericTypeInTypeNode(_0x30abe8['init']['returnType']?.['typeAnnotation'])),_0x30e3b3;}__name(hasGenericTypeInCallableDefinitionReturn,'hasGenericTypeInCallableDefinitionReturn');function getVariableDefinitionsInScope(_0x2451b0,_0x443c92,_0x2c3b03,_0x542cdd=!![]){const _0x4dac1c=getVariableInScope(_0x2451b0,_0x443c92,_0x2c3b03,_0x542cdd);return _0x4dac1c&&Array['isArray'](_0x4dac1c['defs'])?_0x4dac1c['defs']:[];}__name(getVariableDefinitionsInScope,'getVariableDefinitionsInScope');function getParameterInfo(_0x519407){let _0x18a00b=getIdentifierOrAssignmentPatternParameterInfo(_0x519407);return !_0x18a00b&&_0x519407['type']===nodeTypes['restElement']&&isIdentifier(_0x519407['argument'])&&(_0x18a00b={'name':_0x519407['argument']['name'],'typeAnnotation':_0x519407['typeAnnotation']?.['typeAnnotation']??_0x519407['argument']['typeAnnotation']?.['typeAnnotation']}),!_0x18a00b&&_0x519407['type']===nodeTypes['TSParameterProperty']&&(_0x18a00b=getIdentifierOrAssignmentPatternParameterInfo(_0x519407['parameter'])),_0x18a00b;}__name(getParameterInfo,'getParameterInfo');function hasGenericTypeInParameter(_0x239468,_0x44fafc){const _0x12c163=getParameterInfo(_0x239468);let _0x36350e=![];return _0x12c163&&(_0x36350e=_0x12c163['name']===_0x44fafc&&hasGenericTypeInTypeNode(_0x12c163['typeAnnotation'])),_0x36350e;}__name(hasGenericTypeInParameter,'hasGenericTypeInParameter');function getIdentifierOrAssignmentPatternParameterInfo(_0x2672bf){let _0x593564;return isIdentifier(_0x2672bf)&&(_0x593564={'name':_0x2672bf['name'],'typeAnnotation':_0x2672bf['typeAnnotation']?.['typeAnnotation']}),!_0x593564&&_0x2672bf['type']===nodeTypes['assignmentPattern']&&isIdentifier(_0x2672bf['left'])&&(_0x593564={'name':_0x2672bf['left']['name'],'typeAnnotation':_0x2672bf['left']['typeAnnotation']?.['typeAnnotation']}),_0x593564;}__name(getIdentifierOrAssignmentPatternParameterInfo,'getIdentifierOrAssignmentPatternParameterInfo');
|
|
8
|
+
|
|
9
|
+
export { forEachUnionTypedParam, getNodeTsType, getParameterInfo, getRootTSType, getVariableDefinitionsInScope, hasCallGenericType, hasGenericTypeAssertion, hasGenericTypeInCallableDefinitionReturn, hasGenericTypeInEnclosingParameters, hasGenericTypeInTypeNode, hasGenericTypeInVariableDeclarator, hasGenericTypeReference, hasReactFCTypeAnnotation, identifierHasNullishType, isAssignmentExpression, isBlockStatement, isDefinitelyNotNullable, isExpressionStatement, isInTypePosition, isNamedDeclaration, isObjectExpression, isProperty, isPropertyAMethod, isStringTypeNode, isTypeNullish, isTypeQuery };
|