@next-vibe/checker 1.0.11 → 1.0.12
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/.dist/bin/vibe-runtime.js +10 -19
- package/.dist/bin/vibe-runtime.js.map +3 -3
- package/check.config.ts +4 -4
- package/package.json +2 -9
- package/src/app/api/[locale]/LICENSE +674 -0
- package/src/app/api/[locale]/i18n/de/index.ts +13 -0
- package/src/app/api/[locale]/i18n/en/index.ts +12 -0
- package/src/app/api/[locale]/i18n/pl/index.ts +11 -0
- package/src/app/api/[locale]/shared/i18n/de/index.ts +85 -0
- package/src/app/api/[locale]/shared/i18n/en/index.ts +83 -0
- package/src/app/api/[locale]/shared/i18n/pl/index.ts +85 -0
- package/src/app/api/[locale]/shared/stats-filtering.ts +202 -0
- package/src/app/api/[locale]/shared/types/common.schema.ts +55 -0
- package/src/app/api/[locale]/shared/types/response.schema.ts +372 -0
- package/src/app/api/[locale]/shared/types/stats-filtering.schema.ts +375 -0
- package/src/app/api/[locale]/shared/types/utils.ts +190 -0
- package/src/app/api/[locale]/shared/utils/base64.ts +49 -0
- package/src/app/api/[locale]/shared/utils/env-util.ts +40 -0
- package/src/app/api/[locale]/shared/utils/i18n/de/index.ts +21 -0
- package/src/app/api/[locale]/shared/utils/i18n/en/index.ts +19 -0
- package/src/app/api/[locale]/shared/utils/i18n/pl/index.ts +21 -0
- package/src/app/api/[locale]/shared/utils/index.ts +11 -0
- package/src/app/api/[locale]/shared/utils/object-path.ts +41 -0
- package/src/app/api/[locale]/shared/utils/object.test.ts +82 -0
- package/src/app/api/[locale]/shared/utils/object.ts +75 -0
- package/src/app/api/[locale]/shared/utils/parse-error.ts +134 -0
- package/src/app/api/[locale]/shared/utils/parse-json.ts +70 -0
- package/src/app/api/[locale]/shared/utils/time.ts +53 -0
- package/src/app/api/[locale]/shared/utils/validation.ts +127 -0
- package/src/app/api/[locale]/shared/utils/zod-required-fields.ts +116 -0
- package/src/app/api/[locale]/system/builder/definition.ts +1942 -0
- package/src/app/api/[locale]/system/builder/enum.ts +77 -0
- package/src/app/api/[locale]/system/builder/i18n/de/index.ts +677 -0
- package/src/app/api/[locale]/system/builder/i18n/en/index.ts +665 -0
- package/src/app/api/[locale]/system/builder/i18n/pl/index.ts +668 -0
- package/src/app/api/[locale]/system/builder/repository/build-executor.test.ts +182 -0
- package/src/app/api/[locale]/system/builder/repository/build-executor.ts +583 -0
- package/src/app/api/[locale]/system/builder/repository/bun-compiler.ts +261 -0
- package/src/app/api/[locale]/system/builder/repository/bundle-analyzer.ts +197 -0
- package/src/app/api/[locale]/system/builder/repository/config-loader.ts +159 -0
- package/src/app/api/[locale]/system/builder/repository/config-validator.ts +97 -0
- package/src/app/api/[locale]/system/builder/repository/constants.ts +125 -0
- package/src/app/api/[locale]/system/builder/repository/error-suggester.ts +75 -0
- package/src/app/api/[locale]/system/builder/repository/file-copier.ts +98 -0
- package/src/app/api/[locale]/system/builder/repository/folder-cleaner.ts +80 -0
- package/src/app/api/[locale]/system/builder/repository/index.ts +2 -0
- package/src/app/api/[locale]/system/builder/repository/npm-package-generator.ts +146 -0
- package/src/app/api/[locale]/system/builder/repository/output-formatter.ts +104 -0
- package/src/app/api/[locale]/system/builder/repository/profile-service.ts +79 -0
- package/src/app/api/[locale]/system/builder/repository/report-generator.ts +125 -0
- package/src/app/api/[locale]/system/builder/repository/vite-compiler.ts +291 -0
- package/src/app/api/[locale]/system/builder/route.ts +21 -0
- package/src/app/api/[locale]/system/builder/test-files/file1.ts +2 -0
- package/src/app/api/[locale]/system/builder/test-files/file2.tsx +10 -0
- package/src/app/api/[locale]/system/builder/test-files/file3.tsx +16 -0
- package/src/app/api/[locale]/system/builder/test-files/folderToCopy/fileInFolder.ts +2 -0
- package/src/app/api/[locale]/system/builder/test-files/test-config.ts +38 -0
- package/src/app/api/[locale]/system/builder/test-files/test-delete-config.ts +8 -0
- package/src/app/api/[locale]/system/builder/test-files/test-project/package.json +24 -0
- package/src/app/api/[locale]/system/builder/test-files/test-project/src/constants.ts +6 -0
- package/src/app/api/[locale]/system/builder/test-files/test-project/src/greet.ts +18 -0
- package/src/app/api/[locale]/system/builder/test-files/test-project/src/index.ts +7 -0
- package/src/app/api/[locale]/system/builder/test-files/test-project/src/utils/calculate.ts +27 -0
- package/src/app/api/[locale]/system/builder/test-files/test-project/tsconfig.json +19 -0
- package/src/app/api/[locale]/system/builder/test-files/test-project/tsconfig.tsbuildinfo +1 -0
- package/src/app/api/[locale]/system/builder/test-files/test3.css +1 -0
- package/src/app/api/[locale]/system/check/config/repository.ts +819 -0
- package/src/app/api/[locale]/system/check/config/shared.ts +396 -0
- package/src/app/api/[locale]/system/check/config/types.ts +616 -0
- package/src/app/api/[locale]/system/check/config/utils.ts +171 -0
- package/src/app/api/[locale]/system/check/i18n/de/index.ts +15 -0
- package/src/app/api/[locale]/system/check/i18n/en/index.ts +14 -0
- package/src/app/api/[locale]/system/check/i18n/pl/index.ts +15 -0
- package/src/app/api/[locale]/system/check/lint/definition.ts +414 -0
- package/src/app/api/[locale]/system/check/lint/enum.ts +37 -0
- package/src/app/api/[locale]/system/check/lint/i18n/de/index.ts +164 -0
- package/src/app/api/[locale]/system/check/lint/i18n/en/index.ts +162 -0
- package/src/app/api/[locale]/system/check/lint/i18n/pl/index.ts +164 -0
- package/src/app/api/[locale]/system/check/lint/repository.ts +753 -0
- package/src/app/api/[locale]/system/check/lint/route.ts +21 -0
- package/src/app/api/[locale]/system/check/oxlint/README.md +190 -0
- package/src/app/api/[locale]/system/check/oxlint/definition.ts +414 -0
- package/src/app/api/[locale]/system/check/oxlint/enum.ts +37 -0
- package/src/app/api/[locale]/system/check/oxlint/i18n/de/index.ts +171 -0
- package/src/app/api/[locale]/system/check/oxlint/i18n/en/index.ts +168 -0
- package/src/app/api/[locale]/system/check/oxlint/i18n/pl/index.ts +172 -0
- package/src/app/api/[locale]/system/check/oxlint/plugins/i18n/src/index.ts +372 -0
- package/src/app/api/[locale]/system/check/oxlint/plugins/jsx-capitalization/README.md +246 -0
- package/src/app/api/[locale]/system/check/oxlint/plugins/jsx-capitalization/src/index.ts +583 -0
- package/src/app/api/[locale]/system/check/oxlint/plugins/restricted-syntax/src/index.ts +500 -0
- package/src/app/api/[locale]/system/check/oxlint/plugins/restricted-syntax/test.tsx +74 -0
- package/src/app/api/[locale]/system/check/oxlint/plugins/shared/config-loader.ts +305 -0
- package/src/app/api/[locale]/system/check/oxlint/repository.ts +959 -0
- package/src/app/api/[locale]/system/check/oxlint/route.ts +21 -0
- package/src/app/api/[locale]/system/check/oxlint/types.ts +193 -0
- package/src/app/api/[locale]/system/check/test-project/bun.lock +449 -0
- package/src/app/api/[locale]/system/check/test-project/check.config.ts +989 -0
- package/src/app/api/[locale]/system/check/test-project/package.json +20 -0
- package/src/app/api/[locale]/system/check/test-project/src/constants.ts +6 -0
- package/src/app/api/[locale]/system/check/test-project/src/greet.ts +18 -0
- package/src/app/api/[locale]/system/check/test-project/src/test-issues/a11y-issues.tsx +107 -0
- package/src/app/api/[locale]/system/check/test-project/src/test-issues/eslint-issues.tsx +37 -0
- package/src/app/api/[locale]/system/check/test-project/src/test-issues/general-issues.ts +137 -0
- package/src/app/api/[locale]/system/check/test-project/src/test-issues/i18n-issues.tsx +129 -0
- package/src/app/api/[locale]/system/check/test-project/src/test-issues/jsx-capitalization-issues.tsx +131 -0
- package/src/app/api/[locale]/system/check/test-project/src/test-issues/nextjs-issues.tsx +95 -0
- package/src/app/api/[locale]/system/check/test-project/src/test-issues/promise-issues.ts +76 -0
- package/src/app/api/[locale]/system/check/test-project/src/test-issues/react-issues.tsx +95 -0
- package/src/app/api/[locale]/system/check/test-project/src/test-issues/restricted-syntax-issues.tsx +61 -0
- package/src/app/api/[locale]/system/check/test-project/src/test-issues/typescript-issues.ts +80 -0
- package/src/app/api/[locale]/system/check/test-project/src/utils/calculate.ts +27 -0
- package/src/app/api/[locale]/system/check/test-project/tsconfig.json +38 -0
- package/src/app/api/[locale]/system/check/test-project/tsconfig.tsbuildinfo +1 -0
- package/src/app/api/[locale]/system/check/typecheck/definition.ts +369 -0
- package/src/app/api/[locale]/system/check/typecheck/enum.ts +37 -0
- package/src/app/api/[locale]/system/check/typecheck/i18n/de/index.ts +159 -0
- package/src/app/api/[locale]/system/check/typecheck/i18n/en/index.ts +150 -0
- package/src/app/api/[locale]/system/check/typecheck/i18n/pl/index.ts +155 -0
- package/src/app/api/[locale]/system/check/typecheck/repository.ts +919 -0
- package/src/app/api/[locale]/system/check/typecheck/route.ts +22 -0
- package/src/app/api/[locale]/system/check/typecheck/utils.ts +168 -0
- package/src/app/api/[locale]/system/check/vibe-check/definition.ts +568 -0
- package/src/app/api/[locale]/system/check/vibe-check/enum.ts +69 -0
- package/src/app/api/[locale]/system/check/vibe-check/i18n/de/index.ts +192 -0
- package/src/app/api/[locale]/system/check/vibe-check/i18n/en/index.ts +189 -0
- package/src/app/api/[locale]/system/check/vibe-check/i18n/pl/index.ts +192 -0
- package/src/app/api/[locale]/system/check/vibe-check/repository.ts +545 -0
- package/src/app/api/[locale]/system/check/vibe-check/route.test.ts +1142 -0
- package/src/app/api/[locale]/system/check/vibe-check/route.ts +21 -0
- package/src/app/api/[locale]/system/generated/endpoint.ts +313 -0
- package/src/app/api/[locale]/system/generated/endpoints.ts +156 -0
- package/src/app/api/[locale]/system/generated/route-handlers.ts +224 -0
- package/src/app/api/[locale]/system/generators/endpoint/definition.ts +193 -0
- package/src/app/api/[locale]/system/generators/endpoint/i18n/de/index.ts +48 -0
- package/src/app/api/[locale]/system/generators/endpoint/i18n/en/index.ts +48 -0
- package/src/app/api/[locale]/system/generators/endpoint/i18n/pl/index.ts +50 -0
- package/src/app/api/[locale]/system/generators/endpoint/repository.ts +291 -0
- package/src/app/api/[locale]/system/generators/endpoint/route.ts +21 -0
- package/src/app/api/[locale]/system/generators/endpoints/definition.ts +246 -0
- package/src/app/api/[locale]/system/generators/endpoints/i18n/de/index.ts +54 -0
- package/src/app/api/[locale]/system/generators/endpoints/i18n/en/index.ts +52 -0
- package/src/app/api/[locale]/system/generators/endpoints/i18n/pl/index.ts +54 -0
- package/src/app/api/[locale]/system/generators/endpoints/options-repository.ts +463 -0
- package/src/app/api/[locale]/system/generators/endpoints/repository.ts +383 -0
- package/src/app/api/[locale]/system/generators/endpoints/route.ts +18 -0
- package/src/app/api/[locale]/system/generators/endpoints-index/definition.ts +194 -0
- package/src/app/api/[locale]/system/generators/endpoints-index/i18n/de/index.ts +71 -0
- package/src/app/api/[locale]/system/generators/endpoints-index/i18n/en/index.ts +69 -0
- package/src/app/api/[locale]/system/generators/endpoints-index/i18n/pl/index.ts +71 -0
- package/src/app/api/[locale]/system/generators/endpoints-index/repository.ts +294 -0
- package/src/app/api/[locale]/system/generators/endpoints-index/route.ts +18 -0
- package/src/app/api/[locale]/system/generators/generate-all/definition.ts +355 -0
- package/src/app/api/[locale]/system/generators/generate-all/i18n/de/index.ts +96 -0
- package/src/app/api/[locale]/system/generators/generate-all/i18n/en/index.ts +94 -0
- package/src/app/api/[locale]/system/generators/generate-all/i18n/pl/index.ts +96 -0
- package/src/app/api/[locale]/system/generators/generate-all/repository.ts +257 -0
- package/src/app/api/[locale]/system/generators/generate-all/route.ts +20 -0
- package/src/app/api/[locale]/system/generators/i18n/de/index.ts +15 -0
- package/src/app/api/[locale]/system/generators/i18n/en/index.ts +14 -0
- package/src/app/api/[locale]/system/generators/i18n/pl/index.ts +15 -0
- package/src/app/api/[locale]/system/generators/route-handlers/definition.ts +198 -0
- package/src/app/api/[locale]/system/generators/route-handlers/i18n/de/index.ts +48 -0
- package/src/app/api/[locale]/system/generators/route-handlers/i18n/en/index.ts +48 -0
- package/src/app/api/[locale]/system/generators/route-handlers/i18n/pl/index.ts +50 -0
- package/src/app/api/[locale]/system/generators/route-handlers/repository.ts +277 -0
- package/src/app/api/[locale]/system/generators/route-handlers/route.ts +17 -0
- package/src/app/api/[locale]/system/generators/shared/utils.ts +233 -0
- package/src/app/api/[locale]/system/help/definition.ts +445 -0
- package/src/app/api/[locale]/system/help/i18n/de/index.ts +267 -0
- package/src/app/api/[locale]/system/help/i18n/en/index.ts +262 -0
- package/src/app/api/[locale]/system/help/i18n/pl/index.ts +265 -0
- package/src/app/api/[locale]/system/help/interactive/definition.ts +125 -0
- package/src/app/api/[locale]/system/help/interactive/i18n/de/index.ts +22 -0
- package/src/app/api/[locale]/system/help/interactive/i18n/en/index.ts +19 -0
- package/src/app/api/[locale]/system/help/interactive/i18n/pl/index.ts +22 -0
- package/src/app/api/[locale]/system/help/interactive/repository.ts +1025 -0
- package/src/app/api/[locale]/system/help/interactive/route.ts +53 -0
- package/src/app/api/[locale]/system/help/list/definition.ts +372 -0
- package/src/app/api/[locale]/system/help/list/repository.ts +110 -0
- package/src/app/api/[locale]/system/help/list/route.ts +21 -0
- package/src/app/api/[locale]/system/help/repository.ts +212 -0
- package/src/app/api/[locale]/system/help/route.ts +16 -0
- package/src/app/api/[locale]/system/i18n/de/index.ts +68 -0
- package/src/app/api/[locale]/system/i18n/en/index.ts +65 -0
- package/src/app/api/[locale]/system/i18n/pl/index.ts +66 -0
- package/src/app/api/[locale]/system/release-tool/definition.ts +3104 -0
- package/src/app/api/[locale]/system/release-tool/i18n/de/index.ts +813 -0
- package/src/app/api/[locale]/system/release-tool/i18n/en/index.ts +797 -0
- package/src/app/api/[locale]/system/release-tool/i18n/pl/index.ts +810 -0
- package/src/app/api/[locale]/system/release-tool/repository/asset-zipper.ts +128 -0
- package/src/app/api/[locale]/system/release-tool/repository/changelog-generator.ts +212 -0
- package/src/app/api/[locale]/system/release-tool/repository/ci-detector.ts +566 -0
- package/src/app/api/[locale]/system/release-tool/repository/config.ts +113 -0
- package/src/app/api/[locale]/system/release-tool/repository/constants.ts +407 -0
- package/src/app/api/[locale]/system/release-tool/repository/dependency-manager.ts +527 -0
- package/src/app/api/[locale]/system/release-tool/repository/git-service.ts +403 -0
- package/src/app/api/[locale]/system/release-tool/repository/hook-runner.ts +100 -0
- package/src/app/api/[locale]/system/release-tool/repository/index.ts +1 -0
- package/src/app/api/[locale]/system/release-tool/repository/notification-service.ts +638 -0
- package/src/app/api/[locale]/system/release-tool/repository/package-service.ts +169 -0
- package/src/app/api/[locale]/system/release-tool/repository/publisher.ts +253 -0
- package/src/app/api/[locale]/system/release-tool/repository/quality-runner.ts +428 -0
- package/src/app/api/[locale]/system/release-tool/repository/release-creator.ts +293 -0
- package/src/app/api/[locale]/system/release-tool/repository/release-executor.ts +1198 -0
- package/src/app/api/[locale]/system/release-tool/repository/snyk-service.ts +136 -0
- package/src/app/api/[locale]/system/release-tool/repository/utils.ts +642 -0
- package/src/app/api/[locale]/system/release-tool/repository/validation.ts +288 -0
- package/src/app/api/[locale]/system/release-tool/repository/version-service.ts +297 -0
- package/src/app/api/[locale]/system/release-tool/route.ts +21 -0
- package/src/app/api/[locale]/system/unified-interface/README.md +328 -0
- package/src/app/api/[locale]/system/unified-interface/cli/README.md +349 -0
- package/src/app/api/[locale]/system/unified-interface/cli/auth/cli-handler.ts +95 -0
- package/src/app/api/[locale]/system/unified-interface/cli/auth/cli-user.ts +146 -0
- package/src/app/api/[locale]/system/unified-interface/cli/auth/session-file.ts +266 -0
- package/src/app/api/[locale]/system/unified-interface/cli/env.ts +26 -0
- package/src/app/api/[locale]/system/unified-interface/cli/i18n/de/index.ts +157 -0
- package/src/app/api/[locale]/system/unified-interface/cli/i18n/en/index.ts +155 -0
- package/src/app/api/[locale]/system/unified-interface/cli/i18n/pl/index.ts +158 -0
- package/src/app/api/[locale]/system/unified-interface/cli/runtime/debug.ts +595 -0
- package/src/app/api/[locale]/system/unified-interface/cli/runtime/entry-point.ts +129 -0
- package/src/app/api/[locale]/system/unified-interface/cli/runtime/environment.ts +155 -0
- package/src/app/api/[locale]/system/unified-interface/cli/runtime/execution-errors.ts +452 -0
- package/src/app/api/[locale]/system/unified-interface/cli/runtime/parsing.ts +297 -0
- package/src/app/api/[locale]/system/unified-interface/cli/runtime/route-executor.ts +859 -0
- package/src/app/api/[locale]/system/unified-interface/cli/setup/i18n/de/index.ts +12 -0
- package/src/app/api/[locale]/system/unified-interface/cli/setup/i18n/en/index.ts +11 -0
- package/src/app/api/[locale]/system/unified-interface/cli/setup/i18n/pl/index.ts +12 -0
- package/src/app/api/[locale]/system/unified-interface/cli/setup/install/definition.ts +262 -0
- package/src/app/api/[locale]/system/unified-interface/cli/setup/install/i18n/de/index.ts +54 -0
- package/src/app/api/[locale]/system/unified-interface/cli/setup/install/i18n/en/index.ts +52 -0
- package/src/app/api/[locale]/system/unified-interface/cli/setup/install/i18n/pl/index.ts +54 -0
- package/src/app/api/[locale]/system/unified-interface/cli/setup/install/repository.ts +421 -0
- package/src/app/api/[locale]/system/unified-interface/cli/setup/install/route.ts +25 -0
- package/src/app/api/[locale]/system/unified-interface/cli/setup/status/definition.ts +181 -0
- package/src/app/api/[locale]/system/unified-interface/cli/setup/status/i18n/de/index.ts +61 -0
- package/src/app/api/[locale]/system/unified-interface/cli/setup/status/i18n/en/index.ts +59 -0
- package/src/app/api/[locale]/system/unified-interface/cli/setup/status/i18n/pl/index.ts +61 -0
- package/src/app/api/[locale]/system/unified-interface/cli/setup/status/repository.ts +195 -0
- package/src/app/api/[locale]/system/unified-interface/cli/setup/status/route.ts +22 -0
- package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/definition.ts +188 -0
- package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/i18n/de/index.ts +54 -0
- package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/i18n/en/index.ts +52 -0
- package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/i18n/pl/index.ts +54 -0
- package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/repository.ts +209 -0
- package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/route.ts +24 -0
- package/src/app/api/[locale]/system/unified-interface/cli/setup/update/definition.ts +200 -0
- package/src/app/api/[locale]/system/unified-interface/cli/setup/update/i18n/de/index.ts +54 -0
- package/src/app/api/[locale]/system/unified-interface/cli/setup/update/i18n/en/index.ts +52 -0
- package/src/app/api/[locale]/system/unified-interface/cli/setup/update/i18n/pl/index.ts +54 -0
- package/src/app/api/[locale]/system/unified-interface/cli/setup/update/repository.ts +113 -0
- package/src/app/api/[locale]/system/unified-interface/cli/setup/update/route.ts +22 -0
- package/src/app/api/[locale]/system/unified-interface/cli/vibe-runtime.ts +304 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/core/base-renderer.ts +270 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/core/registry.ts +309 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/core/types.ts +126 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/i18n/de/index.ts +67 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/i18n/en/index.ts +65 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/i18n/pl/index.ts +67 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/accordion.ts +74 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/avatar.ts +39 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/badge.ts +54 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/code-output.ts +298 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/code-quality-files.ts +89 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/code-quality-list.ts +298 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/code-quality-summary.ts +96 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/container.ts +186 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/data-card.ts +65 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/data-cards.ts +570 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/data-list.ts +80 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/data-table.ts +385 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/editable-text.ts +99 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/empty-state.ts +55 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/errors.ts +67 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/grouped-list.ts +729 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/link-card.ts +87 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/link-list.ts +112 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/link.ts +59 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/loading.ts +50 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/markdown.ts +131 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/metric.ts +291 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/section.ts +120 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/stats-grid.ts +149 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/tabs.ts +61 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/text.ts +78 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/title.ts +42 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/renderers/response-renderer.ts +418 -0
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/renderers/schema-handler.ts +534 -0
- package/src/app/api/[locale]/system/unified-interface/i18n/de/index.ts +42 -0
- package/src/app/api/[locale]/system/unified-interface/i18n/en/index.ts +40 -0
- package/src/app/api/[locale]/system/unified-interface/i18n/pl/index.ts +43 -0
- package/src/app/api/[locale]/system/unified-interface/mcp/README.md +114 -0
- package/src/app/api/[locale]/system/unified-interface/mcp/converter.ts +146 -0
- package/src/app/api/[locale]/system/unified-interface/mcp/i18n/de/index.ts +182 -0
- package/src/app/api/[locale]/system/unified-interface/mcp/i18n/en/index.ts +179 -0
- package/src/app/api/[locale]/system/unified-interface/mcp/i18n/pl/index.ts +181 -0
- package/src/app/api/[locale]/system/unified-interface/mcp/registry.ts +343 -0
- package/src/app/api/[locale]/system/unified-interface/mcp/serve/definition.ts +147 -0
- package/src/app/api/[locale]/system/unified-interface/mcp/serve/repository.ts +38 -0
- package/src/app/api/[locale]/system/unified-interface/mcp/serve/route.ts +14 -0
- package/src/app/api/[locale]/system/unified-interface/mcp/server/protocol-handler.ts +309 -0
- package/src/app/api/[locale]/system/unified-interface/mcp/server/server.ts +154 -0
- package/src/app/api/[locale]/system/unified-interface/mcp/server/stdio-transport.ts +193 -0
- package/src/app/api/[locale]/system/unified-interface/mcp/types.ts +246 -0
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/definition/create-form.ts +1510 -0
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/definition/create.ts +581 -0
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/definition/endpoint-to-metadata.ts +52 -0
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/definition/loader.ts +152 -0
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/definitions/registry.ts +265 -0
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/permissions/registry.ts +680 -0
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/route/executor.ts +220 -0
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/route/handler.ts +325 -0
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/route/multi.ts +184 -0
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/route/request-validator.ts +201 -0
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/route/single.ts +58 -0
- package/src/app/api/[locale]/system/unified-interface/shared/env/define-env-client.ts +49 -0
- package/src/app/api/[locale]/system/unified-interface/shared/env/define-env.ts +47 -0
- package/src/app/api/[locale]/system/unified-interface/shared/env/validation-logger.ts +58 -0
- package/src/app/api/[locale]/system/unified-interface/shared/field/enum.ts +110 -0
- package/src/app/api/[locale]/system/unified-interface/shared/field/specialized.ts +339 -0
- package/src/app/api/[locale]/system/unified-interface/shared/field/utils.test.ts +408 -0
- package/src/app/api/[locale]/system/unified-interface/shared/field/utils.ts +1349 -0
- package/src/app/api/[locale]/system/unified-interface/shared/field-config/endpoint-field-types.ts +107 -0
- package/src/app/api/[locale]/system/unified-interface/shared/field-config/field-config-types.ts +268 -0
- package/src/app/api/[locale]/system/unified-interface/shared/logger/colors.ts +114 -0
- package/src/app/api/[locale]/system/unified-interface/shared/logger/endpoint.ts +169 -0
- package/src/app/api/[locale]/system/unified-interface/shared/logger/file-logger.ts +88 -0
- package/src/app/api/[locale]/system/unified-interface/shared/logger/formatters.ts +177 -0
- package/src/app/api/[locale]/system/unified-interface/shared/server-only/auth/base-auth-handler.ts +82 -0
- package/src/app/api/[locale]/system/unified-interface/shared/server-only/auth/factory.ts +33 -0
- package/src/app/api/[locale]/system/unified-interface/shared/server-only/server-only.ts +4 -0
- package/src/app/api/[locale]/system/unified-interface/shared/types/actions.ts +289 -0
- package/src/app/api/[locale]/system/unified-interface/shared/types/endpoint.ts +1167 -0
- package/src/app/api/[locale]/system/unified-interface/shared/types/enums.ts +382 -0
- package/src/app/api/[locale]/system/unified-interface/shared/types/platform.ts +34 -0
- package/src/app/api/[locale]/system/unified-interface/shared/types/types.ts +80 -0
- package/src/app/api/[locale]/system/unified-interface/shared/types/ui-config.ts +76 -0
- package/src/app/api/[locale]/system/unified-interface/shared/utils/error-types.ts +27 -0
- package/src/app/api/[locale]/system/unified-interface/shared/utils/path.ts +63 -0
- package/src/app/api/[locale]/system/unified-interface/shared/utils/scanner.ts +241 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/actions.ts +256 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/configs.ts +1158 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/helpers.ts +80 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/accordion.ts +82 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/avatar.ts +75 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/badge.ts +89 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/code-output.ts +302 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/code-quality-list.ts +202 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/container.ts +129 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/data-card.ts +81 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/data-cards.ts +258 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/data-list.ts +123 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/data-table.ts +387 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/editable-text.ts +89 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/empty-state.ts +78 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/errors.ts +93 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/grouped-list.ts +448 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/index.ts +38 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/link-card.ts +130 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/link-list.ts +127 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/link.ts +68 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/loading.ts +81 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/markdown.ts +176 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/metric-card.ts +241 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/section.ts +90 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/stats-grid.ts +71 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/tabs.ts +80 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/text.ts +105 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/title.ts +72 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/types.ts +240 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/utils/field-helpers.ts +137 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/utils/formatting.ts +437 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/utils/url.ts +40 -0
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/utils/widget-helpers.ts +465 -0
- package/src/app/api/[locale]/user/auth/enum.ts +16 -0
- package/src/app/api/[locale]/user/auth/i18n/de/index.ts +227 -0
- package/src/app/api/[locale]/user/auth/i18n/en/index.ts +205 -0
- package/src/app/api/[locale]/user/auth/i18n/pl/index.ts +219 -0
- package/src/app/api/[locale]/user/auth/types.ts +110 -0
- package/src/app/api/[locale]/user/enum.ts +64 -0
- package/src/app/api/[locale]/user/private/i18n/de/index.ts +3 -0
- package/src/app/api/[locale]/user/private/i18n/en/index.ts +1 -0
- package/src/app/api/[locale]/user/private/i18n/pl/index.ts +3 -0
- package/src/app/api/[locale]/user/types.ts +118 -0
- package/src/app/api/[locale]/user/user-roles/enum.ts +112 -0
- package/src/app/api/[locale]/user/user-roles/i18n/de/index.ts +85 -0
- package/src/app/api/[locale]/user/user-roles/i18n/en/index.ts +83 -0
- package/src/app/api/[locale]/user/user-roles/i18n/pl/index.ts +86 -0
- package/src/app/api/[locale]/user/user-roles/types.ts +34 -0
- package/src/app/api/i18n/de/index.ts +6 -0
- package/src/app/api/i18n/en/index.ts +5 -0
- package/src/app/api/i18n/pl/index.ts +5 -0
- package/src/app/i18n/de/index.ts +6 -0
- package/src/app/i18n/en/index.ts +5 -0
- package/src/app/i18n/pl/index.ts +5 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "check-test-project",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Test project for vibe check system",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"check": "bun ../../unified-interface/cli/vibe-runtime.ts check"
|
|
7
|
+
},
|
|
8
|
+
"devDependencies": {
|
|
9
|
+
"@types/node": "^22.0.0",
|
|
10
|
+
"@types/react": "^19.0.0",
|
|
11
|
+
"@types/react-dom": "^19.0.0",
|
|
12
|
+
"eslint-plugin-react-compiler": "19.1.0-rc.2",
|
|
13
|
+
"eslint-plugin-react-hooks": "^7.0.1",
|
|
14
|
+
"eslint-plugin-simple-import-sort": "^12.1.1",
|
|
15
|
+
"typescript": "^5.0.0",
|
|
16
|
+
"typescript-eslint": "8.49.0",
|
|
17
|
+
"vite": "^5.0.0",
|
|
18
|
+
"zod-validation-error": "3.5.3"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Greeting module
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
export interface GreetOptions {
|
|
6
|
+
name: string;
|
|
7
|
+
formal?: boolean;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export function greet(options: GreetOptions): string {
|
|
11
|
+
const { name, formal = false } = options;
|
|
12
|
+
|
|
13
|
+
if (formal) {
|
|
14
|
+
return `Good day, ${name}. How may I assist you?`;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
return `Hello, ${name}!`;
|
|
18
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test file for Accessibility (jsx-a11y) lint issues
|
|
3
|
+
* This file intentionally contains code that violates accessibility rules
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import React from "react";
|
|
7
|
+
|
|
8
|
+
// jsx-a11y/alt-text - Missing alt text on image
|
|
9
|
+
export function MissingAlt(): React.ReactElement {
|
|
10
|
+
return (
|
|
11
|
+
<div>
|
|
12
|
+
<img src="photo.jpg" />
|
|
13
|
+
</div>
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
// jsx-a11y/anchor-has-content - Empty anchor
|
|
18
|
+
export function EmptyAnchor(): React.ReactElement {
|
|
19
|
+
return <a href="https://example.com" />;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// jsx-a11y/click-events-have-key-events - Click without keyboard
|
|
23
|
+
export function ClickWithoutKeyboard(): React.ReactElement {
|
|
24
|
+
return <div onClick={() => alert("clicked")}>Click me</div>;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// jsx-a11y/heading-has-content - Empty heading
|
|
28
|
+
export function EmptyHeading(): React.ReactElement {
|
|
29
|
+
return (
|
|
30
|
+
<div>
|
|
31
|
+
<h1 />
|
|
32
|
+
<h2 aria-label="Hidden heading" />
|
|
33
|
+
</div>
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// jsx-a11y/html-has-lang - Missing lang attribute (would need full HTML)
|
|
38
|
+
// This is hard to test in a component, skip
|
|
39
|
+
|
|
40
|
+
// jsx-a11y/iframe-has-title - Missing iframe title
|
|
41
|
+
export function IframeWithoutTitle(): React.ReactElement {
|
|
42
|
+
return <iframe src="https://example.com" />;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// jsx-a11y/img-redundant-alt - Redundant alt text
|
|
46
|
+
export function RedundantAlt(): React.ReactElement {
|
|
47
|
+
return <img src="photo.jpg" alt="image of a cat" />;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// jsx-a11y/no-access-key - Using accessKey
|
|
51
|
+
export function WithAccessKey(): React.ReactElement {
|
|
52
|
+
return <button accessKey="s">Save</button>;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// jsx-a11y/no-autofocus - Using autoFocus
|
|
56
|
+
export function WithAutofocus(): React.ReactElement {
|
|
57
|
+
return <input type="text" />;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// jsx-a11y/no-distracting-elements - Using marquee/blink
|
|
61
|
+
export function DistractingElements(): React.ReactElement {
|
|
62
|
+
return (
|
|
63
|
+
<div>
|
|
64
|
+
<marquee>Scrolling text</marquee>
|
|
65
|
+
</div>
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// jsx-a11y/no-redundant-roles - Redundant role
|
|
70
|
+
export function RedundantRole(): React.ReactElement {
|
|
71
|
+
return (
|
|
72
|
+
<div>
|
|
73
|
+
<button>Click me</button>
|
|
74
|
+
<nav>Navigation</nav>
|
|
75
|
+
</div>
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// jsx-a11y/role-has-required-aria-props - Missing required ARIA props
|
|
80
|
+
export function MissingAriaProps(): React.ReactElement {
|
|
81
|
+
return (
|
|
82
|
+
<div>
|
|
83
|
+
<div role="checkbox">Toggle</div>
|
|
84
|
+
<div role="slider">Value</div>
|
|
85
|
+
</div>
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// jsx-a11y/tabindex-no-positive - Positive tabIndex
|
|
90
|
+
export function PositiveTabIndex(): React.ReactElement {
|
|
91
|
+
return (
|
|
92
|
+
<div>
|
|
93
|
+
<button tabIndex={1}>First</button>
|
|
94
|
+
<button tabIndex={2}>Second</button>
|
|
95
|
+
</div>
|
|
96
|
+
);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
// jsx-a11y/aria-props - Invalid aria prop
|
|
100
|
+
export function InvalidAriaProp(): React.ReactElement {
|
|
101
|
+
return <div aria-invalid-prop="true">Content</div>;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// jsx-a11y/aria-role - Invalid role
|
|
105
|
+
export function InvalidRole(): React.ReactElement {
|
|
106
|
+
return <div role="invalid-role">Content</div>;
|
|
107
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test file for ESLint-specific rules
|
|
3
|
+
* These rules are handled by ESLint, not oxlint
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
// simple-import-sort/imports - Unsorted imports
|
|
7
|
+
import type { ReactElement } from "react";
|
|
8
|
+
import { useEffect,useState } from "react";
|
|
9
|
+
import React from "react";
|
|
10
|
+
|
|
11
|
+
// simple-import-sort/exports - Unsorted exports
|
|
12
|
+
export { BadImportOrder };
|
|
13
|
+
export { HookIssues };
|
|
14
|
+
|
|
15
|
+
// react-hooks/rules-of-hooks - Hook called conditionally
|
|
16
|
+
function BadImportOrder(): ReactElement {
|
|
17
|
+
return <div>Testing import order</div>;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// react-hooks/exhaustive-deps - Missing dependency
|
|
21
|
+
function HookIssues({ id }: { id: string }): ReactElement {
|
|
22
|
+
const [data, setData] = useState<string | null>(null);
|
|
23
|
+
const [count, setCount] = useState(0);
|
|
24
|
+
|
|
25
|
+
// react-hooks/rules-of-hooks - Hook in condition (would be caught)
|
|
26
|
+
// Commenting out as it causes runtime errors
|
|
27
|
+
// if (id) {
|
|
28
|
+
// const [conditionalState] = useState(0);
|
|
29
|
+
// }
|
|
30
|
+
|
|
31
|
+
// react-hooks/exhaustive-deps - Missing 'id' and 'count' in deps
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
setData(`Data for ${id}, count: ${count}`);
|
|
34
|
+
}, []); // Missing dependencies
|
|
35
|
+
|
|
36
|
+
return <div onClick={() => setCount(count + 1)}>{data}</div>;
|
|
37
|
+
}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test file for general JavaScript/TypeScript lint issues
|
|
3
|
+
* This file intentionally contains code that violates general rules
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
// no-debugger - Debugger statement
|
|
7
|
+
export function withDebugger(): void {
|
|
8
|
+
console.log("debugging");
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
// no-console - Console statements
|
|
12
|
+
export function withConsole(): void {
|
|
13
|
+
console.log("info");
|
|
14
|
+
console.warn("warning");
|
|
15
|
+
console.error("error");
|
|
16
|
+
console.debug("debug");
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// curly - Missing curly braces
|
|
20
|
+
export function noCurly(x: number): number {
|
|
21
|
+
if (x > 0) {
|
|
22
|
+
return x;
|
|
23
|
+
} else {
|
|
24
|
+
return -x;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// eqeqeq - Using == instead of ===
|
|
29
|
+
export function looseEquality(a: unknown, b: unknown): boolean {
|
|
30
|
+
if (a == b) {
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
if (a != b) {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
return a == null;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// no-template-curly-in-string - Template literal syntax in regular string
|
|
40
|
+
export function templateInString(): string {
|
|
41
|
+
const name = "World";
|
|
42
|
+
return "Hello ${name}!";
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// no-unsafe-optional-chaining - Unsafe optional chaining
|
|
46
|
+
export function unsafeOptionalChaining(
|
|
47
|
+
obj: { a?: { b: number } } | null,
|
|
48
|
+
): number {
|
|
49
|
+
return 1 + obj?.a?.b;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// array-callback-return - Missing return in array callback
|
|
53
|
+
export function noArrayReturn(arr: number[]): number[] {
|
|
54
|
+
return arr.map((x) => {
|
|
55
|
+
const result = x * 2;
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// no-constructor-return - Returning from constructor
|
|
60
|
+
export class ConstructorReturn {
|
|
61
|
+
value: number;
|
|
62
|
+
|
|
63
|
+
constructor() {
|
|
64
|
+
this.value = 1;
|
|
65
|
+
return { value: 2 };
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// no-self-compare - Comparing variable to itself
|
|
70
|
+
export function selfCompare(x: number): boolean {
|
|
71
|
+
return x === x;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// no-unreachable-loop - Loop that only runs once
|
|
75
|
+
export function unreachableLoop(arr: number[]): number | undefined {
|
|
76
|
+
for (const item of arr) {
|
|
77
|
+
return item;
|
|
78
|
+
}
|
|
79
|
+
return undefined;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// no-unused-private-class-members - Unused private member
|
|
83
|
+
export class UnusedPrivate {
|
|
84
|
+
#unusedField = 42;
|
|
85
|
+
usedField = 1;
|
|
86
|
+
|
|
87
|
+
getUsed(): number {
|
|
88
|
+
return this.usedField;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// prefer-template - String concatenation instead of template
|
|
93
|
+
export function stringConcat(a: string, b: string): string {
|
|
94
|
+
return a + " " + b;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
// camelcase - Non-camelCase variable names
|
|
98
|
+
export function bad_naming(): void {
|
|
99
|
+
const my_variable = 1;
|
|
100
|
+
const another_one = 2;
|
|
101
|
+
console.log(my_variable, another_one);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// oxc/missing-throw - Forgotten throw
|
|
105
|
+
export function missingThrow(): void {
|
|
106
|
+
new Error("This error is never thrown");
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// oxc/bad-comparison-sequence - Bad comparison
|
|
110
|
+
export function badComparison(a: number, b: number, c: number): boolean {
|
|
111
|
+
return a < b < c;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// oxc/double-comparisons - Redundant comparison
|
|
115
|
+
export function doubleComparison(x: number): boolean {
|
|
116
|
+
return x >= 0 && x >= 0;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
// unicorn/no-new-array - new Array usage
|
|
120
|
+
export function newArrayUsage(): number[] {
|
|
121
|
+
return new Array(5);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
// unicorn/prefer-array-flat - Manual array flattening
|
|
125
|
+
export function manualFlatten(arr: number[][]): number[] {
|
|
126
|
+
return [].concat(...arr);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// unicorn/prefer-includes - indexOf instead of includes
|
|
130
|
+
export function useIndexOf(arr: string[], item: string): boolean {
|
|
131
|
+
return arr.indexOf(item) !== -1;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
// unicorn/prefer-string-starts-ends-with - Manual string check
|
|
135
|
+
export function manualStartsWith(str: string, prefix: string): boolean {
|
|
136
|
+
return str.slice(0, prefix.length) === prefix;
|
|
137
|
+
}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test file for i18n literal string issues
|
|
3
|
+
* This file intentionally contains hardcoded strings that should be translated
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import React from "react";
|
|
7
|
+
|
|
8
|
+
// Literal strings in JSX text content
|
|
9
|
+
export function HardcodedStrings(): React.ReactElement {
|
|
10
|
+
return (
|
|
11
|
+
<div>
|
|
12
|
+
<h1>Welcome to our application</h1>
|
|
13
|
+
<p>This is a paragraph with hardcoded text that should be translated.</p>
|
|
14
|
+
<button>Click here to continue</button>
|
|
15
|
+
<span>Error: Something went wrong</span>
|
|
16
|
+
<label>Enter your email address</label>
|
|
17
|
+
</div>
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// Literal strings in JSX attributes (non-excluded)
|
|
22
|
+
export function HardcodedAttributes(): React.ReactElement {
|
|
23
|
+
return (
|
|
24
|
+
<div>
|
|
25
|
+
<button aria-label="Close modal">X</button>
|
|
26
|
+
<input placeholder="Enter your name" />
|
|
27
|
+
<img src="/logo.png" alt="Company logo" title="Our awesome logo" />
|
|
28
|
+
</div>
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// Literal strings in component props
|
|
33
|
+
export function HardcodedProps(): React.ReactElement {
|
|
34
|
+
return (
|
|
35
|
+
<div>
|
|
36
|
+
<CustomButton label="Submit form" />
|
|
37
|
+
<CustomInput errorMessage="This field is required" />
|
|
38
|
+
<Notification message="Your changes have been saved" />
|
|
39
|
+
</div>
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// Literal strings in variables used in JSX
|
|
44
|
+
export function HardcodedVariables(): React.ReactElement {
|
|
45
|
+
const title = "Dashboard";
|
|
46
|
+
const subtitle = "View your analytics";
|
|
47
|
+
const errorMsg = "Failed to load data";
|
|
48
|
+
|
|
49
|
+
return (
|
|
50
|
+
<div>
|
|
51
|
+
<h1>{title}</h1>
|
|
52
|
+
<h2>{subtitle}</h2>
|
|
53
|
+
<p>{errorMsg}</p>
|
|
54
|
+
</div>
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// Literal strings in conditional rendering
|
|
59
|
+
export function ConditionalStrings({
|
|
60
|
+
isError,
|
|
61
|
+
}: {
|
|
62
|
+
isError: boolean;
|
|
63
|
+
}): React.ReactElement {
|
|
64
|
+
return (
|
|
65
|
+
<div>
|
|
66
|
+
{isError ? (
|
|
67
|
+
<span>An error occurred</span>
|
|
68
|
+
) : (
|
|
69
|
+
<span>Operation successful</span>
|
|
70
|
+
)}
|
|
71
|
+
</div>
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// Literal strings in array rendering
|
|
76
|
+
export function ArrayStrings(): React.ReactElement {
|
|
77
|
+
const menuItems = ["Home", "About", "Contact", "Settings"];
|
|
78
|
+
|
|
79
|
+
return (
|
|
80
|
+
<nav>
|
|
81
|
+
{menuItems.map((item, index) => (
|
|
82
|
+
<a key={index} href="#">
|
|
83
|
+
{item}
|
|
84
|
+
</a>
|
|
85
|
+
))}
|
|
86
|
+
</nav>
|
|
87
|
+
);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// Literal strings in object properties used for display
|
|
91
|
+
export function ObjectStrings(): React.ReactElement {
|
|
92
|
+
const config = {
|
|
93
|
+
title: "Application Settings",
|
|
94
|
+
description: "Manage your preferences here",
|
|
95
|
+
saveButton: "Save Changes",
|
|
96
|
+
cancelButton: "Discard",
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
return (
|
|
100
|
+
<div>
|
|
101
|
+
<h2>{config.title}</h2>
|
|
102
|
+
<p>{config.description}</p>
|
|
103
|
+
<button>{config.saveButton}</button>
|
|
104
|
+
<button>{config.cancelButton}</button>
|
|
105
|
+
</div>
|
|
106
|
+
);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// Mock components for props testing
|
|
110
|
+
function CustomButton({ label }: { label: string }): React.ReactElement {
|
|
111
|
+
return <button>{label}</button>;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
function CustomInput({
|
|
115
|
+
errorMessage,
|
|
116
|
+
}: {
|
|
117
|
+
errorMessage: string;
|
|
118
|
+
}): React.ReactElement {
|
|
119
|
+
return (
|
|
120
|
+
<div>
|
|
121
|
+
<input />
|
|
122
|
+
<span>{errorMessage}</span>
|
|
123
|
+
</div>
|
|
124
|
+
);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
function Notification({ message }: { message: string }): React.ReactElement {
|
|
128
|
+
return <div className="notification">{message}</div>;
|
|
129
|
+
}
|
package/src/app/api/[locale]/system/check/test-project/src/test-issues/jsx-capitalization-issues.tsx
ADDED
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test file for jsx-capitalization plugin issues
|
|
3
|
+
* This file intentionally contains lowercase HTML elements that should use components
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import React from "react";
|
|
7
|
+
|
|
8
|
+
// ============================================================
|
|
9
|
+
// Rule: Lowercase 'div' element
|
|
10
|
+
// Expected error: "Use platform-independent <Div> component..."
|
|
11
|
+
// ============================================================
|
|
12
|
+
export function ComponentWithDiv(): React.ReactElement {
|
|
13
|
+
return <div className="container">Content in div</div>;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// ============================================================
|
|
17
|
+
// Rule: Typography element 'p'
|
|
18
|
+
// Expected error: "Use typography component <P> instead of <p>..."
|
|
19
|
+
// ============================================================
|
|
20
|
+
export function ComponentWithP(): React.ReactElement {
|
|
21
|
+
return <p className="paragraph">Paragraph content</p>;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// ============================================================
|
|
25
|
+
// Rule: Typography element 'h1'
|
|
26
|
+
// Expected error: "Use typography component <H1> instead of <h1>..."
|
|
27
|
+
// ============================================================
|
|
28
|
+
export function ComponentWithH1(): React.ReactElement {
|
|
29
|
+
return <h1 className="title">Heading content</h1>;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// ============================================================
|
|
33
|
+
// Rule: Anchor element should use Link
|
|
34
|
+
// Expected error: "Use platform-independent <Link> component instead of <a>..."
|
|
35
|
+
// ============================================================
|
|
36
|
+
export function ComponentWithAnchor(): React.ReactElement {
|
|
37
|
+
return <a href="/test">Link text</a>;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// ============================================================
|
|
41
|
+
// Rule: Standalone element 'span'
|
|
42
|
+
// Expected error: "Use platform-independent <Span> component..."
|
|
43
|
+
// ============================================================
|
|
44
|
+
export function ComponentWithSpan(): React.ReactElement {
|
|
45
|
+
return <span className="highlight">Highlighted text</span>;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// ============================================================
|
|
49
|
+
// Rule: Common UI element 'button'
|
|
50
|
+
// Expected error: "Use platform-independent <Button> component..."
|
|
51
|
+
// ============================================================
|
|
52
|
+
export function ComponentWithButton(): React.ReactElement {
|
|
53
|
+
return <button type="button">Click me</button>;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// ============================================================
|
|
57
|
+
// Rule: Common UI element 'input'
|
|
58
|
+
// Expected error: "Use platform-independent <Input> component..."
|
|
59
|
+
// ============================================================
|
|
60
|
+
export function ComponentWithInput(): React.ReactElement {
|
|
61
|
+
return <input type="text" placeholder="Enter text" />;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// ============================================================
|
|
65
|
+
// Rule: Image element
|
|
66
|
+
// Expected error: "Use platform-independent <Image> component..."
|
|
67
|
+
// ============================================================
|
|
68
|
+
export function ComponentWithImg(): React.ReactElement {
|
|
69
|
+
return <img src="/test.png" alt="Test" />;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// ============================================================
|
|
73
|
+
// Rule: SVG elements
|
|
74
|
+
// Expected error: "SVG element <svg> detected. For icons, use components from next-vibe-ui/ui/icons..."
|
|
75
|
+
// ============================================================
|
|
76
|
+
export function ComponentWithSvg(): React.ReactElement {
|
|
77
|
+
return (
|
|
78
|
+
<svg viewBox="0 0 100 100">
|
|
79
|
+
<circle cx="50" cy="50" r="40" />
|
|
80
|
+
</svg>
|
|
81
|
+
);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// ============================================================
|
|
85
|
+
// Rule: Common UI element 'ul/li'
|
|
86
|
+
// Expected errors for ul and li
|
|
87
|
+
// ============================================================
|
|
88
|
+
export function ComponentWithList(): React.ReactElement {
|
|
89
|
+
return (
|
|
90
|
+
<ul>
|
|
91
|
+
<li>Item 1</li>
|
|
92
|
+
<li>Item 2</li>
|
|
93
|
+
</ul>
|
|
94
|
+
);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
// ============================================================
|
|
98
|
+
// Rule: Common UI element 'form'
|
|
99
|
+
// Expected error: "Use platform-independent <Form> component..."
|
|
100
|
+
// ============================================================
|
|
101
|
+
export function ComponentWithForm(): React.ReactElement {
|
|
102
|
+
return (
|
|
103
|
+
<form>
|
|
104
|
+
<label htmlFor="name">Name</label>
|
|
105
|
+
<input id="name" type="text" />
|
|
106
|
+
</form>
|
|
107
|
+
);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// ============================================================
|
|
111
|
+
// Rule: Common UI element 'section'
|
|
112
|
+
// Expected error: "Use platform-independent <Section> component..."
|
|
113
|
+
// ============================================================
|
|
114
|
+
export function ComponentWithSection(): React.ReactElement {
|
|
115
|
+
return <section className="hero">Hero section</section>;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// ============================================================
|
|
119
|
+
// Valid: Capitalized component (should NOT trigger error)
|
|
120
|
+
// ============================================================
|
|
121
|
+
export function ValidComponentUsage(): React.ReactElement {
|
|
122
|
+
return <ValidComponent>This is valid</ValidComponent>;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
function ValidComponent({
|
|
126
|
+
children,
|
|
127
|
+
}: {
|
|
128
|
+
children: React.ReactNode;
|
|
129
|
+
}): React.ReactElement {
|
|
130
|
+
return <>{children}</>;
|
|
131
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test file for Next.js-specific lint issues
|
|
3
|
+
* This file intentionally contains code that violates Next.js best practices
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import React from "react";
|
|
7
|
+
|
|
8
|
+
// nextjs/no-img-element - Using <img> instead of next/image
|
|
9
|
+
export function ImgElement(): React.ReactElement {
|
|
10
|
+
return (
|
|
11
|
+
<div>
|
|
12
|
+
<img src="/photo.jpg" alt="Photo" width={300} height={200} />
|
|
13
|
+
</div>
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
// nextjs/no-html-link-for-pages - Using <a> for internal navigation
|
|
18
|
+
export function HtmlLink(): React.ReactElement {
|
|
19
|
+
return (
|
|
20
|
+
<nav>
|
|
21
|
+
<a href="/about">About</a>
|
|
22
|
+
<a href="/contact">Contact</a>
|
|
23
|
+
<a href="/dashboard/settings">Settings</a>
|
|
24
|
+
</nav>
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// nextjs/no-head-element - Using <head> instead of next/head
|
|
29
|
+
export function HeadElement(): React.ReactElement {
|
|
30
|
+
return (
|
|
31
|
+
<html>
|
|
32
|
+
<head>
|
|
33
|
+
<title>My Page</title>
|
|
34
|
+
<meta name="description" content="My page description" />
|
|
35
|
+
</head>
|
|
36
|
+
<body>
|
|
37
|
+
<div>Content</div>
|
|
38
|
+
</body>
|
|
39
|
+
</html>
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// nextjs/no-sync-scripts - Synchronous script loading
|
|
44
|
+
export function SyncScript(): React.ReactElement {
|
|
45
|
+
return (
|
|
46
|
+
<div>
|
|
47
|
+
<script src="https://example.com/script.js" />
|
|
48
|
+
</div>
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// nextjs/no-css-tags - Using <link> for CSS
|
|
53
|
+
export function CssLink(): React.ReactElement {
|
|
54
|
+
return (
|
|
55
|
+
<>
|
|
56
|
+
<link rel="stylesheet" href="/styles.css" />
|
|
57
|
+
<div>Styled content</div>
|
|
58
|
+
</>
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// Google Fonts issues
|
|
63
|
+
export function GoogleFonts(): React.ReactElement {
|
|
64
|
+
return (
|
|
65
|
+
<>
|
|
66
|
+
{/* nextjs/google-font-display - Missing font-display */}
|
|
67
|
+
<link
|
|
68
|
+
href="https://fonts.googleapis.com/css2?family=Roboto"
|
|
69
|
+
rel="stylesheet"
|
|
70
|
+
/>
|
|
71
|
+
{/* nextjs/google-font-preconnect - Missing preconnect */}
|
|
72
|
+
<link
|
|
73
|
+
href="https://fonts.googleapis.com/css2?family=Open+Sans&display=swap"
|
|
74
|
+
rel="stylesheet"
|
|
75
|
+
/>
|
|
76
|
+
<div>Text with Google Font</div>
|
|
77
|
+
</>
|
|
78
|
+
);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// Document-specific issues (these would normally be in _document)
|
|
82
|
+
export function DocumentIssues(): React.ReactElement {
|
|
83
|
+
return (
|
|
84
|
+
<html>
|
|
85
|
+
{/* Missing lang attribute - jsx-a11y/html-has-lang */}
|
|
86
|
+
<head>
|
|
87
|
+
{/* nextjs/no-title-in-document-head - Title in document */}
|
|
88
|
+
<title>Document Title</title>
|
|
89
|
+
</head>
|
|
90
|
+
<body>
|
|
91
|
+
<div>Page content</div>
|
|
92
|
+
</body>
|
|
93
|
+
</html>
|
|
94
|
+
);
|
|
95
|
+
}
|