@next-vibe/checker 1.0.52 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +669 -5
- package/README.md +179 -200
- package/check.config.ts +85 -16
- package/generated/alias-map.ts +30 -0
- package/generated/endpoint.ts +75 -0
- package/{src/app/api/[locale]/system/check/oxlint/plugins/i18n/src/index.ts → oxlint-plugins/i18n.ts} +45 -9
- package/{src/app/api/[locale]/system/check/oxlint/plugins/jsx-capitalization/src/index.ts → oxlint-plugins/jsx-capitalization.ts} +84 -17
- package/{src/app/api/[locale]/system/check/oxlint/plugins/restricted-syntax/src/index.ts → oxlint-plugins/restricted-syntax.ts} +40 -14
- package/package.json +28 -132
- package/.dist/LICENSE +0 -674
- package/.dist/README.md +0 -257
- package/.dist/bin/vibe-runtime.js +0 -58166
- package/.dist/bin/vibe-runtime.js.map +0 -451
- package/.dist/oxlint-plugins/i18n.js +0 -381
- package/.dist/oxlint-plugins/jsx-capitalization.js +0 -436
- package/.dist/oxlint-plugins/restricted-syntax.js +0 -409
- package/src/app/api/[locale]/LICENSE +0 -674
- package/src/app/api/[locale]/i18n/de/index.ts +0 -15
- package/src/app/api/[locale]/i18n/en/index.ts +0 -14
- package/src/app/api/[locale]/i18n/pl/index.ts +0 -13
- package/src/app/api/[locale]/shared/i18n/de/index.ts +0 -85
- package/src/app/api/[locale]/shared/i18n/en/index.ts +0 -83
- package/src/app/api/[locale]/shared/i18n/pl/index.ts +0 -85
- package/src/app/api/[locale]/shared/stats-filtering.ts +0 -174
- package/src/app/api/[locale]/shared/types/common.schema.ts +0 -55
- package/src/app/api/[locale]/shared/types/response.schema.ts +0 -411
- package/src/app/api/[locale]/shared/types/stats-filtering.schema.ts +0 -315
- package/src/app/api/[locale]/shared/types/utils.ts +0 -187
- package/src/app/api/[locale]/shared/utils/base64.ts +0 -46
- package/src/app/api/[locale]/shared/utils/env-util.ts +0 -36
- package/src/app/api/[locale]/shared/utils/i18n/de/index.ts +0 -21
- package/src/app/api/[locale]/shared/utils/i18n/en/index.ts +0 -19
- package/src/app/api/[locale]/shared/utils/i18n/pl/index.ts +0 -21
- package/src/app/api/[locale]/shared/utils/index.ts +0 -11
- package/src/app/api/[locale]/shared/utils/object-path.ts +0 -41
- package/src/app/api/[locale]/shared/utils/object.test.ts +0 -82
- package/src/app/api/[locale]/shared/utils/object.ts +0 -73
- package/src/app/api/[locale]/shared/utils/parse-error.ts +0 -134
- package/src/app/api/[locale]/shared/utils/parse-json.ts +0 -62
- package/src/app/api/[locale]/shared/utils/time.ts +0 -46
- package/src/app/api/[locale]/shared/utils/validation.ts +0 -117
- package/src/app/api/[locale]/shared/utils/zod-required-fields.ts +0 -115
- package/src/app/api/[locale]/system/builder/definition.ts +0 -1750
- package/src/app/api/[locale]/system/builder/enum.ts +0 -78
- package/src/app/api/[locale]/system/builder/i18n/de/index.ts +0 -645
- package/src/app/api/[locale]/system/builder/i18n/en/index.ts +0 -653
- package/src/app/api/[locale]/system/builder/i18n/pl/index.ts +0 -643
- package/src/app/api/[locale]/system/builder/repository/build-executor.test.ts +0 -178
- package/src/app/api/[locale]/system/builder/repository/build-executor.ts +0 -538
- package/src/app/api/[locale]/system/builder/repository/bun-compiler.ts +0 -250
- package/src/app/api/[locale]/system/builder/repository/bundle-analyzer.ts +0 -170
- package/src/app/api/[locale]/system/builder/repository/config-loader.ts +0 -146
- package/src/app/api/[locale]/system/builder/repository/config-validator.ts +0 -97
- package/src/app/api/[locale]/system/builder/repository/constants.ts +0 -125
- package/src/app/api/[locale]/system/builder/repository/error-suggester.ts +0 -67
- package/src/app/api/[locale]/system/builder/repository/file-copier.ts +0 -90
- package/src/app/api/[locale]/system/builder/repository/folder-cleaner.ts +0 -75
- package/src/app/api/[locale]/system/builder/repository/index.ts +0 -2
- package/src/app/api/[locale]/system/builder/repository/npm-package-generator.ts +0 -143
- package/src/app/api/[locale]/system/builder/repository/output-formatter.ts +0 -104
- package/src/app/api/[locale]/system/builder/repository/profile-service.ts +0 -79
- package/src/app/api/[locale]/system/builder/repository/report-generator.ts +0 -109
- package/src/app/api/[locale]/system/builder/repository/vite-compiler.ts +0 -277
- package/src/app/api/[locale]/system/builder/route.ts +0 -21
- package/src/app/api/[locale]/system/builder/test-files/file1.ts +0 -2
- package/src/app/api/[locale]/system/builder/test-files/file2.tsx +0 -10
- package/src/app/api/[locale]/system/builder/test-files/file3.tsx +0 -16
- package/src/app/api/[locale]/system/builder/test-files/folderToCopy/fileInFolder.ts +0 -2
- package/src/app/api/[locale]/system/builder/test-files/test-config.ts +0 -38
- package/src/app/api/[locale]/system/builder/test-files/test-delete-config.ts +0 -8
- package/src/app/api/[locale]/system/builder/test-files/test-project/package.json +0 -24
- package/src/app/api/[locale]/system/builder/test-files/test-project/src/constants.ts +0 -6
- package/src/app/api/[locale]/system/builder/test-files/test-project/src/greet.ts +0 -18
- package/src/app/api/[locale]/system/builder/test-files/test-project/src/index.ts +0 -7
- package/src/app/api/[locale]/system/builder/test-files/test-project/src/utils/calculate.ts +0 -27
- package/src/app/api/[locale]/system/builder/test-files/test-project/tsconfig.json +0 -19
- package/src/app/api/[locale]/system/builder/test-files/test-project/tsconfig.tsbuildinfo +0 -1
- package/src/app/api/[locale]/system/builder/test-files/test3.css +0 -1
- package/src/app/api/[locale]/system/check/config/create/definition.ts +0 -266
- package/src/app/api/[locale]/system/check/config/create/i18n/de/index.ts +0 -151
- package/src/app/api/[locale]/system/check/config/create/i18n/en/index.ts +0 -146
- package/src/app/api/[locale]/system/check/config/create/i18n/pl/index.ts +0 -148
- package/src/app/api/[locale]/system/check/config/create/repository.ts +0 -269
- package/src/app/api/[locale]/system/check/config/create/route.ts +0 -21
- package/src/app/api/[locale]/system/check/config/repository.ts +0 -846
- package/src/app/api/[locale]/system/check/config/shared.ts +0 -364
- package/src/app/api/[locale]/system/check/config/types.ts +0 -610
- package/src/app/api/[locale]/system/check/config/utils.ts +0 -155
- package/src/app/api/[locale]/system/check/i18n/de/index.ts +0 -19
- package/src/app/api/[locale]/system/check/i18n/en/index.ts +0 -18
- package/src/app/api/[locale]/system/check/i18n/pl/index.ts +0 -19
- package/src/app/api/[locale]/system/check/lint/definition.ts +0 -383
- package/src/app/api/[locale]/system/check/lint/enum.ts +0 -34
- package/src/app/api/[locale]/system/check/lint/i18n/de/index.ts +0 -160
- package/src/app/api/[locale]/system/check/lint/i18n/en/index.ts +0 -158
- package/src/app/api/[locale]/system/check/lint/i18n/pl/index.ts +0 -160
- package/src/app/api/[locale]/system/check/lint/repository.ts +0 -844
- package/src/app/api/[locale]/system/check/lint/route.ts +0 -21
- package/src/app/api/[locale]/system/check/oxlint/README.md +0 -190
- package/src/app/api/[locale]/system/check/oxlint/definition.ts +0 -375
- package/src/app/api/[locale]/system/check/oxlint/enum.ts +0 -34
- package/src/app/api/[locale]/system/check/oxlint/i18n/de/index.ts +0 -166
- package/src/app/api/[locale]/system/check/oxlint/i18n/en/index.ts +0 -164
- package/src/app/api/[locale]/system/check/oxlint/i18n/pl/index.ts +0 -166
- package/src/app/api/[locale]/system/check/oxlint/plugins/jsx-capitalization/README.md +0 -269
- package/src/app/api/[locale]/system/check/oxlint/plugins/restricted-syntax/test.tsx +0 -74
- package/src/app/api/[locale]/system/check/oxlint/plugins/shared/config-loader.ts +0 -283
- package/src/app/api/[locale]/system/check/oxlint/repository.ts +0 -553
- package/src/app/api/[locale]/system/check/oxlint/route.ts +0 -21
- package/src/app/api/[locale]/system/check/oxlint/types.ts +0 -191
- package/src/app/api/[locale]/system/check/test-project/.vscode/settings.json +0 -48
- package/src/app/api/[locale]/system/check/test-project/bun.lock +0 -640
- package/src/app/api/[locale]/system/check/test-project/check.config.ts +0 -955
- package/src/app/api/[locale]/system/check/test-project/package.json +0 -17
- package/src/app/api/[locale]/system/check/test-project/src/constants.ts +0 -6
- package/src/app/api/[locale]/system/check/test-project/src/greet.ts +0 -18
- package/src/app/api/[locale]/system/check/test-project/src/test-issues/a11y-issues.tsx +0 -107
- package/src/app/api/[locale]/system/check/test-project/src/test-issues/eslint-issues.tsx +0 -37
- package/src/app/api/[locale]/system/check/test-project/src/test-issues/general-issues.ts +0 -135
- package/src/app/api/[locale]/system/check/test-project/src/test-issues/i18n-issues.tsx +0 -113
- package/src/app/api/[locale]/system/check/test-project/src/test-issues/jsx-capitalization-issues.tsx +0 -127
- package/src/app/api/[locale]/system/check/test-project/src/test-issues/nextjs-issues.tsx +0 -92
- package/src/app/api/[locale]/system/check/test-project/src/test-issues/promise-issues.ts +0 -73
- package/src/app/api/[locale]/system/check/test-project/src/test-issues/react-issues.tsx +0 -95
- package/src/app/api/[locale]/system/check/test-project/src/test-issues/restricted-syntax-issues.tsx +0 -61
- package/src/app/api/[locale]/system/check/test-project/src/test-issues/typescript-issues.ts +0 -78
- package/src/app/api/[locale]/system/check/test-project/src/utils/calculate.ts +0 -27
- package/src/app/api/[locale]/system/check/test-project/tsconfig.json +0 -22
- package/src/app/api/[locale]/system/check/test-project/tsconfig.tsbuildinfo +0 -1
- package/src/app/api/[locale]/system/check/typecheck/definition.ts +0 -328
- package/src/app/api/[locale]/system/check/typecheck/enum.ts +0 -34
- package/src/app/api/[locale]/system/check/typecheck/i18n/de/index.ts +0 -148
- package/src/app/api/[locale]/system/check/typecheck/i18n/en/index.ts +0 -145
- package/src/app/api/[locale]/system/check/typecheck/i18n/pl/index.ts +0 -148
- package/src/app/api/[locale]/system/check/typecheck/repository.ts +0 -863
- package/src/app/api/[locale]/system/check/typecheck/route.ts +0 -21
- package/src/app/api/[locale]/system/check/typecheck/utils.ts +0 -160
- package/src/app/api/[locale]/system/check/vibe-check/definition.ts +0 -448
- package/src/app/api/[locale]/system/check/vibe-check/enum.ts +0 -63
- package/src/app/api/[locale]/system/check/vibe-check/i18n/de/index.ts +0 -164
- package/src/app/api/[locale]/system/check/vibe-check/i18n/en/index.ts +0 -161
- package/src/app/api/[locale]/system/check/vibe-check/i18n/pl/index.ts +0 -163
- package/src/app/api/[locale]/system/check/vibe-check/repository.ts +0 -516
- package/src/app/api/[locale]/system/check/vibe-check/route.test.ts +0 -1010
- package/src/app/api/[locale]/system/check/vibe-check/route.ts +0 -21
- package/src/app/api/[locale]/system/generated/endpoint.ts +0 -274
- package/src/app/api/[locale]/system/generated/endpoints.ts +0 -138
- package/src/app/api/[locale]/system/generated/route-handlers.ts +0 -213
- package/src/app/api/[locale]/system/generators/endpoint/definition.ts +0 -167
- package/src/app/api/[locale]/system/generators/endpoint/i18n/de/index.ts +0 -48
- package/src/app/api/[locale]/system/generators/endpoint/i18n/en/index.ts +0 -48
- package/src/app/api/[locale]/system/generators/endpoint/i18n/pl/index.ts +0 -50
- package/src/app/api/[locale]/system/generators/endpoint/repository.ts +0 -286
- package/src/app/api/[locale]/system/generators/endpoint/route.ts +0 -18
- package/src/app/api/[locale]/system/generators/endpoints/definition.ts +0 -246
- package/src/app/api/[locale]/system/generators/endpoints/i18n/de/index.ts +0 -54
- package/src/app/api/[locale]/system/generators/endpoints/i18n/en/index.ts +0 -52
- package/src/app/api/[locale]/system/generators/endpoints/i18n/pl/index.ts +0 -54
- package/src/app/api/[locale]/system/generators/endpoints/options-repository.ts +0 -425
- package/src/app/api/[locale]/system/generators/endpoints/repository.ts +0 -368
- package/src/app/api/[locale]/system/generators/endpoints/route.ts +0 -17
- package/src/app/api/[locale]/system/generators/endpoints-index/definition.ts +0 -166
- package/src/app/api/[locale]/system/generators/endpoints-index/i18n/de/index.ts +0 -71
- package/src/app/api/[locale]/system/generators/endpoints-index/i18n/en/index.ts +0 -69
- package/src/app/api/[locale]/system/generators/endpoints-index/i18n/pl/index.ts +0 -71
- package/src/app/api/[locale]/system/generators/endpoints-index/repository.ts +0 -279
- package/src/app/api/[locale]/system/generators/endpoints-index/route.ts +0 -18
- package/src/app/api/[locale]/system/generators/generate-all/definition.ts +0 -327
- package/src/app/api/[locale]/system/generators/generate-all/i18n/de/index.ts +0 -96
- package/src/app/api/[locale]/system/generators/generate-all/i18n/en/index.ts +0 -94
- package/src/app/api/[locale]/system/generators/generate-all/i18n/pl/index.ts +0 -96
- package/src/app/api/[locale]/system/generators/generate-all/repository.ts +0 -240
- package/src/app/api/[locale]/system/generators/generate-all/route.ts +0 -19
- package/src/app/api/[locale]/system/generators/i18n/de/index.ts +0 -15
- package/src/app/api/[locale]/system/generators/i18n/en/index.ts +0 -14
- package/src/app/api/[locale]/system/generators/i18n/pl/index.ts +0 -15
- package/src/app/api/[locale]/system/generators/route-handlers/definition.ts +0 -178
- package/src/app/api/[locale]/system/generators/route-handlers/i18n/de/index.ts +0 -48
- package/src/app/api/[locale]/system/generators/route-handlers/i18n/en/index.ts +0 -48
- package/src/app/api/[locale]/system/generators/route-handlers/i18n/pl/index.ts +0 -50
- package/src/app/api/[locale]/system/generators/route-handlers/repository.ts +0 -267
- package/src/app/api/[locale]/system/generators/route-handlers/route.ts +0 -14
- package/src/app/api/[locale]/system/generators/shared/utils.ts +0 -215
- package/src/app/api/[locale]/system/help/definition.ts +0 -433
- package/src/app/api/[locale]/system/help/i18n/de/index.ts +0 -263
- package/src/app/api/[locale]/system/help/i18n/en/index.ts +0 -259
- package/src/app/api/[locale]/system/help/i18n/pl/index.ts +0 -262
- package/src/app/api/[locale]/system/help/interactive/definition.ts +0 -122
- package/src/app/api/[locale]/system/help/interactive/i18n/de/index.ts +0 -21
- package/src/app/api/[locale]/system/help/interactive/i18n/en/index.ts +0 -19
- package/src/app/api/[locale]/system/help/interactive/i18n/pl/index.ts +0 -21
- package/src/app/api/[locale]/system/help/interactive/repository.ts +0 -1131
- package/src/app/api/[locale]/system/help/interactive/route.ts +0 -43
- package/src/app/api/[locale]/system/help/list/definition.ts +0 -362
- package/src/app/api/[locale]/system/help/list/repository.ts +0 -99
- package/src/app/api/[locale]/system/help/list/route.ts +0 -21
- package/src/app/api/[locale]/system/help/repository.ts +0 -238
- package/src/app/api/[locale]/system/help/route.ts +0 -16
- package/src/app/api/[locale]/system/i18n/de/index.ts +0 -67
- package/src/app/api/[locale]/system/i18n/en/index.ts +0 -66
- package/src/app/api/[locale]/system/i18n/pl/index.ts +0 -67
- package/src/app/api/[locale]/system/release-tool/definition.ts +0 -2925
- package/src/app/api/[locale]/system/release-tool/i18n/de/index.ts +0 -782
- package/src/app/api/[locale]/system/release-tool/i18n/en/index.ts +0 -779
- package/src/app/api/[locale]/system/release-tool/i18n/pl/index.ts +0 -781
- package/src/app/api/[locale]/system/release-tool/repository/asset-zipper.ts +0 -122
- package/src/app/api/[locale]/system/release-tool/repository/changelog-generator.ts +0 -205
- package/src/app/api/[locale]/system/release-tool/repository/ci-detector.ts +0 -540
- package/src/app/api/[locale]/system/release-tool/repository/config.ts +0 -106
- package/src/app/api/[locale]/system/release-tool/repository/constants.ts +0 -406
- package/src/app/api/[locale]/system/release-tool/repository/dependency-manager.ts +0 -496
- package/src/app/api/[locale]/system/release-tool/repository/git-service.ts +0 -378
- package/src/app/api/[locale]/system/release-tool/repository/hook-runner.ts +0 -96
- package/src/app/api/[locale]/system/release-tool/repository/index.ts +0 -1
- package/src/app/api/[locale]/system/release-tool/repository/notification-service.ts +0 -575
- package/src/app/api/[locale]/system/release-tool/repository/package-service.ts +0 -150
- package/src/app/api/[locale]/system/release-tool/repository/publisher.ts +0 -241
- package/src/app/api/[locale]/system/release-tool/repository/quality-runner.ts +0 -413
- package/src/app/api/[locale]/system/release-tool/repository/release-creator.ts +0 -283
- package/src/app/api/[locale]/system/release-tool/repository/release-executor.ts +0 -1084
- package/src/app/api/[locale]/system/release-tool/repository/snyk-service.ts +0 -132
- package/src/app/api/[locale]/system/release-tool/repository/utils.ts +0 -603
- package/src/app/api/[locale]/system/release-tool/repository/validation.ts +0 -265
- package/src/app/api/[locale]/system/release-tool/repository/version-service.ts +0 -275
- package/src/app/api/[locale]/system/release-tool/route.ts +0 -21
- package/src/app/api/[locale]/system/unified-interface/README.md +0 -328
- package/src/app/api/[locale]/system/unified-interface/cli/README.md +0 -349
- package/src/app/api/[locale]/system/unified-interface/cli/auth/cli-handler.ts +0 -82
- package/src/app/api/[locale]/system/unified-interface/cli/auth/cli-user.ts +0 -120
- package/src/app/api/[locale]/system/unified-interface/cli/auth/session-file.ts +0 -244
- package/src/app/api/[locale]/system/unified-interface/cli/env.ts +0 -24
- package/src/app/api/[locale]/system/unified-interface/cli/i18n/de/index.ts +0 -159
- package/src/app/api/[locale]/system/unified-interface/cli/i18n/en/index.ts +0 -158
- package/src/app/api/[locale]/system/unified-interface/cli/i18n/pl/index.ts +0 -159
- package/src/app/api/[locale]/system/unified-interface/cli/runtime/debug.ts +0 -573
- package/src/app/api/[locale]/system/unified-interface/cli/runtime/entry-point.ts +0 -128
- package/src/app/api/[locale]/system/unified-interface/cli/runtime/environment.ts +0 -155
- package/src/app/api/[locale]/system/unified-interface/cli/runtime/execution-errors.ts +0 -423
- package/src/app/api/[locale]/system/unified-interface/cli/runtime/parsing.ts +0 -252
- package/src/app/api/[locale]/system/unified-interface/cli/runtime/route-executor.ts +0 -901
- package/src/app/api/[locale]/system/unified-interface/cli/setup/i18n/de/index.ts +0 -12
- package/src/app/api/[locale]/system/unified-interface/cli/setup/i18n/en/index.ts +0 -11
- package/src/app/api/[locale]/system/unified-interface/cli/setup/i18n/pl/index.ts +0 -12
- package/src/app/api/[locale]/system/unified-interface/cli/setup/install/definition.ts +0 -235
- package/src/app/api/[locale]/system/unified-interface/cli/setup/install/i18n/de/index.ts +0 -54
- package/src/app/api/[locale]/system/unified-interface/cli/setup/install/i18n/en/index.ts +0 -52
- package/src/app/api/[locale]/system/unified-interface/cli/setup/install/i18n/pl/index.ts +0 -54
- package/src/app/api/[locale]/system/unified-interface/cli/setup/install/repository.ts +0 -444
- package/src/app/api/[locale]/system/unified-interface/cli/setup/install/route.ts +0 -25
- package/src/app/api/[locale]/system/unified-interface/cli/setup/status/definition.ts +0 -159
- package/src/app/api/[locale]/system/unified-interface/cli/setup/status/i18n/de/index.ts +0 -61
- package/src/app/api/[locale]/system/unified-interface/cli/setup/status/i18n/en/index.ts +0 -59
- package/src/app/api/[locale]/system/unified-interface/cli/setup/status/i18n/pl/index.ts +0 -61
- package/src/app/api/[locale]/system/unified-interface/cli/setup/status/repository.ts +0 -181
- package/src/app/api/[locale]/system/unified-interface/cli/setup/status/route.ts +0 -22
- package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/definition.ts +0 -164
- package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/i18n/de/index.ts +0 -54
- package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/i18n/en/index.ts +0 -52
- package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/i18n/pl/index.ts +0 -54
- package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/repository.ts +0 -195
- package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/route.ts +0 -24
- package/src/app/api/[locale]/system/unified-interface/cli/setup/update/definition.ts +0 -180
- package/src/app/api/[locale]/system/unified-interface/cli/setup/update/i18n/de/index.ts +0 -54
- package/src/app/api/[locale]/system/unified-interface/cli/setup/update/i18n/en/index.ts +0 -52
- package/src/app/api/[locale]/system/unified-interface/cli/setup/update/i18n/pl/index.ts +0 -54
- package/src/app/api/[locale]/system/unified-interface/cli/setup/update/repository.ts +0 -105
- package/src/app/api/[locale]/system/unified-interface/cli/setup/update/route.ts +0 -22
- package/src/app/api/[locale]/system/unified-interface/cli/vibe-runtime.ts +0 -264
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/core/base-renderer.ts +0 -246
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/core/registry.ts +0 -305
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/core/types.ts +0 -116
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/i18n/de/index.ts +0 -67
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/i18n/en/index.ts +0 -65
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/i18n/pl/index.ts +0 -67
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/accordion.ts +0 -70
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/avatar.ts +0 -37
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/badge.ts +0 -52
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/code-output.ts +0 -285
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/code-quality-files.ts +0 -71
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/code-quality-list.ts +0 -281
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/code-quality-summary.ts +0 -83
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/container.ts +0 -175
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/data-card.ts +0 -61
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/data-cards.ts +0 -518
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/data-list.ts +0 -75
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/data-table.ts +0 -357
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/editable-text.ts +0 -93
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/empty-state.ts +0 -49
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/errors.ts +0 -63
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/grouped-list.ts +0 -667
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/link-card.ts +0 -78
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/link-list.ts +0 -99
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/link.ts +0 -54
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/loading.ts +0 -46
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/markdown.ts +0 -123
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/metric.ts +0 -269
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/section.ts +0 -114
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/stats-grid.ts +0 -138
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/tabs.ts +0 -59
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/text.ts +0 -76
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/title.ts +0 -37
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/renderers/response-renderer.ts +0 -403
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/renderers/schema-handler.ts +0 -504
- package/src/app/api/[locale]/system/unified-interface/i18n/de/index.ts +0 -39
- package/src/app/api/[locale]/system/unified-interface/i18n/en/index.ts +0 -37
- package/src/app/api/[locale]/system/unified-interface/i18n/pl/index.ts +0 -39
- package/src/app/api/[locale]/system/unified-interface/mcp/README.md +0 -114
- package/src/app/api/[locale]/system/unified-interface/mcp/converter.ts +0 -136
- package/src/app/api/[locale]/system/unified-interface/mcp/i18n/de/index.ts +0 -180
- package/src/app/api/[locale]/system/unified-interface/mcp/i18n/en/index.ts +0 -178
- package/src/app/api/[locale]/system/unified-interface/mcp/i18n/pl/index.ts +0 -180
- package/src/app/api/[locale]/system/unified-interface/mcp/registry.ts +0 -305
- package/src/app/api/[locale]/system/unified-interface/mcp/serve/definition.ts +0 -124
- package/src/app/api/[locale]/system/unified-interface/mcp/serve/repository.ts +0 -44
- package/src/app/api/[locale]/system/unified-interface/mcp/serve/route.ts +0 -14
- package/src/app/api/[locale]/system/unified-interface/mcp/server/protocol-handler.ts +0 -291
- package/src/app/api/[locale]/system/unified-interface/mcp/server/server.ts +0 -155
- package/src/app/api/[locale]/system/unified-interface/mcp/server/stdio-transport.ts +0 -191
- package/src/app/api/[locale]/system/unified-interface/mcp/types.ts +0 -247
- package/src/app/api/[locale]/system/unified-interface/react/icons.tsx +0 -346
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/definition/create-form.ts +0 -1413
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/definition/create.ts +0 -525
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/definition/endpoint-to-metadata.ts +0 -52
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/definition/loader.ts +0 -144
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/definitions/registry.ts +0 -262
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/permissions/registry.ts +0 -656
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/route/executor.ts +0 -220
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/route/handler.ts +0 -313
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/route/multi.ts +0 -182
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/route/request-validator.ts +0 -173
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/route/single.ts +0 -58
- package/src/app/api/[locale]/system/unified-interface/shared/env/define-env-client.ts +0 -45
- package/src/app/api/[locale]/system/unified-interface/shared/env/define-env.ts +0 -43
- package/src/app/api/[locale]/system/unified-interface/shared/env/validation-logger.ts +0 -58
- package/src/app/api/[locale]/system/unified-interface/shared/field/enum.ts +0 -107
- package/src/app/api/[locale]/system/unified-interface/shared/field/specialized.ts +0 -336
- package/src/app/api/[locale]/system/unified-interface/shared/field/utils.test.ts +0 -385
- package/src/app/api/[locale]/system/unified-interface/shared/field/utils.ts +0 -1827
- package/src/app/api/[locale]/system/unified-interface/shared/field-config/endpoint-field-types.ts +0 -108
- package/src/app/api/[locale]/system/unified-interface/shared/field-config/field-config-types.ts +0 -288
- package/src/app/api/[locale]/system/unified-interface/shared/logger/colors.ts +0 -114
- package/src/app/api/[locale]/system/unified-interface/shared/logger/endpoint.ts +0 -155
- package/src/app/api/[locale]/system/unified-interface/shared/logger/file-logger.ts +0 -85
- package/src/app/api/[locale]/system/unified-interface/shared/logger/formatters.ts +0 -167
- package/src/app/api/[locale]/system/unified-interface/shared/server-only/auth/base-auth-handler.ts +0 -82
- package/src/app/api/[locale]/system/unified-interface/shared/server-only/auth/factory.ts +0 -34
- package/src/app/api/[locale]/system/unified-interface/shared/server-only/server-only.ts +0 -1
- package/src/app/api/[locale]/system/unified-interface/shared/types/actions.ts +0 -284
- package/src/app/api/[locale]/system/unified-interface/shared/types/endpoint.ts +0 -1101
- package/src/app/api/[locale]/system/unified-interface/shared/types/enums.ts +0 -383
- package/src/app/api/[locale]/system/unified-interface/shared/types/platform.ts +0 -34
- package/src/app/api/[locale]/system/unified-interface/shared/types/types.ts +0 -76
- package/src/app/api/[locale]/system/unified-interface/shared/types/ui-config.ts +0 -72
- package/src/app/api/[locale]/system/unified-interface/shared/utils/error-types.ts +0 -27
- package/src/app/api/[locale]/system/unified-interface/shared/utils/path.ts +0 -80
- package/src/app/api/[locale]/system/unified-interface/shared/utils/scanner.ts +0 -225
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/actions.ts +0 -251
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/configs.ts +0 -1060
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/helpers.ts +0 -70
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/accordion.ts +0 -75
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/avatar.ts +0 -69
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/badge.ts +0 -86
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/code-output.ts +0 -283
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/code-quality-list.ts +0 -190
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/container.ts +0 -114
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/data-card.ts +0 -71
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/data-cards.ts +0 -228
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/data-list.ts +0 -119
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/data-table.ts +0 -367
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/editable-text.ts +0 -81
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/empty-state.ts +0 -71
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/errors.ts +0 -79
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/grouped-list.ts +0 -426
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/index.ts +0 -38
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/link-card.ts +0 -112
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/link-list.ts +0 -110
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/link.ts +0 -66
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/loading.ts +0 -79
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/markdown.ts +0 -159
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/metric-card.ts +0 -225
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/section.ts +0 -85
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/stats-grid.ts +0 -63
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/tabs.ts +0 -73
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/text.ts +0 -96
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/title.ts +0 -57
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/types.ts +0 -236
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/utils/field-helpers.ts +0 -120
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/utils/formatting.ts +0 -414
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/utils/url.ts +0 -37
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/utils/widget-helpers.ts +0 -427
- package/src/app/api/[locale]/user/auth/i18n/de/index.ts +0 -204
- package/src/app/api/[locale]/user/auth/i18n/en/index.ts +0 -199
- package/src/app/api/[locale]/user/auth/i18n/pl/index.ts +0 -203
- package/src/app/api/[locale]/user/auth/types.ts +0 -45
- package/src/app/api/[locale]/user/enum.ts +0 -64
- package/src/app/api/[locale]/user/i18n/de/index.ts +0 -75
- package/src/app/api/[locale]/user/i18n/en/index.ts +0 -74
- package/src/app/api/[locale]/user/i18n/pl/index.ts +0 -75
- package/src/app/api/[locale]/user/types.ts +0 -111
- package/src/app/api/[locale]/user/user-roles/enum.ts +0 -103
- package/src/app/api/[locale]/user/user-roles/i18n/de/index.ts +0 -85
- package/src/app/api/[locale]/user/user-roles/i18n/en/index.ts +0 -83
- package/src/app/api/[locale]/user/user-roles/i18n/pl/index.ts +0 -85
- package/src/app/api/[locale]/user/user-roles/types.ts +0 -32
- package/src/app/api/i18n/de/index.ts +0 -6
- package/src/app/api/i18n/en/index.ts +0 -5
- package/src/app/api/i18n/pl/index.ts +0 -5
- package/src/app/i18n/de/index.ts +0 -18
- package/src/app/i18n/en/index.ts +0 -18
- package/src/app/i18n/pl/index.ts +0 -17
- package/src/config/constants.ts +0 -8
- package/src/config/debug.ts +0 -30
- package/src/config/env-client.ts +0 -57
- package/src/config/env.ts +0 -56
- package/src/config/i18n/de/index.ts +0 -3
- package/src/config/i18n/en/index.ts +0 -51
- package/src/config/i18n/pl/index.ts +0 -3
- package/src/i18n/core/config.ts +0 -225
- package/src/i18n/core/language-utils.ts +0 -226
- package/src/i18n/core/localization-utils.ts +0 -394
- package/src/i18n/core/scoped-translation.ts +0 -104
- package/src/i18n/core/shared-component.tsx +0 -28
- package/src/i18n/core/shared-translation-utils.ts +0 -97
- package/src/i18n/core/shared.ts +0 -44
- package/src/i18n/core/static-types.ts +0 -64
- package/src/i18n/core/translation-utils.ts +0 -186
- package/src/i18n/de/index.ts +0 -8
- package/src/i18n/en/index.ts +0 -7
- package/src/i18n/index.ts +0 -100
- package/src/i18n/pl/index.ts +0 -7
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AUTO-GENERATED FILE - DO NOT EDIT
|
|
3
|
+
* Generated by generators/package-endpoints
|
|
4
|
+
*
|
|
5
|
+
* Endpoints in package: 3
|
|
6
|
+
* Total paths (with aliases): 15
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/* eslint-disable prettier/prettier */
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Map of aliases to their canonical full paths (scoped to this package).
|
|
13
|
+
*/
|
|
14
|
+
export const pathToAliasMap = {
|
|
15
|
+
"ai-tools": "tool-help",
|
|
16
|
+
c: "check",
|
|
17
|
+
cc: "config-create",
|
|
18
|
+
check: "check",
|
|
19
|
+
"config-create": "config-create",
|
|
20
|
+
"create-config": "config-create",
|
|
21
|
+
h: "tool-help",
|
|
22
|
+
help: "tool-help",
|
|
23
|
+
list: "tool-help",
|
|
24
|
+
ls: "tool-help",
|
|
25
|
+
system_check_config_create_POST: "config-create",
|
|
26
|
+
"system_check_vibe-check_POST": "check",
|
|
27
|
+
system_help_GET: "tool-help",
|
|
28
|
+
"tool-help": "tool-help",
|
|
29
|
+
"tools:list": "tool-help",
|
|
30
|
+
} as const;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AUTO-GENERATED FILE - DO NOT EDIT
|
|
3
|
+
* Generated by generators/package-endpoints
|
|
4
|
+
*
|
|
5
|
+
* Endpoints in package: 3
|
|
6
|
+
* Total paths (with aliases): 15
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/* eslint-disable prettier/prettier */
|
|
10
|
+
|
|
11
|
+
import type { CreateApiEndpointAny } from "@/app/api/[locale]/system/unified-interface/shared/types/endpoint-base";
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Dynamically import endpoint definition by path (scoped to this package).
|
|
15
|
+
*/
|
|
16
|
+
export async function getEndpoint(
|
|
17
|
+
path: string,
|
|
18
|
+
): Promise<CreateApiEndpointAny | null> {
|
|
19
|
+
switch (path) {
|
|
20
|
+
case "ai-tools":
|
|
21
|
+
return (await import("@/app/api/[locale]/system/help/definition")).default
|
|
22
|
+
.GET;
|
|
23
|
+
case "c":
|
|
24
|
+
return (
|
|
25
|
+
await import("@/app/api/[locale]/system/check/vibe-check/definition")
|
|
26
|
+
).default.POST;
|
|
27
|
+
case "cc":
|
|
28
|
+
return (
|
|
29
|
+
await import("@/app/api/[locale]/system/check/config/create/definition")
|
|
30
|
+
).default.POST;
|
|
31
|
+
case "check":
|
|
32
|
+
return (
|
|
33
|
+
await import("@/app/api/[locale]/system/check/vibe-check/definition")
|
|
34
|
+
).default.POST;
|
|
35
|
+
case "config-create":
|
|
36
|
+
return (
|
|
37
|
+
await import("@/app/api/[locale]/system/check/config/create/definition")
|
|
38
|
+
).default.POST;
|
|
39
|
+
case "create-config":
|
|
40
|
+
return (
|
|
41
|
+
await import("@/app/api/[locale]/system/check/config/create/definition")
|
|
42
|
+
).default.POST;
|
|
43
|
+
case "h":
|
|
44
|
+
return (await import("@/app/api/[locale]/system/help/definition")).default
|
|
45
|
+
.GET;
|
|
46
|
+
case "help":
|
|
47
|
+
return (await import("@/app/api/[locale]/system/help/definition")).default
|
|
48
|
+
.GET;
|
|
49
|
+
case "list":
|
|
50
|
+
return (await import("@/app/api/[locale]/system/help/definition")).default
|
|
51
|
+
.GET;
|
|
52
|
+
case "ls":
|
|
53
|
+
return (await import("@/app/api/[locale]/system/help/definition")).default
|
|
54
|
+
.GET;
|
|
55
|
+
case "system_check_config_create_POST":
|
|
56
|
+
return (
|
|
57
|
+
await import("@/app/api/[locale]/system/check/config/create/definition")
|
|
58
|
+
).default.POST;
|
|
59
|
+
case "system_check_vibe-check_POST":
|
|
60
|
+
return (
|
|
61
|
+
await import("@/app/api/[locale]/system/check/vibe-check/definition")
|
|
62
|
+
).default.POST;
|
|
63
|
+
case "system_help_GET":
|
|
64
|
+
return (await import("@/app/api/[locale]/system/help/definition")).default
|
|
65
|
+
.GET;
|
|
66
|
+
case "tool-help":
|
|
67
|
+
return (await import("@/app/api/[locale]/system/help/definition")).default
|
|
68
|
+
.GET;
|
|
69
|
+
case "tools:list":
|
|
70
|
+
return (await import("@/app/api/[locale]/system/help/definition")).default
|
|
71
|
+
.GET;
|
|
72
|
+
default:
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
@@ -19,7 +19,10 @@ import type {
|
|
|
19
19
|
OxlintASTNode,
|
|
20
20
|
OxlintRuleContext,
|
|
21
21
|
} from "../../../types";
|
|
22
|
-
import type {
|
|
22
|
+
import type {
|
|
23
|
+
createPluginMessages,
|
|
24
|
+
loadPluginConfig,
|
|
25
|
+
} from "../../shared/config-loader";
|
|
23
26
|
|
|
24
27
|
// ============================================================
|
|
25
28
|
// Types
|
|
@@ -82,8 +85,10 @@ const DEFAULT_CONFIG: I18nPluginConfig = {
|
|
|
82
85
|
|
|
83
86
|
const DEFAULT_MESSAGES: I18nMessages = {
|
|
84
87
|
jsxText: 'Literal string "{value}" should be translated using i18n.',
|
|
85
|
-
jsxExpression:
|
|
86
|
-
|
|
88
|
+
jsxExpression:
|
|
89
|
+
'Literal string "{value}" in JSX expression should be translated.',
|
|
90
|
+
jsxAttribute:
|
|
91
|
+
'Literal string "{value}" in JSX attribute should be translated.',
|
|
87
92
|
};
|
|
88
93
|
|
|
89
94
|
// ============================================================
|
|
@@ -129,7 +134,10 @@ function loadI18nConfig(): I18nPluginConfig {
|
|
|
129
134
|
const loader = getConfigLoader();
|
|
130
135
|
|
|
131
136
|
if (loader) {
|
|
132
|
-
const result = loader.loadPluginConfig(
|
|
137
|
+
const result = loader.loadPluginConfig(
|
|
138
|
+
"oxlint-plugin-i18n/no-literal-string",
|
|
139
|
+
DEFAULT_CONFIG,
|
|
140
|
+
);
|
|
133
141
|
cachedConfig = result.config ?? DEFAULT_CONFIG;
|
|
134
142
|
} else {
|
|
135
143
|
// Fallback: try direct require of check.config.ts
|
|
@@ -147,9 +155,11 @@ function loadConfigFallback(): I18nPluginConfig {
|
|
|
147
155
|
// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-unsafe-assignment -- Plugin fallback requires dynamic loading
|
|
148
156
|
const config = require(`${process.cwd()}/check.config.ts`);
|
|
149
157
|
const checkConfig = config.default ?? config;
|
|
150
|
-
const exported =
|
|
158
|
+
const exported =
|
|
159
|
+
typeof checkConfig === "function" ? checkConfig() : checkConfig;
|
|
151
160
|
|
|
152
|
-
const ruleConfig =
|
|
161
|
+
const ruleConfig =
|
|
162
|
+
exported?.oxlint?.rules?.["oxlint-plugin-i18n/no-literal-string"];
|
|
153
163
|
if (Array.isArray(ruleConfig) && ruleConfig[1]) {
|
|
154
164
|
return ruleConfig[1] as I18nPluginConfig;
|
|
155
165
|
}
|
|
@@ -216,7 +226,9 @@ const noLiteralStringRule = {
|
|
|
216
226
|
},
|
|
217
227
|
],
|
|
218
228
|
},
|
|
219
|
-
create(
|
|
229
|
+
create(
|
|
230
|
+
context: I18nRuleContext,
|
|
231
|
+
): Record<string, (node: OxlintASTNode) => void> {
|
|
220
232
|
// Load config from check.config.ts (single source of truth)
|
|
221
233
|
// Falls back to rule options if config file not available
|
|
222
234
|
const configFromFile = loadI18nConfig();
|
|
@@ -292,6 +304,26 @@ const noLiteralStringRule = {
|
|
|
292
304
|
"JSXExpressionContainer > Literal"(node: OxlintASTNode): void {
|
|
293
305
|
const value = (node as JSXLiteral).value;
|
|
294
306
|
if (typeof value === "string" && !shouldExcludeString(value)) {
|
|
307
|
+
// Check if this literal is inside a JSXAttribute with an excluded name
|
|
308
|
+
// Walk up the AST to find the parent JSXAttribute
|
|
309
|
+
let parent = node.parent;
|
|
310
|
+
while (parent) {
|
|
311
|
+
if (parent.type === "JSXAttribute") {
|
|
312
|
+
const attrNode = parent as JSXAttribute;
|
|
313
|
+
const nameNode = attrNode.name;
|
|
314
|
+
if (nameNode) {
|
|
315
|
+
const attrName: string =
|
|
316
|
+
(nameNode as JSXIdentifier).name ?? String(nameNode);
|
|
317
|
+
// Skip if this is an excluded attribute
|
|
318
|
+
if (isExcludedAttribute(attrName)) {
|
|
319
|
+
return;
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
break;
|
|
323
|
+
}
|
|
324
|
+
parent = parent.parent;
|
|
325
|
+
}
|
|
326
|
+
|
|
295
327
|
context.report({
|
|
296
328
|
node,
|
|
297
329
|
message: formatMessage(messages.jsxExpression, value),
|
|
@@ -309,7 +341,8 @@ const noLiteralStringRule = {
|
|
|
309
341
|
}
|
|
310
342
|
|
|
311
343
|
// Get the attribute name string
|
|
312
|
-
const attrName: string =
|
|
344
|
+
const attrName: string =
|
|
345
|
+
(nameNode as JSXIdentifier).name ?? String(nameNode);
|
|
313
346
|
|
|
314
347
|
// Skip ALL excluded attributes
|
|
315
348
|
if (isExcludedAttribute(attrName)) {
|
|
@@ -324,7 +357,10 @@ const noLiteralStringRule = {
|
|
|
324
357
|
|
|
325
358
|
if (valueNode.type === "Literal") {
|
|
326
359
|
const literalValue = (valueNode as JSXLiteral).value;
|
|
327
|
-
if (
|
|
360
|
+
if (
|
|
361
|
+
typeof literalValue === "string" &&
|
|
362
|
+
!shouldExcludeString(literalValue)
|
|
363
|
+
) {
|
|
328
364
|
context.report({
|
|
329
365
|
node: valueNode,
|
|
330
366
|
message: formatMessage(messages.jsxAttribute, literalValue),
|
|
@@ -20,7 +20,10 @@ import type {
|
|
|
20
20
|
OxlintComment,
|
|
21
21
|
OxlintRuleContext,
|
|
22
22
|
} from "../../../types";
|
|
23
|
-
import type {
|
|
23
|
+
import type {
|
|
24
|
+
createPluginMessages,
|
|
25
|
+
loadPluginConfig,
|
|
26
|
+
} from "../../shared/config-loader";
|
|
24
27
|
|
|
25
28
|
/** JSXOpeningElement AST node */
|
|
26
29
|
interface JSXOpeningElement extends OxlintASTNode {
|
|
@@ -91,10 +94,38 @@ const DEFAULT_CONFIG: JsxCapitalizationPluginConfig = {
|
|
|
91
94
|
"code",
|
|
92
95
|
"pre",
|
|
93
96
|
],
|
|
94
|
-
standaloneElements: [
|
|
95
|
-
|
|
97
|
+
standaloneElements: [
|
|
98
|
+
"div",
|
|
99
|
+
"button",
|
|
100
|
+
"input",
|
|
101
|
+
"label",
|
|
102
|
+
"form",
|
|
103
|
+
"table",
|
|
104
|
+
"ul",
|
|
105
|
+
"ol",
|
|
106
|
+
"li",
|
|
107
|
+
],
|
|
108
|
+
svgElements: [
|
|
109
|
+
"svg",
|
|
110
|
+
"path",
|
|
111
|
+
"circle",
|
|
112
|
+
"rect",
|
|
113
|
+
"line",
|
|
114
|
+
"polygon",
|
|
115
|
+
"polyline",
|
|
116
|
+
"ellipse",
|
|
117
|
+
"g",
|
|
118
|
+
],
|
|
96
119
|
imageElements: ["img", "picture", "source", "video", "audio"],
|
|
97
|
-
commonUiElements: [
|
|
120
|
+
commonUiElements: [
|
|
121
|
+
"nav",
|
|
122
|
+
"header",
|
|
123
|
+
"footer",
|
|
124
|
+
"main",
|
|
125
|
+
"section",
|
|
126
|
+
"article",
|
|
127
|
+
"aside",
|
|
128
|
+
],
|
|
98
129
|
};
|
|
99
130
|
|
|
100
131
|
const DEFAULT_MESSAGES: JsxCapitalizationMessages = {
|
|
@@ -179,10 +210,13 @@ function loadConfigFallback(): JsxCapitalizationPluginConfig {
|
|
|
179
210
|
// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-unsafe-assignment -- Plugin fallback requires dynamic loading
|
|
180
211
|
const config = require(`${process.cwd()}/check.config.ts`);
|
|
181
212
|
const checkConfig = config.default ?? config;
|
|
182
|
-
const exported =
|
|
213
|
+
const exported =
|
|
214
|
+
typeof checkConfig === "function" ? checkConfig() : checkConfig;
|
|
183
215
|
|
|
184
216
|
const ruleConfig =
|
|
185
|
-
exported?.oxlint?.rules?.[
|
|
217
|
+
exported?.oxlint?.rules?.[
|
|
218
|
+
"oxlint-plugin-jsx-capitalization/jsx-capitalization"
|
|
219
|
+
];
|
|
186
220
|
if (Array.isArray(ruleConfig) && ruleConfig[1]) {
|
|
187
221
|
return ruleConfig[1] as JsxCapitalizationPluginConfig;
|
|
188
222
|
}
|
|
@@ -207,7 +241,11 @@ function getMessages(): JsxCapitalizationMessages {
|
|
|
207
241
|
/**
|
|
208
242
|
* Format a message with value substitution
|
|
209
243
|
*/
|
|
210
|
-
function formatMessage(
|
|
244
|
+
function formatMessage(
|
|
245
|
+
template: string,
|
|
246
|
+
elementName: string,
|
|
247
|
+
capitalizedName: string,
|
|
248
|
+
): string {
|
|
211
249
|
return template
|
|
212
250
|
.replaceAll("{elementName}", elementName)
|
|
213
251
|
.replaceAll("{capitalizedName}", capitalizedName);
|
|
@@ -223,7 +261,10 @@ function formatMessage(template: string, elementName: string, capitalizedName: s
|
|
|
223
261
|
*/
|
|
224
262
|
function isLowercaseElement(elementName: string): boolean {
|
|
225
263
|
const firstChar = elementName.charAt(0);
|
|
226
|
-
return
|
|
264
|
+
return (
|
|
265
|
+
firstChar === firstChar.toLowerCase() &&
|
|
266
|
+
firstChar !== firstChar.toUpperCase()
|
|
267
|
+
);
|
|
227
268
|
}
|
|
228
269
|
|
|
229
270
|
/**
|
|
@@ -270,8 +311,12 @@ function isExcludedPath(
|
|
|
270
311
|
/**
|
|
271
312
|
* Check if the node has a disable comment
|
|
272
313
|
*/
|
|
273
|
-
function hasDisableComment(
|
|
274
|
-
|
|
314
|
+
function hasDisableComment(
|
|
315
|
+
context: JsxCapitalizationRuleContext,
|
|
316
|
+
node: OxlintASTNode,
|
|
317
|
+
): boolean {
|
|
318
|
+
const getComments =
|
|
319
|
+
context.getCommentsBefore ?? context.sourceCode?.getCommentsBefore;
|
|
275
320
|
if (typeof getComments !== "function") {
|
|
276
321
|
return false;
|
|
277
322
|
}
|
|
@@ -290,7 +335,8 @@ function hasDisableComment(context: JsxCapitalizationRuleContext, node: OxlintAS
|
|
|
290
335
|
if (
|
|
291
336
|
(commentText.includes("eslint-disable-next-line") ||
|
|
292
337
|
commentText.includes("oxlint-disable-next-line")) &&
|
|
293
|
-
(commentText.includes("jsx-capitalization") ||
|
|
338
|
+
(commentText.includes("jsx-capitalization") ||
|
|
339
|
+
commentText.includes("no-lowercase-jsx"))
|
|
294
340
|
) {
|
|
295
341
|
return true;
|
|
296
342
|
}
|
|
@@ -391,7 +437,10 @@ function getExcludedPaths(context: JsxCapitalizationRuleContext): {
|
|
|
391
437
|
/**
|
|
392
438
|
* Get error message for lowercase JSX element with smart import suggestions
|
|
393
439
|
*/
|
|
394
|
-
function getErrorMessage(
|
|
440
|
+
function getErrorMessage(
|
|
441
|
+
elementName: string,
|
|
442
|
+
elementSets: ElementSets,
|
|
443
|
+
): string {
|
|
395
444
|
const capitalizedName = capitalize(elementName);
|
|
396
445
|
const messages = getMessages();
|
|
397
446
|
|
|
@@ -407,12 +456,20 @@ function getErrorMessage(elementName: string, elementSets: ElementSets): string
|
|
|
407
456
|
|
|
408
457
|
// Typography elements from typography.tsx
|
|
409
458
|
if (elementSets.typography.has(elementName)) {
|
|
410
|
-
return formatMessage(
|
|
459
|
+
return formatMessage(
|
|
460
|
+
messages.typographyElement,
|
|
461
|
+
elementName,
|
|
462
|
+
capitalizedName,
|
|
463
|
+
);
|
|
411
464
|
}
|
|
412
465
|
|
|
413
466
|
// Standalone UI elements with their own files
|
|
414
467
|
if (elementSets.standalone.has(elementName)) {
|
|
415
|
-
return formatMessage(
|
|
468
|
+
return formatMessage(
|
|
469
|
+
messages.standaloneElement,
|
|
470
|
+
elementName,
|
|
471
|
+
capitalizedName,
|
|
472
|
+
);
|
|
416
473
|
}
|
|
417
474
|
|
|
418
475
|
// SVG elements - suggest using icons instead
|
|
@@ -427,7 +484,11 @@ function getErrorMessage(elementName: string, elementSets: ElementSets): string
|
|
|
427
484
|
|
|
428
485
|
// Common UI elements with known wrappers
|
|
429
486
|
if (elementSets.commonUi.has(elementName)) {
|
|
430
|
-
return formatMessage(
|
|
487
|
+
return formatMessage(
|
|
488
|
+
messages.commonUiElement,
|
|
489
|
+
elementName,
|
|
490
|
+
capitalizedName,
|
|
491
|
+
);
|
|
431
492
|
}
|
|
432
493
|
|
|
433
494
|
// Generic/unknown elements - guide to create platform-specific components
|
|
@@ -462,14 +523,20 @@ const jsxCapitalizationRule = {
|
|
|
462
523
|
},
|
|
463
524
|
],
|
|
464
525
|
},
|
|
465
|
-
create(
|
|
526
|
+
create(
|
|
527
|
+
context: JsxCapitalizationRuleContext,
|
|
528
|
+
): Record<string, (node: OxlintASTNode) => void> {
|
|
466
529
|
// Load config from check.config.ts (single source of truth)
|
|
467
530
|
// Falls back to rule options if config file not available
|
|
468
531
|
const { excludedPaths, excludedFilePatterns } = getExcludedPaths(context);
|
|
469
532
|
const elementSets = getElementSets(context);
|
|
470
533
|
|
|
471
534
|
// Check if file is in excluded path
|
|
472
|
-
const isExcluded = isExcludedPath(
|
|
535
|
+
const isExcluded = isExcludedPath(
|
|
536
|
+
context,
|
|
537
|
+
excludedPaths,
|
|
538
|
+
excludedFilePatterns,
|
|
539
|
+
);
|
|
473
540
|
|
|
474
541
|
return {
|
|
475
542
|
JSXOpeningElement(node: OxlintASTNode): void {
|
|
@@ -17,8 +17,15 @@
|
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
19
|
import type { RestrictedSyntaxPluginConfig } from "../../../../config/types";
|
|
20
|
-
import type {
|
|
21
|
-
|
|
20
|
+
import type {
|
|
21
|
+
OxlintASTNode,
|
|
22
|
+
OxlintComment,
|
|
23
|
+
OxlintRuleContext,
|
|
24
|
+
} from "../../../types";
|
|
25
|
+
import type {
|
|
26
|
+
createPluginMessages,
|
|
27
|
+
loadPluginConfig,
|
|
28
|
+
} from "../../shared/config-loader";
|
|
22
29
|
|
|
23
30
|
// ============================================================
|
|
24
31
|
// Types
|
|
@@ -100,9 +107,9 @@ const DEFAULT_CONFIG: RestrictedSyntaxPluginConfig = {
|
|
|
100
107
|
|
|
101
108
|
const DEFAULT_MESSAGES: RestrictedSyntaxMessages = {
|
|
102
109
|
unknownType:
|
|
103
|
-
"
|
|
110
|
+
"Replace 'unknown' with existing typed interface. align with codebase types rather than converting or recreating.",
|
|
104
111
|
objectType:
|
|
105
|
-
"
|
|
112
|
+
"Replace 'object' with existing typed interface. align with codebase types rather than converting or recreating.",
|
|
106
113
|
throwStatement:
|
|
107
114
|
"Usage of 'throw' statements is not allowed. Use proper ResponseType<T> patterns instead.",
|
|
108
115
|
jsxInObjectLiteral:
|
|
@@ -173,9 +180,11 @@ function loadConfigFallback(): RestrictedSyntaxPluginConfig {
|
|
|
173
180
|
// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-unsafe-assignment -- Plugin fallback requires dynamic loading
|
|
174
181
|
const config = require(`${process.cwd()}/check.config.ts`);
|
|
175
182
|
const checkConfig = config.default ?? config;
|
|
176
|
-
const exported =
|
|
183
|
+
const exported =
|
|
184
|
+
typeof checkConfig === "function" ? checkConfig() : checkConfig;
|
|
177
185
|
|
|
178
|
-
const ruleConfig =
|
|
186
|
+
const ruleConfig =
|
|
187
|
+
exported?.oxlint?.rules?.["oxlint-plugin-restricted/restricted-syntax"];
|
|
179
188
|
if (Array.isArray(ruleConfig) && ruleConfig[1]) {
|
|
180
189
|
return ruleConfig[1] as RestrictedSyntaxPluginConfig;
|
|
181
190
|
}
|
|
@@ -205,7 +214,9 @@ function getMessages(): RestrictedSyntaxMessages {
|
|
|
205
214
|
* Type guard to check if a node is a Property node
|
|
206
215
|
*/
|
|
207
216
|
function isProperty(node: OxlintASTNode): node is Property {
|
|
208
|
-
return
|
|
217
|
+
return (
|
|
218
|
+
node.type === "Property" && typeof (node as Property).method === "boolean"
|
|
219
|
+
);
|
|
209
220
|
}
|
|
210
221
|
|
|
211
222
|
/**
|
|
@@ -231,9 +242,13 @@ function isAllowedPath(context: RestrictedSyntaxRuleContext): boolean {
|
|
|
231
242
|
/**
|
|
232
243
|
* Check if the node has a disable comment
|
|
233
244
|
*/
|
|
234
|
-
function hasDisableComment(
|
|
245
|
+
function hasDisableComment(
|
|
246
|
+
context: RestrictedSyntaxRuleContext,
|
|
247
|
+
node: OxlintASTNode,
|
|
248
|
+
): boolean {
|
|
235
249
|
// Try to get comments from context
|
|
236
|
-
const getComments =
|
|
250
|
+
const getComments =
|
|
251
|
+
context.getCommentsBefore ?? context.sourceCode?.getCommentsBefore;
|
|
237
252
|
if (typeof getComments !== "function") {
|
|
238
253
|
// If comment API is not available, allow the node (fail open)
|
|
239
254
|
return false;
|
|
@@ -254,7 +269,8 @@ function hasDisableComment(context: RestrictedSyntaxRuleContext, node: OxlintAST
|
|
|
254
269
|
if (
|
|
255
270
|
(commentText.includes("eslint-disable-next-line") ||
|
|
256
271
|
commentText.includes("oxlint-disable-next-line")) &&
|
|
257
|
-
(commentText.includes("restricted-syntax") ||
|
|
272
|
+
(commentText.includes("restricted-syntax") ||
|
|
273
|
+
commentText.includes("no-restricted-syntax"))
|
|
258
274
|
) {
|
|
259
275
|
return true;
|
|
260
276
|
}
|
|
@@ -277,7 +293,9 @@ function isObjectProperty(prop: OxlintASTNode): prop is Property {
|
|
|
277
293
|
/**
|
|
278
294
|
* Get the JSX allowed properties Set from rule options or config file
|
|
279
295
|
*/
|
|
280
|
-
function getJsxAllowedProperties(
|
|
296
|
+
function getJsxAllowedProperties(
|
|
297
|
+
context: RestrictedSyntaxRuleContext,
|
|
298
|
+
): Set<string> {
|
|
281
299
|
// First try rule options (primary - passed via oxlint config)
|
|
282
300
|
const ruleOptions = context.options?.[0];
|
|
283
301
|
if (ruleOptions?.jsxAllowedProperties) {
|
|
@@ -297,7 +315,10 @@ function getJsxAllowedProperties(context: RestrictedSyntaxRuleContext): Set<stri
|
|
|
297
315
|
/**
|
|
298
316
|
* Check if a property key is in the allowlist for JSX values
|
|
299
317
|
*/
|
|
300
|
-
function isJSXAllowedKey(
|
|
318
|
+
function isJSXAllowedKey(
|
|
319
|
+
prop: OxlintASTNode,
|
|
320
|
+
jsxAllowedProperties: Set<string>,
|
|
321
|
+
): boolean {
|
|
301
322
|
const property = prop as Property;
|
|
302
323
|
if (property.computed) {
|
|
303
324
|
return false;
|
|
@@ -311,7 +332,10 @@ function isJSXAllowedKey(prop: OxlintASTNode, jsxAllowedProperties: Set<string>)
|
|
|
311
332
|
|
|
312
333
|
if (key.type === "Identifier") {
|
|
313
334
|
keyName = (key as Identifier).name;
|
|
314
|
-
} else if (
|
|
335
|
+
} else if (
|
|
336
|
+
key.type === "Literal" &&
|
|
337
|
+
typeof (key as Literal).value === "string"
|
|
338
|
+
) {
|
|
315
339
|
keyName = (key as Literal).value as string;
|
|
316
340
|
}
|
|
317
341
|
|
|
@@ -362,7 +386,9 @@ const restrictedSyntaxRule = {
|
|
|
362
386
|
},
|
|
363
387
|
],
|
|
364
388
|
},
|
|
365
|
-
create(
|
|
389
|
+
create(
|
|
390
|
+
context: RestrictedSyntaxRuleContext,
|
|
391
|
+
): Record<string, (node: OxlintASTNode) => void> {
|
|
366
392
|
// Check if file is in allowed path (applies to all rules)
|
|
367
393
|
const isAllowed = isAllowedPath(context);
|
|
368
394
|
|