@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
|
@@ -1,269 +0,0 @@
|
|
|
1
|
-
# oxlint-plugin-jsx-capitalization
|
|
2
|
-
|
|
3
|
-
Oxlint plugin that enforces the use of capitalized JSX components from `next-vibe-ui` instead of lowercase HTML elements.
|
|
4
|
-
|
|
5
|
-
## Features
|
|
6
|
-
|
|
7
|
-
- ✅ Detects lowercase JSX elements (div, p, a, button, etc.)
|
|
8
|
-
- ✅ Provides helpful error messages with suggested imports
|
|
9
|
-
- ✅ Automatically excludes files in `/src/packages/next-vibe-ui/web/` directory
|
|
10
|
-
- ✅ Supports disable comments
|
|
11
|
-
|
|
12
|
-
## Installation
|
|
13
|
-
|
|
14
|
-
This plugin is part of the monorepo and is built automatically.
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
npm run build
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## Usage
|
|
21
|
-
|
|
22
|
-
The plugin is configured in the oxlint configuration file:
|
|
23
|
-
|
|
24
|
-
```json
|
|
25
|
-
{
|
|
26
|
-
"jsPlugins": ["oxlint-plugin-jsx-capitalization"],
|
|
27
|
-
"rules": {
|
|
28
|
-
"oxlint-plugin-jsx-capitalization/jsx-capitalization": "error"
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## Error Examples
|
|
34
|
-
|
|
35
|
-
### Common UI Components
|
|
36
|
-
|
|
37
|
-
#### ❌ Bad
|
|
38
|
-
|
|
39
|
-
```tsx
|
|
40
|
-
function MyComponent() {
|
|
41
|
-
return <div>Hello World</div>;
|
|
42
|
-
}
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
**Error message:**
|
|
46
|
-
|
|
47
|
-
```
|
|
48
|
-
Use platform-independent <Div> component instead of <div>.
|
|
49
|
-
import { Div } from "next-vibe-ui/ui/div";
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
#### ✅ Good
|
|
53
|
-
|
|
54
|
-
```tsx
|
|
55
|
-
import { Div } from "next-vibe-ui/ui/div";
|
|
56
|
-
|
|
57
|
-
function MyComponent() {
|
|
58
|
-
return <Div>Hello World</Div>;
|
|
59
|
-
}
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
### Typography Components
|
|
63
|
-
|
|
64
|
-
#### ❌ Bad
|
|
65
|
-
|
|
66
|
-
```tsx
|
|
67
|
-
function Article() {
|
|
68
|
-
return (
|
|
69
|
-
<>
|
|
70
|
-
<h2>Title</h2>
|
|
71
|
-
<p>Paragraph text</p>
|
|
72
|
-
</>
|
|
73
|
-
);
|
|
74
|
-
}
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
**Error messages:**
|
|
78
|
-
|
|
79
|
-
```
|
|
80
|
-
Use typography component <H2> instead of <h2>.
|
|
81
|
-
import { H2 } from "next-vibe-ui/ui/typography";
|
|
82
|
-
|
|
83
|
-
Use typography component <P> instead of <p>.
|
|
84
|
-
import { P } from "next-vibe-ui/ui/typography";
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
#### ✅ Good
|
|
88
|
-
|
|
89
|
-
```tsx
|
|
90
|
-
import { H2, P } from "next-vibe-ui/ui/typography";
|
|
91
|
-
|
|
92
|
-
function Article() {
|
|
93
|
-
return (
|
|
94
|
-
<>
|
|
95
|
-
<H2>Title</H2>
|
|
96
|
-
<P>Paragraph text</P>
|
|
97
|
-
</>
|
|
98
|
-
);
|
|
99
|
-
}
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
### Image Components
|
|
103
|
-
|
|
104
|
-
#### ❌ Bad
|
|
105
|
-
|
|
106
|
-
```tsx
|
|
107
|
-
function Avatar() {
|
|
108
|
-
return <img src="/avatar.png" alt="User" />;
|
|
109
|
-
}
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
**Error message:**
|
|
113
|
-
|
|
114
|
-
```
|
|
115
|
-
Use platform-independent <Image> component instead of <img>.
|
|
116
|
-
import { Image } from "next-vibe-ui/ui/image";
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
#### ✅ Good
|
|
120
|
-
|
|
121
|
-
```tsx
|
|
122
|
-
import { Image } from "next-vibe-ui/ui/image";
|
|
123
|
-
|
|
124
|
-
function Avatar() {
|
|
125
|
-
return <Image src="/avatar.png" alt="User" />;
|
|
126
|
-
}
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
### SVG Elements
|
|
130
|
-
|
|
131
|
-
#### ❌ Bad
|
|
132
|
-
|
|
133
|
-
```tsx
|
|
134
|
-
function Icon() {
|
|
135
|
-
return (
|
|
136
|
-
<svg viewBox="0 0 24 24">
|
|
137
|
-
<path d="M12 2L2 7v10l10 5 10-5V7L12 2z" />
|
|
138
|
-
</svg>
|
|
139
|
-
);
|
|
140
|
-
}
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
**Error message:**
|
|
144
|
-
|
|
145
|
-
```
|
|
146
|
-
SVG element <svg> detected. For icons, use components from
|
|
147
|
-
next-vibe-ui/ui/icons instead. For custom SVG, create
|
|
148
|
-
platform-independent components using react-native-svg that
|
|
149
|
-
work on both web and native.
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
#### ✅ Good
|
|
153
|
-
|
|
154
|
-
```tsx
|
|
155
|
-
// Option 1: Use existing icon components
|
|
156
|
-
import { CheckIcon } from "next-vibe-ui/ui/icons/Check";
|
|
157
|
-
|
|
158
|
-
function Success() {
|
|
159
|
-
return <CheckIcon />;
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
// Option 2: Create custom SVG component with react-native-svg
|
|
163
|
-
import Svg, { Path } from "react-native-svg";
|
|
164
|
-
|
|
165
|
-
function CustomIcon() {
|
|
166
|
-
return (
|
|
167
|
-
<Svg viewBox="0 0 24 24">
|
|
168
|
-
<Path d="M12 2L2 7v10l10 5 10-5V7L12 2z" />
|
|
169
|
-
</Svg>
|
|
170
|
-
);
|
|
171
|
-
}
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
## Excluded Paths
|
|
175
|
-
|
|
176
|
-
Files in the following directory are automatically excluded:
|
|
177
|
-
|
|
178
|
-
- `/src/packages/next-vibe-ui/web/`
|
|
179
|
-
|
|
180
|
-
## Disable Comments
|
|
181
|
-
|
|
182
|
-
You can disable the rule for specific lines using comments:
|
|
183
|
-
|
|
184
|
-
```tsx
|
|
185
|
-
// eslint-disable-next-line oxlint-plugin-jsx-capitalization/jsx-capitalization
|
|
186
|
-
<div>This is allowed</div>
|
|
187
|
-
|
|
188
|
-
// oxlint-disable-next-line jsx-capitalization
|
|
189
|
-
<p>This is also allowed</p>
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
## Element Categories
|
|
193
|
-
|
|
194
|
-
The plugin checks for **ALL lowercase JSX elements** and provides context-specific error messages:
|
|
195
|
-
|
|
196
|
-
### 1. Typography Components
|
|
197
|
-
|
|
198
|
-
Import from `next-vibe-ui/ui/typography`:
|
|
199
|
-
|
|
200
|
-
- **Headings:** h1, h2, h3, h4 → H1, H2, H3, H4
|
|
201
|
-
- **Text:** p → P
|
|
202
|
-
- **Quotes:** blockquote → BlockQuote
|
|
203
|
-
- **Code:** code → Code
|
|
204
|
-
|
|
205
|
-
### 2. Standalone UI Components
|
|
206
|
-
|
|
207
|
-
Import individually from `next-vibe-ui/ui/{component}`:
|
|
208
|
-
|
|
209
|
-
- **Text:** span → Span (from `next-vibe-ui/ui/span`)
|
|
210
|
-
- **Code blocks:** pre → Pre (from `next-vibe-ui/ui/pre`)
|
|
211
|
-
|
|
212
|
-
### 3. Common UI Components
|
|
213
|
-
|
|
214
|
-
Import from `next-vibe-ui/ui/{element}`:
|
|
215
|
-
|
|
216
|
-
- **Containers:** div, section, article, aside, header, footer, main, nav
|
|
217
|
-
- **Interactive:** button, input, textarea, select, label, form
|
|
218
|
-
- **Lists:** ul, ol, li
|
|
219
|
-
- **Tables:** table, thead, tbody, tr, th, td
|
|
220
|
-
- **Links:** link
|
|
221
|
-
- **And many more...**
|
|
222
|
-
|
|
223
|
-
### 4. Image Components
|
|
224
|
-
|
|
225
|
-
Import from `next-vibe-ui/ui/image`:
|
|
226
|
-
|
|
227
|
-
- **Images:** img, picture → Image
|
|
228
|
-
|
|
229
|
-
### 5. SVG Elements
|
|
230
|
-
|
|
231
|
-
**Suggests using icon components or react-native-svg:**
|
|
232
|
-
|
|
233
|
-
- svg, path, circle, rect, polygon, etc.
|
|
234
|
-
- For icons: Use components from `next-vibe-ui/ui/icons`
|
|
235
|
-
- For custom SVG: Use `react-native-svg` for platform independence
|
|
236
|
-
|
|
237
|
-
### 6. Unknown Elements
|
|
238
|
-
|
|
239
|
-
For any element without a known wrapper component, the plugin suggests:
|
|
240
|
-
|
|
241
|
-
1. Creating `next-vibe-ui/web/ui/{element}.tsx` for web
|
|
242
|
-
2. Creating `next-vibe-ui/native/ui/{element}.tsx` for React Native
|
|
243
|
-
3. Or using an existing component if available
|
|
244
|
-
|
|
245
|
-
**Note:** The plugin uses dynamic lowercase detection, so it catches **any** element starting with a lowercase letter.
|
|
246
|
-
|
|
247
|
-
## Development
|
|
248
|
-
|
|
249
|
-
### Build
|
|
250
|
-
|
|
251
|
-
```bash
|
|
252
|
-
npm run build
|
|
253
|
-
```
|
|
254
|
-
|
|
255
|
-
### Watch mode
|
|
256
|
-
|
|
257
|
-
```bash
|
|
258
|
-
npm run dev
|
|
259
|
-
```
|
|
260
|
-
|
|
261
|
-
### Clean
|
|
262
|
-
|
|
263
|
-
```bash
|
|
264
|
-
npm run clean
|
|
265
|
-
```
|
|
266
|
-
|
|
267
|
-
## License
|
|
268
|
-
|
|
269
|
-
MIT
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Test file for oxlint-plugin-restricted/restricted-syntax rule
|
|
3
|
-
*
|
|
4
|
-
* This file verifies that the restricted-syntax plugin catches all violations:
|
|
5
|
-
* - unknown type usage
|
|
6
|
-
* - object type usage
|
|
7
|
-
* - throw statements
|
|
8
|
-
* - JSX in object literals (except icon property)
|
|
9
|
-
*
|
|
10
|
-
* Each violation is marked with eslint-disable-next-line to assert that an
|
|
11
|
-
* error SHOULD occur. If the rule stops working, these assertions will become
|
|
12
|
-
* errors themselves.
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
import type React from "react";
|
|
16
|
-
|
|
17
|
-
// ============================================================================
|
|
18
|
-
// TEST 1: unknown type (SHOULD ERROR)
|
|
19
|
-
// ============================================================================
|
|
20
|
-
|
|
21
|
-
// eslint-disable-next-line oxlint-plugin-restricted/restricted-syntax
|
|
22
|
-
const testUnknown: unknown = 5;
|
|
23
|
-
|
|
24
|
-
// ============================================================================
|
|
25
|
-
// TEST 2: object type (SHOULD ERROR)
|
|
26
|
-
// ============================================================================
|
|
27
|
-
|
|
28
|
-
// eslint-disable-next-line oxlint-plugin-restricted/restricted-syntax
|
|
29
|
-
const testObject: object = {};
|
|
30
|
-
|
|
31
|
-
// ============================================================================
|
|
32
|
-
// TEST 3: throw statement (SHOULD ERROR)
|
|
33
|
-
// ============================================================================
|
|
34
|
-
|
|
35
|
-
function testThrow() {
|
|
36
|
-
// eslint-disable-next-line oxlint-plugin-restricted/restricted-syntax
|
|
37
|
-
throw new Error("error"); // Should error: Usage of 'throw' statements is not allowed
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
// ============================================================================
|
|
41
|
-
// TEST 4: JSX in object literal (SHOULD ERROR)
|
|
42
|
-
// ============================================================================
|
|
43
|
-
|
|
44
|
-
const configWithJsx = {
|
|
45
|
-
// eslint-disable-next-line oxlint-plugin-restricted/restricted-syntax, oxlint-plugin-i18n/no-literal-string
|
|
46
|
-
content: <div>Test</div>, // Should error: JSX elements inside object literals are not allowed
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
// ============================================================================
|
|
50
|
-
// TEST 5: JSX in object with icon exception (SHOULD PASS)
|
|
51
|
-
// ============================================================================
|
|
52
|
-
|
|
53
|
-
const configWithIcon: { icon: React.ReactNode } = {
|
|
54
|
-
// eslint-disable-next-line oxlint-plugin-i18n/no-literal-string
|
|
55
|
-
icon: <svg>Icon</svg>, // Should NOT error: icon property is allowed
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
// ============================================================================
|
|
59
|
-
// TEST 6: Parenthesized JSX in object (SHOULD ERROR)
|
|
60
|
-
// ============================================================================
|
|
61
|
-
|
|
62
|
-
const configWithParenthesizedJsx = {
|
|
63
|
-
// eslint-disable-next-line oxlint-plugin-restricted/restricted-syntax, oxlint-plugin-i18n/no-literal-string
|
|
64
|
-
element: <span>Wrapped</span>, // Should error: JSX elements inside object literals are not allowed
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
export {
|
|
68
|
-
configWithIcon,
|
|
69
|
-
configWithJsx,
|
|
70
|
-
configWithParenthesizedJsx,
|
|
71
|
-
testObject,
|
|
72
|
-
testThrow,
|
|
73
|
-
testUnknown,
|
|
74
|
-
};
|
|
@@ -1,283 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared Plugin Configuration Loader
|
|
3
|
-
*
|
|
4
|
-
* Provides typesafe configuration loading for Oxlint JS plugins.
|
|
5
|
-
* Handles all runtime scenarios:
|
|
6
|
-
* - Bun runtime (direct TypeScript support)
|
|
7
|
-
* - Node.js runtime (requires compiled JS or ts-node)
|
|
8
|
-
* - Source directory (development)
|
|
9
|
-
* - NPM package (installed in node_modules)
|
|
10
|
-
* - Compiled output (dist folder)
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
import { existsSync } from "node:fs";
|
|
14
|
-
import { dirname, resolve } from "node:path";
|
|
15
|
-
|
|
16
|
-
import type {
|
|
17
|
-
CheckConfig,
|
|
18
|
-
I18nPluginConfig,
|
|
19
|
-
JsxCapitalizationPluginConfig,
|
|
20
|
-
LintConfigValue,
|
|
21
|
-
RestrictedSyntaxPluginConfig,
|
|
22
|
-
} from "../../../config/types";
|
|
23
|
-
|
|
24
|
-
// ============================================================
|
|
25
|
-
// Types
|
|
26
|
-
// ============================================================
|
|
27
|
-
|
|
28
|
-
/** Plugin names for type-safe config loading */
|
|
29
|
-
export type PluginName =
|
|
30
|
-
| "oxlint-plugin-i18n/no-literal-string"
|
|
31
|
-
| "oxlint-plugin-jsx-capitalization/jsx-capitalization"
|
|
32
|
-
| "oxlint-plugin-restricted/restricted-syntax";
|
|
33
|
-
|
|
34
|
-
/** Map plugin names to their config types */
|
|
35
|
-
export interface PluginConfigMap {
|
|
36
|
-
"oxlint-plugin-i18n/no-literal-string": I18nPluginConfig;
|
|
37
|
-
"oxlint-plugin-jsx-capitalization/jsx-capitalization": JsxCapitalizationPluginConfig;
|
|
38
|
-
"oxlint-plugin-restricted/restricted-syntax": RestrictedSyntaxPluginConfig;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/** Result of loading config */
|
|
42
|
-
export interface ConfigLoadResult<T> {
|
|
43
|
-
success: boolean;
|
|
44
|
-
config: T | null;
|
|
45
|
-
source: "rule-config" | "direct-export" | "default" | "error";
|
|
46
|
-
error?: string;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/** Error messages for plugin rules (can be customized) */
|
|
50
|
-
export interface PluginMessages {
|
|
51
|
-
[key: string]: string;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
// ============================================================
|
|
55
|
-
// Singleton Cache
|
|
56
|
-
// ============================================================
|
|
57
|
-
|
|
58
|
-
/** Cached check config (singleton across all plugins) */
|
|
59
|
-
let cachedCheckConfig: CheckConfig | null = null;
|
|
60
|
-
let configLoadAttempted = false;
|
|
61
|
-
|
|
62
|
-
/** Plugin-specific config caches */
|
|
63
|
-
const pluginConfigCache = new Map<string, ConfigLoadResult<LintConfigValue>>();
|
|
64
|
-
|
|
65
|
-
// ============================================================
|
|
66
|
-
// Config File Discovery
|
|
67
|
-
// ============================================================
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Find the project root by looking for check.config.ts
|
|
71
|
-
* Searches upward from current working directory
|
|
72
|
-
*/
|
|
73
|
-
function findProjectRoot(): string {
|
|
74
|
-
const cwd = process.cwd();
|
|
75
|
-
let currentDir = cwd;
|
|
76
|
-
const root = resolve("/");
|
|
77
|
-
|
|
78
|
-
while (currentDir !== root) {
|
|
79
|
-
const configPath = resolve(currentDir, "check.config.ts");
|
|
80
|
-
if (existsSync(configPath)) {
|
|
81
|
-
return currentDir;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
const jsConfigPath = resolve(currentDir, "check.config.js");
|
|
85
|
-
if (existsSync(jsConfigPath)) {
|
|
86
|
-
return currentDir;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
currentDir = dirname(currentDir);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
return cwd;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Get all possible config file paths to try
|
|
97
|
-
*/
|
|
98
|
-
function getConfigPaths(): string[] {
|
|
99
|
-
const projectRoot = findProjectRoot();
|
|
100
|
-
|
|
101
|
-
return [
|
|
102
|
-
// TypeScript source (Bun runtime, development)
|
|
103
|
-
resolve(projectRoot, "check.config.ts"),
|
|
104
|
-
// JavaScript compiled (Node.js runtime, production)
|
|
105
|
-
resolve(projectRoot, "check.config.js"),
|
|
106
|
-
// NPM package scenarios
|
|
107
|
-
resolve(projectRoot, "node_modules", "next-vibe", "check.config.js"),
|
|
108
|
-
resolve(projectRoot, "node_modules", "next-vibe", "dist", "check.config.js"),
|
|
109
|
-
];
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
// ============================================================
|
|
113
|
-
// Config Loading
|
|
114
|
-
// ============================================================
|
|
115
|
-
|
|
116
|
-
/**
|
|
117
|
-
* Load check.config.ts/js using require (works in Bun and Node)
|
|
118
|
-
* Handles both object and function exports
|
|
119
|
-
*/
|
|
120
|
-
function loadCheckConfigSync(): CheckConfig | null {
|
|
121
|
-
if (configLoadAttempted) {
|
|
122
|
-
return cachedCheckConfig;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
configLoadAttempted = true;
|
|
126
|
-
|
|
127
|
-
const configPaths = getConfigPaths();
|
|
128
|
-
|
|
129
|
-
for (const configPath of configPaths) {
|
|
130
|
-
if (!existsSync(configPath)) {
|
|
131
|
-
continue;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
try {
|
|
135
|
-
// Use require for synchronous loading (needed for plugin create() functions)
|
|
136
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports -- Plugin context requires sync loading
|
|
137
|
-
const configModule = require(configPath) as {
|
|
138
|
-
default?: CheckConfig | (() => CheckConfig);
|
|
139
|
-
config?: CheckConfig | (() => CheckConfig);
|
|
140
|
-
};
|
|
141
|
-
|
|
142
|
-
const exportedValue = configModule.default ?? configModule.config;
|
|
143
|
-
|
|
144
|
-
if (!exportedValue) {
|
|
145
|
-
continue;
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
// Support both direct object exports and factory functions
|
|
149
|
-
const config = typeof exportedValue === "function" ? exportedValue() : exportedValue;
|
|
150
|
-
|
|
151
|
-
cachedCheckConfig = config;
|
|
152
|
-
return config;
|
|
153
|
-
} catch {
|
|
154
|
-
// Try next path
|
|
155
|
-
continue;
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
return null;
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
/**
|
|
163
|
-
* Extract plugin options from check config rule definition
|
|
164
|
-
* Rule format: ["error", { ...options }]
|
|
165
|
-
*/
|
|
166
|
-
function extractPluginOptions<T>(checkConfig: CheckConfig, pluginName: PluginName): T | null {
|
|
167
|
-
if (!checkConfig.oxlint.enabled) {
|
|
168
|
-
return null;
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
const rules = checkConfig.oxlint.rules;
|
|
172
|
-
if (!rules) {
|
|
173
|
-
return null;
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
const ruleConfig = rules[pluginName];
|
|
177
|
-
|
|
178
|
-
// Rule config can be:
|
|
179
|
-
// - string: "error" | "warn" | "off"
|
|
180
|
-
// - array: ["error", { ...options }]
|
|
181
|
-
if (Array.isArray(ruleConfig) && ruleConfig.length >= 2) {
|
|
182
|
-
return ruleConfig[1] as T;
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
return null;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
// ============================================================
|
|
189
|
-
// Public API
|
|
190
|
-
// ============================================================
|
|
191
|
-
|
|
192
|
-
/**
|
|
193
|
-
* Load plugin configuration with full type safety
|
|
194
|
-
*
|
|
195
|
-
* Priority:
|
|
196
|
-
* 1. Cached config (if already loaded)
|
|
197
|
-
* 2. check.config.ts oxlint.rules[pluginName][1] (rule options)
|
|
198
|
-
* 3. Default config (if provided)
|
|
199
|
-
*
|
|
200
|
-
* @param pluginName - Full plugin rule name (e.g., "oxlint-plugin-i18n/no-literal-string")
|
|
201
|
-
* @param defaultConfig - Optional default configuration
|
|
202
|
-
* @returns Type-safe plugin configuration
|
|
203
|
-
*/
|
|
204
|
-
export function loadPluginConfig<K extends PluginName>(
|
|
205
|
-
pluginName: K,
|
|
206
|
-
defaultConfig?: PluginConfigMap[K],
|
|
207
|
-
): ConfigLoadResult<PluginConfigMap[K]> {
|
|
208
|
-
// Check cache first
|
|
209
|
-
const cached = pluginConfigCache.get(pluginName);
|
|
210
|
-
if (cached) {
|
|
211
|
-
return cached as ConfigLoadResult<PluginConfigMap[K]>;
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
// Try to load check config
|
|
215
|
-
const checkConfig = loadCheckConfigSync();
|
|
216
|
-
|
|
217
|
-
if (checkConfig) {
|
|
218
|
-
// Try to extract plugin options from rule config
|
|
219
|
-
const pluginOptions = extractPluginOptions<PluginConfigMap[K]>(checkConfig, pluginName);
|
|
220
|
-
|
|
221
|
-
if (pluginOptions) {
|
|
222
|
-
const result: ConfigLoadResult<PluginConfigMap[K]> = {
|
|
223
|
-
success: true,
|
|
224
|
-
config: pluginOptions,
|
|
225
|
-
source: "rule-config",
|
|
226
|
-
};
|
|
227
|
-
pluginConfigCache.set(pluginName, result as ConfigLoadResult<LintConfigValue>);
|
|
228
|
-
return result;
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
// Use default config if provided
|
|
233
|
-
if (defaultConfig) {
|
|
234
|
-
const result: ConfigLoadResult<PluginConfigMap[K]> = {
|
|
235
|
-
success: true,
|
|
236
|
-
config: defaultConfig,
|
|
237
|
-
source: "default",
|
|
238
|
-
};
|
|
239
|
-
pluginConfigCache.set(pluginName, result as ConfigLoadResult<LintConfigValue>);
|
|
240
|
-
return result;
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
// No config available
|
|
244
|
-
const result: ConfigLoadResult<PluginConfigMap[K]> = {
|
|
245
|
-
success: false,
|
|
246
|
-
config: null,
|
|
247
|
-
source: "error",
|
|
248
|
-
error: `No configuration found for ${pluginName}`,
|
|
249
|
-
};
|
|
250
|
-
pluginConfigCache.set(pluginName, result as ConfigLoadResult<LintConfigValue>);
|
|
251
|
-
return result;
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
/**
|
|
255
|
-
* Get the full CheckConfig (for plugins that need access to all settings)
|
|
256
|
-
*/
|
|
257
|
-
export function getCheckConfig(): CheckConfig | null {
|
|
258
|
-
return loadCheckConfigSync();
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
/**
|
|
262
|
-
* Clear all cached configurations (useful for testing)
|
|
263
|
-
*/
|
|
264
|
-
export function clearConfigCache(): void {
|
|
265
|
-
cachedCheckConfig = null;
|
|
266
|
-
configLoadAttempted = false;
|
|
267
|
-
pluginConfigCache.clear();
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
/**
|
|
271
|
-
* Create customizable error messages for a plugin
|
|
272
|
-
* Allows users to override default messages via config
|
|
273
|
-
*
|
|
274
|
-
* @param defaults - Default message templates
|
|
275
|
-
* @param overrides - User-provided message overrides
|
|
276
|
-
* @returns Merged messages object
|
|
277
|
-
*/
|
|
278
|
-
export function createPluginMessages<T extends PluginMessages>(
|
|
279
|
-
defaults: T,
|
|
280
|
-
overrides?: Partial<T>,
|
|
281
|
-
): T {
|
|
282
|
-
return { ...defaults, ...overrides };
|
|
283
|
-
}
|