@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.
Files changed (430) hide show
  1. package/LICENSE +669 -5
  2. package/README.md +179 -200
  3. package/check.config.ts +85 -16
  4. package/generated/alias-map.ts +30 -0
  5. package/generated/endpoint.ts +75 -0
  6. package/{src/app/api/[locale]/system/check/oxlint/plugins/i18n/src/index.ts → oxlint-plugins/i18n.ts} +45 -9
  7. package/{src/app/api/[locale]/system/check/oxlint/plugins/jsx-capitalization/src/index.ts → oxlint-plugins/jsx-capitalization.ts} +84 -17
  8. package/{src/app/api/[locale]/system/check/oxlint/plugins/restricted-syntax/src/index.ts → oxlint-plugins/restricted-syntax.ts} +40 -14
  9. package/package.json +28 -132
  10. package/.dist/LICENSE +0 -674
  11. package/.dist/README.md +0 -257
  12. package/.dist/bin/vibe-runtime.js +0 -58166
  13. package/.dist/bin/vibe-runtime.js.map +0 -451
  14. package/.dist/oxlint-plugins/i18n.js +0 -381
  15. package/.dist/oxlint-plugins/jsx-capitalization.js +0 -436
  16. package/.dist/oxlint-plugins/restricted-syntax.js +0 -409
  17. package/src/app/api/[locale]/LICENSE +0 -674
  18. package/src/app/api/[locale]/i18n/de/index.ts +0 -15
  19. package/src/app/api/[locale]/i18n/en/index.ts +0 -14
  20. package/src/app/api/[locale]/i18n/pl/index.ts +0 -13
  21. package/src/app/api/[locale]/shared/i18n/de/index.ts +0 -85
  22. package/src/app/api/[locale]/shared/i18n/en/index.ts +0 -83
  23. package/src/app/api/[locale]/shared/i18n/pl/index.ts +0 -85
  24. package/src/app/api/[locale]/shared/stats-filtering.ts +0 -174
  25. package/src/app/api/[locale]/shared/types/common.schema.ts +0 -55
  26. package/src/app/api/[locale]/shared/types/response.schema.ts +0 -411
  27. package/src/app/api/[locale]/shared/types/stats-filtering.schema.ts +0 -315
  28. package/src/app/api/[locale]/shared/types/utils.ts +0 -187
  29. package/src/app/api/[locale]/shared/utils/base64.ts +0 -46
  30. package/src/app/api/[locale]/shared/utils/env-util.ts +0 -36
  31. package/src/app/api/[locale]/shared/utils/i18n/de/index.ts +0 -21
  32. package/src/app/api/[locale]/shared/utils/i18n/en/index.ts +0 -19
  33. package/src/app/api/[locale]/shared/utils/i18n/pl/index.ts +0 -21
  34. package/src/app/api/[locale]/shared/utils/index.ts +0 -11
  35. package/src/app/api/[locale]/shared/utils/object-path.ts +0 -41
  36. package/src/app/api/[locale]/shared/utils/object.test.ts +0 -82
  37. package/src/app/api/[locale]/shared/utils/object.ts +0 -73
  38. package/src/app/api/[locale]/shared/utils/parse-error.ts +0 -134
  39. package/src/app/api/[locale]/shared/utils/parse-json.ts +0 -62
  40. package/src/app/api/[locale]/shared/utils/time.ts +0 -46
  41. package/src/app/api/[locale]/shared/utils/validation.ts +0 -117
  42. package/src/app/api/[locale]/shared/utils/zod-required-fields.ts +0 -115
  43. package/src/app/api/[locale]/system/builder/definition.ts +0 -1750
  44. package/src/app/api/[locale]/system/builder/enum.ts +0 -78
  45. package/src/app/api/[locale]/system/builder/i18n/de/index.ts +0 -645
  46. package/src/app/api/[locale]/system/builder/i18n/en/index.ts +0 -653
  47. package/src/app/api/[locale]/system/builder/i18n/pl/index.ts +0 -643
  48. package/src/app/api/[locale]/system/builder/repository/build-executor.test.ts +0 -178
  49. package/src/app/api/[locale]/system/builder/repository/build-executor.ts +0 -538
  50. package/src/app/api/[locale]/system/builder/repository/bun-compiler.ts +0 -250
  51. package/src/app/api/[locale]/system/builder/repository/bundle-analyzer.ts +0 -170
  52. package/src/app/api/[locale]/system/builder/repository/config-loader.ts +0 -146
  53. package/src/app/api/[locale]/system/builder/repository/config-validator.ts +0 -97
  54. package/src/app/api/[locale]/system/builder/repository/constants.ts +0 -125
  55. package/src/app/api/[locale]/system/builder/repository/error-suggester.ts +0 -67
  56. package/src/app/api/[locale]/system/builder/repository/file-copier.ts +0 -90
  57. package/src/app/api/[locale]/system/builder/repository/folder-cleaner.ts +0 -75
  58. package/src/app/api/[locale]/system/builder/repository/index.ts +0 -2
  59. package/src/app/api/[locale]/system/builder/repository/npm-package-generator.ts +0 -143
  60. package/src/app/api/[locale]/system/builder/repository/output-formatter.ts +0 -104
  61. package/src/app/api/[locale]/system/builder/repository/profile-service.ts +0 -79
  62. package/src/app/api/[locale]/system/builder/repository/report-generator.ts +0 -109
  63. package/src/app/api/[locale]/system/builder/repository/vite-compiler.ts +0 -277
  64. package/src/app/api/[locale]/system/builder/route.ts +0 -21
  65. package/src/app/api/[locale]/system/builder/test-files/file1.ts +0 -2
  66. package/src/app/api/[locale]/system/builder/test-files/file2.tsx +0 -10
  67. package/src/app/api/[locale]/system/builder/test-files/file3.tsx +0 -16
  68. package/src/app/api/[locale]/system/builder/test-files/folderToCopy/fileInFolder.ts +0 -2
  69. package/src/app/api/[locale]/system/builder/test-files/test-config.ts +0 -38
  70. package/src/app/api/[locale]/system/builder/test-files/test-delete-config.ts +0 -8
  71. package/src/app/api/[locale]/system/builder/test-files/test-project/package.json +0 -24
  72. package/src/app/api/[locale]/system/builder/test-files/test-project/src/constants.ts +0 -6
  73. package/src/app/api/[locale]/system/builder/test-files/test-project/src/greet.ts +0 -18
  74. package/src/app/api/[locale]/system/builder/test-files/test-project/src/index.ts +0 -7
  75. package/src/app/api/[locale]/system/builder/test-files/test-project/src/utils/calculate.ts +0 -27
  76. package/src/app/api/[locale]/system/builder/test-files/test-project/tsconfig.json +0 -19
  77. package/src/app/api/[locale]/system/builder/test-files/test-project/tsconfig.tsbuildinfo +0 -1
  78. package/src/app/api/[locale]/system/builder/test-files/test3.css +0 -1
  79. package/src/app/api/[locale]/system/check/config/create/definition.ts +0 -266
  80. package/src/app/api/[locale]/system/check/config/create/i18n/de/index.ts +0 -151
  81. package/src/app/api/[locale]/system/check/config/create/i18n/en/index.ts +0 -146
  82. package/src/app/api/[locale]/system/check/config/create/i18n/pl/index.ts +0 -148
  83. package/src/app/api/[locale]/system/check/config/create/repository.ts +0 -269
  84. package/src/app/api/[locale]/system/check/config/create/route.ts +0 -21
  85. package/src/app/api/[locale]/system/check/config/repository.ts +0 -846
  86. package/src/app/api/[locale]/system/check/config/shared.ts +0 -364
  87. package/src/app/api/[locale]/system/check/config/types.ts +0 -610
  88. package/src/app/api/[locale]/system/check/config/utils.ts +0 -155
  89. package/src/app/api/[locale]/system/check/i18n/de/index.ts +0 -19
  90. package/src/app/api/[locale]/system/check/i18n/en/index.ts +0 -18
  91. package/src/app/api/[locale]/system/check/i18n/pl/index.ts +0 -19
  92. package/src/app/api/[locale]/system/check/lint/definition.ts +0 -383
  93. package/src/app/api/[locale]/system/check/lint/enum.ts +0 -34
  94. package/src/app/api/[locale]/system/check/lint/i18n/de/index.ts +0 -160
  95. package/src/app/api/[locale]/system/check/lint/i18n/en/index.ts +0 -158
  96. package/src/app/api/[locale]/system/check/lint/i18n/pl/index.ts +0 -160
  97. package/src/app/api/[locale]/system/check/lint/repository.ts +0 -844
  98. package/src/app/api/[locale]/system/check/lint/route.ts +0 -21
  99. package/src/app/api/[locale]/system/check/oxlint/README.md +0 -190
  100. package/src/app/api/[locale]/system/check/oxlint/definition.ts +0 -375
  101. package/src/app/api/[locale]/system/check/oxlint/enum.ts +0 -34
  102. package/src/app/api/[locale]/system/check/oxlint/i18n/de/index.ts +0 -166
  103. package/src/app/api/[locale]/system/check/oxlint/i18n/en/index.ts +0 -164
  104. package/src/app/api/[locale]/system/check/oxlint/i18n/pl/index.ts +0 -166
  105. package/src/app/api/[locale]/system/check/oxlint/plugins/jsx-capitalization/README.md +0 -269
  106. package/src/app/api/[locale]/system/check/oxlint/plugins/restricted-syntax/test.tsx +0 -74
  107. package/src/app/api/[locale]/system/check/oxlint/plugins/shared/config-loader.ts +0 -283
  108. package/src/app/api/[locale]/system/check/oxlint/repository.ts +0 -553
  109. package/src/app/api/[locale]/system/check/oxlint/route.ts +0 -21
  110. package/src/app/api/[locale]/system/check/oxlint/types.ts +0 -191
  111. package/src/app/api/[locale]/system/check/test-project/.vscode/settings.json +0 -48
  112. package/src/app/api/[locale]/system/check/test-project/bun.lock +0 -640
  113. package/src/app/api/[locale]/system/check/test-project/check.config.ts +0 -955
  114. package/src/app/api/[locale]/system/check/test-project/package.json +0 -17
  115. package/src/app/api/[locale]/system/check/test-project/src/constants.ts +0 -6
  116. package/src/app/api/[locale]/system/check/test-project/src/greet.ts +0 -18
  117. package/src/app/api/[locale]/system/check/test-project/src/test-issues/a11y-issues.tsx +0 -107
  118. package/src/app/api/[locale]/system/check/test-project/src/test-issues/eslint-issues.tsx +0 -37
  119. package/src/app/api/[locale]/system/check/test-project/src/test-issues/general-issues.ts +0 -135
  120. package/src/app/api/[locale]/system/check/test-project/src/test-issues/i18n-issues.tsx +0 -113
  121. package/src/app/api/[locale]/system/check/test-project/src/test-issues/jsx-capitalization-issues.tsx +0 -127
  122. package/src/app/api/[locale]/system/check/test-project/src/test-issues/nextjs-issues.tsx +0 -92
  123. package/src/app/api/[locale]/system/check/test-project/src/test-issues/promise-issues.ts +0 -73
  124. package/src/app/api/[locale]/system/check/test-project/src/test-issues/react-issues.tsx +0 -95
  125. package/src/app/api/[locale]/system/check/test-project/src/test-issues/restricted-syntax-issues.tsx +0 -61
  126. package/src/app/api/[locale]/system/check/test-project/src/test-issues/typescript-issues.ts +0 -78
  127. package/src/app/api/[locale]/system/check/test-project/src/utils/calculate.ts +0 -27
  128. package/src/app/api/[locale]/system/check/test-project/tsconfig.json +0 -22
  129. package/src/app/api/[locale]/system/check/test-project/tsconfig.tsbuildinfo +0 -1
  130. package/src/app/api/[locale]/system/check/typecheck/definition.ts +0 -328
  131. package/src/app/api/[locale]/system/check/typecheck/enum.ts +0 -34
  132. package/src/app/api/[locale]/system/check/typecheck/i18n/de/index.ts +0 -148
  133. package/src/app/api/[locale]/system/check/typecheck/i18n/en/index.ts +0 -145
  134. package/src/app/api/[locale]/system/check/typecheck/i18n/pl/index.ts +0 -148
  135. package/src/app/api/[locale]/system/check/typecheck/repository.ts +0 -863
  136. package/src/app/api/[locale]/system/check/typecheck/route.ts +0 -21
  137. package/src/app/api/[locale]/system/check/typecheck/utils.ts +0 -160
  138. package/src/app/api/[locale]/system/check/vibe-check/definition.ts +0 -448
  139. package/src/app/api/[locale]/system/check/vibe-check/enum.ts +0 -63
  140. package/src/app/api/[locale]/system/check/vibe-check/i18n/de/index.ts +0 -164
  141. package/src/app/api/[locale]/system/check/vibe-check/i18n/en/index.ts +0 -161
  142. package/src/app/api/[locale]/system/check/vibe-check/i18n/pl/index.ts +0 -163
  143. package/src/app/api/[locale]/system/check/vibe-check/repository.ts +0 -516
  144. package/src/app/api/[locale]/system/check/vibe-check/route.test.ts +0 -1010
  145. package/src/app/api/[locale]/system/check/vibe-check/route.ts +0 -21
  146. package/src/app/api/[locale]/system/generated/endpoint.ts +0 -274
  147. package/src/app/api/[locale]/system/generated/endpoints.ts +0 -138
  148. package/src/app/api/[locale]/system/generated/route-handlers.ts +0 -213
  149. package/src/app/api/[locale]/system/generators/endpoint/definition.ts +0 -167
  150. package/src/app/api/[locale]/system/generators/endpoint/i18n/de/index.ts +0 -48
  151. package/src/app/api/[locale]/system/generators/endpoint/i18n/en/index.ts +0 -48
  152. package/src/app/api/[locale]/system/generators/endpoint/i18n/pl/index.ts +0 -50
  153. package/src/app/api/[locale]/system/generators/endpoint/repository.ts +0 -286
  154. package/src/app/api/[locale]/system/generators/endpoint/route.ts +0 -18
  155. package/src/app/api/[locale]/system/generators/endpoints/definition.ts +0 -246
  156. package/src/app/api/[locale]/system/generators/endpoints/i18n/de/index.ts +0 -54
  157. package/src/app/api/[locale]/system/generators/endpoints/i18n/en/index.ts +0 -52
  158. package/src/app/api/[locale]/system/generators/endpoints/i18n/pl/index.ts +0 -54
  159. package/src/app/api/[locale]/system/generators/endpoints/options-repository.ts +0 -425
  160. package/src/app/api/[locale]/system/generators/endpoints/repository.ts +0 -368
  161. package/src/app/api/[locale]/system/generators/endpoints/route.ts +0 -17
  162. package/src/app/api/[locale]/system/generators/endpoints-index/definition.ts +0 -166
  163. package/src/app/api/[locale]/system/generators/endpoints-index/i18n/de/index.ts +0 -71
  164. package/src/app/api/[locale]/system/generators/endpoints-index/i18n/en/index.ts +0 -69
  165. package/src/app/api/[locale]/system/generators/endpoints-index/i18n/pl/index.ts +0 -71
  166. package/src/app/api/[locale]/system/generators/endpoints-index/repository.ts +0 -279
  167. package/src/app/api/[locale]/system/generators/endpoints-index/route.ts +0 -18
  168. package/src/app/api/[locale]/system/generators/generate-all/definition.ts +0 -327
  169. package/src/app/api/[locale]/system/generators/generate-all/i18n/de/index.ts +0 -96
  170. package/src/app/api/[locale]/system/generators/generate-all/i18n/en/index.ts +0 -94
  171. package/src/app/api/[locale]/system/generators/generate-all/i18n/pl/index.ts +0 -96
  172. package/src/app/api/[locale]/system/generators/generate-all/repository.ts +0 -240
  173. package/src/app/api/[locale]/system/generators/generate-all/route.ts +0 -19
  174. package/src/app/api/[locale]/system/generators/i18n/de/index.ts +0 -15
  175. package/src/app/api/[locale]/system/generators/i18n/en/index.ts +0 -14
  176. package/src/app/api/[locale]/system/generators/i18n/pl/index.ts +0 -15
  177. package/src/app/api/[locale]/system/generators/route-handlers/definition.ts +0 -178
  178. package/src/app/api/[locale]/system/generators/route-handlers/i18n/de/index.ts +0 -48
  179. package/src/app/api/[locale]/system/generators/route-handlers/i18n/en/index.ts +0 -48
  180. package/src/app/api/[locale]/system/generators/route-handlers/i18n/pl/index.ts +0 -50
  181. package/src/app/api/[locale]/system/generators/route-handlers/repository.ts +0 -267
  182. package/src/app/api/[locale]/system/generators/route-handlers/route.ts +0 -14
  183. package/src/app/api/[locale]/system/generators/shared/utils.ts +0 -215
  184. package/src/app/api/[locale]/system/help/definition.ts +0 -433
  185. package/src/app/api/[locale]/system/help/i18n/de/index.ts +0 -263
  186. package/src/app/api/[locale]/system/help/i18n/en/index.ts +0 -259
  187. package/src/app/api/[locale]/system/help/i18n/pl/index.ts +0 -262
  188. package/src/app/api/[locale]/system/help/interactive/definition.ts +0 -122
  189. package/src/app/api/[locale]/system/help/interactive/i18n/de/index.ts +0 -21
  190. package/src/app/api/[locale]/system/help/interactive/i18n/en/index.ts +0 -19
  191. package/src/app/api/[locale]/system/help/interactive/i18n/pl/index.ts +0 -21
  192. package/src/app/api/[locale]/system/help/interactive/repository.ts +0 -1131
  193. package/src/app/api/[locale]/system/help/interactive/route.ts +0 -43
  194. package/src/app/api/[locale]/system/help/list/definition.ts +0 -362
  195. package/src/app/api/[locale]/system/help/list/repository.ts +0 -99
  196. package/src/app/api/[locale]/system/help/list/route.ts +0 -21
  197. package/src/app/api/[locale]/system/help/repository.ts +0 -238
  198. package/src/app/api/[locale]/system/help/route.ts +0 -16
  199. package/src/app/api/[locale]/system/i18n/de/index.ts +0 -67
  200. package/src/app/api/[locale]/system/i18n/en/index.ts +0 -66
  201. package/src/app/api/[locale]/system/i18n/pl/index.ts +0 -67
  202. package/src/app/api/[locale]/system/release-tool/definition.ts +0 -2925
  203. package/src/app/api/[locale]/system/release-tool/i18n/de/index.ts +0 -782
  204. package/src/app/api/[locale]/system/release-tool/i18n/en/index.ts +0 -779
  205. package/src/app/api/[locale]/system/release-tool/i18n/pl/index.ts +0 -781
  206. package/src/app/api/[locale]/system/release-tool/repository/asset-zipper.ts +0 -122
  207. package/src/app/api/[locale]/system/release-tool/repository/changelog-generator.ts +0 -205
  208. package/src/app/api/[locale]/system/release-tool/repository/ci-detector.ts +0 -540
  209. package/src/app/api/[locale]/system/release-tool/repository/config.ts +0 -106
  210. package/src/app/api/[locale]/system/release-tool/repository/constants.ts +0 -406
  211. package/src/app/api/[locale]/system/release-tool/repository/dependency-manager.ts +0 -496
  212. package/src/app/api/[locale]/system/release-tool/repository/git-service.ts +0 -378
  213. package/src/app/api/[locale]/system/release-tool/repository/hook-runner.ts +0 -96
  214. package/src/app/api/[locale]/system/release-tool/repository/index.ts +0 -1
  215. package/src/app/api/[locale]/system/release-tool/repository/notification-service.ts +0 -575
  216. package/src/app/api/[locale]/system/release-tool/repository/package-service.ts +0 -150
  217. package/src/app/api/[locale]/system/release-tool/repository/publisher.ts +0 -241
  218. package/src/app/api/[locale]/system/release-tool/repository/quality-runner.ts +0 -413
  219. package/src/app/api/[locale]/system/release-tool/repository/release-creator.ts +0 -283
  220. package/src/app/api/[locale]/system/release-tool/repository/release-executor.ts +0 -1084
  221. package/src/app/api/[locale]/system/release-tool/repository/snyk-service.ts +0 -132
  222. package/src/app/api/[locale]/system/release-tool/repository/utils.ts +0 -603
  223. package/src/app/api/[locale]/system/release-tool/repository/validation.ts +0 -265
  224. package/src/app/api/[locale]/system/release-tool/repository/version-service.ts +0 -275
  225. package/src/app/api/[locale]/system/release-tool/route.ts +0 -21
  226. package/src/app/api/[locale]/system/unified-interface/README.md +0 -328
  227. package/src/app/api/[locale]/system/unified-interface/cli/README.md +0 -349
  228. package/src/app/api/[locale]/system/unified-interface/cli/auth/cli-handler.ts +0 -82
  229. package/src/app/api/[locale]/system/unified-interface/cli/auth/cli-user.ts +0 -120
  230. package/src/app/api/[locale]/system/unified-interface/cli/auth/session-file.ts +0 -244
  231. package/src/app/api/[locale]/system/unified-interface/cli/env.ts +0 -24
  232. package/src/app/api/[locale]/system/unified-interface/cli/i18n/de/index.ts +0 -159
  233. package/src/app/api/[locale]/system/unified-interface/cli/i18n/en/index.ts +0 -158
  234. package/src/app/api/[locale]/system/unified-interface/cli/i18n/pl/index.ts +0 -159
  235. package/src/app/api/[locale]/system/unified-interface/cli/runtime/debug.ts +0 -573
  236. package/src/app/api/[locale]/system/unified-interface/cli/runtime/entry-point.ts +0 -128
  237. package/src/app/api/[locale]/system/unified-interface/cli/runtime/environment.ts +0 -155
  238. package/src/app/api/[locale]/system/unified-interface/cli/runtime/execution-errors.ts +0 -423
  239. package/src/app/api/[locale]/system/unified-interface/cli/runtime/parsing.ts +0 -252
  240. package/src/app/api/[locale]/system/unified-interface/cli/runtime/route-executor.ts +0 -901
  241. package/src/app/api/[locale]/system/unified-interface/cli/setup/i18n/de/index.ts +0 -12
  242. package/src/app/api/[locale]/system/unified-interface/cli/setup/i18n/en/index.ts +0 -11
  243. package/src/app/api/[locale]/system/unified-interface/cli/setup/i18n/pl/index.ts +0 -12
  244. package/src/app/api/[locale]/system/unified-interface/cli/setup/install/definition.ts +0 -235
  245. package/src/app/api/[locale]/system/unified-interface/cli/setup/install/i18n/de/index.ts +0 -54
  246. package/src/app/api/[locale]/system/unified-interface/cli/setup/install/i18n/en/index.ts +0 -52
  247. package/src/app/api/[locale]/system/unified-interface/cli/setup/install/i18n/pl/index.ts +0 -54
  248. package/src/app/api/[locale]/system/unified-interface/cli/setup/install/repository.ts +0 -444
  249. package/src/app/api/[locale]/system/unified-interface/cli/setup/install/route.ts +0 -25
  250. package/src/app/api/[locale]/system/unified-interface/cli/setup/status/definition.ts +0 -159
  251. package/src/app/api/[locale]/system/unified-interface/cli/setup/status/i18n/de/index.ts +0 -61
  252. package/src/app/api/[locale]/system/unified-interface/cli/setup/status/i18n/en/index.ts +0 -59
  253. package/src/app/api/[locale]/system/unified-interface/cli/setup/status/i18n/pl/index.ts +0 -61
  254. package/src/app/api/[locale]/system/unified-interface/cli/setup/status/repository.ts +0 -181
  255. package/src/app/api/[locale]/system/unified-interface/cli/setup/status/route.ts +0 -22
  256. package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/definition.ts +0 -164
  257. package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/i18n/de/index.ts +0 -54
  258. package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/i18n/en/index.ts +0 -52
  259. package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/i18n/pl/index.ts +0 -54
  260. package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/repository.ts +0 -195
  261. package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/route.ts +0 -24
  262. package/src/app/api/[locale]/system/unified-interface/cli/setup/update/definition.ts +0 -180
  263. package/src/app/api/[locale]/system/unified-interface/cli/setup/update/i18n/de/index.ts +0 -54
  264. package/src/app/api/[locale]/system/unified-interface/cli/setup/update/i18n/en/index.ts +0 -52
  265. package/src/app/api/[locale]/system/unified-interface/cli/setup/update/i18n/pl/index.ts +0 -54
  266. package/src/app/api/[locale]/system/unified-interface/cli/setup/update/repository.ts +0 -105
  267. package/src/app/api/[locale]/system/unified-interface/cli/setup/update/route.ts +0 -22
  268. package/src/app/api/[locale]/system/unified-interface/cli/vibe-runtime.ts +0 -264
  269. package/src/app/api/[locale]/system/unified-interface/cli/widgets/core/base-renderer.ts +0 -246
  270. package/src/app/api/[locale]/system/unified-interface/cli/widgets/core/registry.ts +0 -305
  271. package/src/app/api/[locale]/system/unified-interface/cli/widgets/core/types.ts +0 -116
  272. package/src/app/api/[locale]/system/unified-interface/cli/widgets/i18n/de/index.ts +0 -67
  273. package/src/app/api/[locale]/system/unified-interface/cli/widgets/i18n/en/index.ts +0 -65
  274. package/src/app/api/[locale]/system/unified-interface/cli/widgets/i18n/pl/index.ts +0 -67
  275. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/accordion.ts +0 -70
  276. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/avatar.ts +0 -37
  277. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/badge.ts +0 -52
  278. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/code-output.ts +0 -285
  279. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/code-quality-files.ts +0 -71
  280. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/code-quality-list.ts +0 -281
  281. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/code-quality-summary.ts +0 -83
  282. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/container.ts +0 -175
  283. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/data-card.ts +0 -61
  284. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/data-cards.ts +0 -518
  285. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/data-list.ts +0 -75
  286. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/data-table.ts +0 -357
  287. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/editable-text.ts +0 -93
  288. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/empty-state.ts +0 -49
  289. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/errors.ts +0 -63
  290. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/grouped-list.ts +0 -667
  291. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/link-card.ts +0 -78
  292. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/link-list.ts +0 -99
  293. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/link.ts +0 -54
  294. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/loading.ts +0 -46
  295. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/markdown.ts +0 -123
  296. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/metric.ts +0 -269
  297. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/section.ts +0 -114
  298. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/stats-grid.ts +0 -138
  299. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/tabs.ts +0 -59
  300. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/text.ts +0 -76
  301. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/title.ts +0 -37
  302. package/src/app/api/[locale]/system/unified-interface/cli/widgets/renderers/response-renderer.ts +0 -403
  303. package/src/app/api/[locale]/system/unified-interface/cli/widgets/renderers/schema-handler.ts +0 -504
  304. package/src/app/api/[locale]/system/unified-interface/i18n/de/index.ts +0 -39
  305. package/src/app/api/[locale]/system/unified-interface/i18n/en/index.ts +0 -37
  306. package/src/app/api/[locale]/system/unified-interface/i18n/pl/index.ts +0 -39
  307. package/src/app/api/[locale]/system/unified-interface/mcp/README.md +0 -114
  308. package/src/app/api/[locale]/system/unified-interface/mcp/converter.ts +0 -136
  309. package/src/app/api/[locale]/system/unified-interface/mcp/i18n/de/index.ts +0 -180
  310. package/src/app/api/[locale]/system/unified-interface/mcp/i18n/en/index.ts +0 -178
  311. package/src/app/api/[locale]/system/unified-interface/mcp/i18n/pl/index.ts +0 -180
  312. package/src/app/api/[locale]/system/unified-interface/mcp/registry.ts +0 -305
  313. package/src/app/api/[locale]/system/unified-interface/mcp/serve/definition.ts +0 -124
  314. package/src/app/api/[locale]/system/unified-interface/mcp/serve/repository.ts +0 -44
  315. package/src/app/api/[locale]/system/unified-interface/mcp/serve/route.ts +0 -14
  316. package/src/app/api/[locale]/system/unified-interface/mcp/server/protocol-handler.ts +0 -291
  317. package/src/app/api/[locale]/system/unified-interface/mcp/server/server.ts +0 -155
  318. package/src/app/api/[locale]/system/unified-interface/mcp/server/stdio-transport.ts +0 -191
  319. package/src/app/api/[locale]/system/unified-interface/mcp/types.ts +0 -247
  320. package/src/app/api/[locale]/system/unified-interface/react/icons.tsx +0 -346
  321. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/definition/create-form.ts +0 -1413
  322. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/definition/create.ts +0 -525
  323. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/definition/endpoint-to-metadata.ts +0 -52
  324. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/definition/loader.ts +0 -144
  325. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/definitions/registry.ts +0 -262
  326. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/permissions/registry.ts +0 -656
  327. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/route/executor.ts +0 -220
  328. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/route/handler.ts +0 -313
  329. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/route/multi.ts +0 -182
  330. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/route/request-validator.ts +0 -173
  331. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/route/single.ts +0 -58
  332. package/src/app/api/[locale]/system/unified-interface/shared/env/define-env-client.ts +0 -45
  333. package/src/app/api/[locale]/system/unified-interface/shared/env/define-env.ts +0 -43
  334. package/src/app/api/[locale]/system/unified-interface/shared/env/validation-logger.ts +0 -58
  335. package/src/app/api/[locale]/system/unified-interface/shared/field/enum.ts +0 -107
  336. package/src/app/api/[locale]/system/unified-interface/shared/field/specialized.ts +0 -336
  337. package/src/app/api/[locale]/system/unified-interface/shared/field/utils.test.ts +0 -385
  338. package/src/app/api/[locale]/system/unified-interface/shared/field/utils.ts +0 -1827
  339. package/src/app/api/[locale]/system/unified-interface/shared/field-config/endpoint-field-types.ts +0 -108
  340. package/src/app/api/[locale]/system/unified-interface/shared/field-config/field-config-types.ts +0 -288
  341. package/src/app/api/[locale]/system/unified-interface/shared/logger/colors.ts +0 -114
  342. package/src/app/api/[locale]/system/unified-interface/shared/logger/endpoint.ts +0 -155
  343. package/src/app/api/[locale]/system/unified-interface/shared/logger/file-logger.ts +0 -85
  344. package/src/app/api/[locale]/system/unified-interface/shared/logger/formatters.ts +0 -167
  345. package/src/app/api/[locale]/system/unified-interface/shared/server-only/auth/base-auth-handler.ts +0 -82
  346. package/src/app/api/[locale]/system/unified-interface/shared/server-only/auth/factory.ts +0 -34
  347. package/src/app/api/[locale]/system/unified-interface/shared/server-only/server-only.ts +0 -1
  348. package/src/app/api/[locale]/system/unified-interface/shared/types/actions.ts +0 -284
  349. package/src/app/api/[locale]/system/unified-interface/shared/types/endpoint.ts +0 -1101
  350. package/src/app/api/[locale]/system/unified-interface/shared/types/enums.ts +0 -383
  351. package/src/app/api/[locale]/system/unified-interface/shared/types/platform.ts +0 -34
  352. package/src/app/api/[locale]/system/unified-interface/shared/types/types.ts +0 -76
  353. package/src/app/api/[locale]/system/unified-interface/shared/types/ui-config.ts +0 -72
  354. package/src/app/api/[locale]/system/unified-interface/shared/utils/error-types.ts +0 -27
  355. package/src/app/api/[locale]/system/unified-interface/shared/utils/path.ts +0 -80
  356. package/src/app/api/[locale]/system/unified-interface/shared/utils/scanner.ts +0 -225
  357. package/src/app/api/[locale]/system/unified-interface/shared/widgets/actions.ts +0 -251
  358. package/src/app/api/[locale]/system/unified-interface/shared/widgets/configs.ts +0 -1060
  359. package/src/app/api/[locale]/system/unified-interface/shared/widgets/helpers.ts +0 -70
  360. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/accordion.ts +0 -75
  361. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/avatar.ts +0 -69
  362. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/badge.ts +0 -86
  363. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/code-output.ts +0 -283
  364. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/code-quality-list.ts +0 -190
  365. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/container.ts +0 -114
  366. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/data-card.ts +0 -71
  367. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/data-cards.ts +0 -228
  368. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/data-list.ts +0 -119
  369. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/data-table.ts +0 -367
  370. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/editable-text.ts +0 -81
  371. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/empty-state.ts +0 -71
  372. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/errors.ts +0 -79
  373. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/grouped-list.ts +0 -426
  374. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/index.ts +0 -38
  375. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/link-card.ts +0 -112
  376. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/link-list.ts +0 -110
  377. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/link.ts +0 -66
  378. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/loading.ts +0 -79
  379. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/markdown.ts +0 -159
  380. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/metric-card.ts +0 -225
  381. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/section.ts +0 -85
  382. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/stats-grid.ts +0 -63
  383. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/tabs.ts +0 -73
  384. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/text.ts +0 -96
  385. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/title.ts +0 -57
  386. package/src/app/api/[locale]/system/unified-interface/shared/widgets/types.ts +0 -236
  387. package/src/app/api/[locale]/system/unified-interface/shared/widgets/utils/field-helpers.ts +0 -120
  388. package/src/app/api/[locale]/system/unified-interface/shared/widgets/utils/formatting.ts +0 -414
  389. package/src/app/api/[locale]/system/unified-interface/shared/widgets/utils/url.ts +0 -37
  390. package/src/app/api/[locale]/system/unified-interface/shared/widgets/utils/widget-helpers.ts +0 -427
  391. package/src/app/api/[locale]/user/auth/i18n/de/index.ts +0 -204
  392. package/src/app/api/[locale]/user/auth/i18n/en/index.ts +0 -199
  393. package/src/app/api/[locale]/user/auth/i18n/pl/index.ts +0 -203
  394. package/src/app/api/[locale]/user/auth/types.ts +0 -45
  395. package/src/app/api/[locale]/user/enum.ts +0 -64
  396. package/src/app/api/[locale]/user/i18n/de/index.ts +0 -75
  397. package/src/app/api/[locale]/user/i18n/en/index.ts +0 -74
  398. package/src/app/api/[locale]/user/i18n/pl/index.ts +0 -75
  399. package/src/app/api/[locale]/user/types.ts +0 -111
  400. package/src/app/api/[locale]/user/user-roles/enum.ts +0 -103
  401. package/src/app/api/[locale]/user/user-roles/i18n/de/index.ts +0 -85
  402. package/src/app/api/[locale]/user/user-roles/i18n/en/index.ts +0 -83
  403. package/src/app/api/[locale]/user/user-roles/i18n/pl/index.ts +0 -85
  404. package/src/app/api/[locale]/user/user-roles/types.ts +0 -32
  405. package/src/app/api/i18n/de/index.ts +0 -6
  406. package/src/app/api/i18n/en/index.ts +0 -5
  407. package/src/app/api/i18n/pl/index.ts +0 -5
  408. package/src/app/i18n/de/index.ts +0 -18
  409. package/src/app/i18n/en/index.ts +0 -18
  410. package/src/app/i18n/pl/index.ts +0 -17
  411. package/src/config/constants.ts +0 -8
  412. package/src/config/debug.ts +0 -30
  413. package/src/config/env-client.ts +0 -57
  414. package/src/config/env.ts +0 -56
  415. package/src/config/i18n/de/index.ts +0 -3
  416. package/src/config/i18n/en/index.ts +0 -51
  417. package/src/config/i18n/pl/index.ts +0 -3
  418. package/src/i18n/core/config.ts +0 -225
  419. package/src/i18n/core/language-utils.ts +0 -226
  420. package/src/i18n/core/localization-utils.ts +0 -394
  421. package/src/i18n/core/scoped-translation.ts +0 -104
  422. package/src/i18n/core/shared-component.tsx +0 -28
  423. package/src/i18n/core/shared-translation-utils.ts +0 -97
  424. package/src/i18n/core/shared.ts +0 -44
  425. package/src/i18n/core/static-types.ts +0 -64
  426. package/src/i18n/core/translation-utils.ts +0 -186
  427. package/src/i18n/de/index.ts +0 -8
  428. package/src/i18n/en/index.ts +0 -7
  429. package/src/i18n/index.ts +0 -100
  430. 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
- }