@verdaccio/ui-components 4.0.0-next-8.7 → 4.0.0-next-8.9

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 (600) hide show
  1. package/README.md +1 -1
  2. package/build/AppTest/AppRoute.js +17 -1
  3. package/build/AppTest/AppRoute.js.map +1 -0
  4. package/build/AppTest/pages/Front/Home.js.map +1 -0
  5. package/build/AppTest/pages/Front/index.js.map +1 -0
  6. package/build/AppTest/pages/Security/AddUser.d.ts +2 -0
  7. package/build/AppTest/pages/Security/AddUser.js +3 -0
  8. package/build/AppTest/pages/Security/AddUser.js.map +1 -0
  9. package/build/AppTest/pages/Security/ChangePassword.d.ts +2 -0
  10. package/build/AppTest/pages/Security/ChangePassword.js +3 -0
  11. package/build/AppTest/pages/Security/ChangePassword.js.map +1 -0
  12. package/build/AppTest/pages/Security/Login.d.ts +2 -0
  13. package/build/AppTest/pages/Security/Login.js +3 -0
  14. package/build/AppTest/pages/Security/Login.js.map +1 -0
  15. package/build/AppTest/pages/Security/Success.d.ts +2 -0
  16. package/build/AppTest/pages/Security/Success.js +3 -0
  17. package/build/AppTest/pages/Security/Success.js.map +1 -0
  18. package/build/AppTest/pages/Security/index.d.ts +4 -0
  19. package/build/AppTest/pages/Security/index.js +5 -0
  20. package/build/AppTest/pages/Security/index.js.map +1 -0
  21. package/build/AppTest/pages/Version/Version.js.map +1 -0
  22. package/build/AppTest/pages/Version/index.js.map +1 -0
  23. package/build/Theme/ResetStyles.js.map +1 -0
  24. package/build/Theme/StyleBaseline.js.map +1 -0
  25. package/build/Theme/ThemeProvider.js.map +1 -0
  26. package/build/Theme/colors.js.map +1 -0
  27. package/build/Theme/index.js.map +1 -0
  28. package/build/Theme/theme.d.ts +1 -1
  29. package/build/Theme/theme.js +1 -1
  30. package/build/Theme/theme.js.map +1 -0
  31. package/build/components/ActionBar/ActionBar.js.map +1 -0
  32. package/build/components/ActionBar/ActionBarAction.js +2 -6
  33. package/build/components/ActionBar/ActionBarAction.js.map +1 -0
  34. package/build/components/ActionBar/index.js.map +1 -0
  35. package/build/components/Author/Author.js.map +1 -0
  36. package/build/components/Author/index.js.map +1 -0
  37. package/build/components/Author/styles.js.map +1 -0
  38. package/build/components/CopyClipboard/CopyToClipBoard.js.map +1 -0
  39. package/build/components/CopyClipboard/index.js.map +1 -0
  40. package/build/components/CopyClipboard/utils.js.map +1 -0
  41. package/build/components/Dependencies/Dependencies.js.map +1 -0
  42. package/build/components/Dependencies/DependencyBlock.js.map +1 -0
  43. package/build/components/Dependencies/index.js.map +1 -0
  44. package/build/components/Dependencies/types.js.map +1 -0
  45. package/build/components/Dependencies/utits.js.map +1 -0
  46. package/build/components/Deprecated/Deprecated.js +11 -7
  47. package/build/components/Deprecated/Deprecated.js.map +1 -0
  48. package/build/components/Deprecated/index.js.map +1 -0
  49. package/build/components/Developers/DeveloperType.js.map +1 -0
  50. package/build/components/Developers/Developers.js.map +1 -0
  51. package/build/components/Developers/Title.js.map +1 -0
  52. package/build/components/Developers/get-unique-developer-values.js.map +1 -0
  53. package/build/components/Developers/index.js.map +1 -0
  54. package/build/components/Distribution/Dist.js.map +1 -0
  55. package/build/components/Distribution/index.js.map +1 -0
  56. package/build/components/Distribution/styles.js.map +1 -0
  57. package/build/components/Engines/Engines.js.map +1 -0
  58. package/build/components/Engines/index.js.map +1 -0
  59. package/build/components/Engines/styles.js.map +1 -0
  60. package/build/components/ErrorBoundary/ErrorBoundary.js.map +1 -0
  61. package/build/components/ErrorBoundary/index.js.map +1 -0
  62. package/build/components/Forbidden/Forbidden.js.map +1 -0
  63. package/build/components/Forbidden/index.js.map +1 -0
  64. package/build/components/FundButton/FundButton.js.map +1 -0
  65. package/build/components/FundButton/index.js.map +1 -0
  66. package/build/components/HeaderInfoDialog/HeaderInfoDialog.js.map +1 -0
  67. package/build/components/HeaderInfoDialog/index.js.map +1 -0
  68. package/build/components/Heading/Heading.js.map +1 -0
  69. package/build/components/Heading/index.js.map +1 -0
  70. package/build/components/Help/Help.js.map +1 -0
  71. package/build/components/Help/index.js.map +1 -0
  72. package/build/components/Help/styles.js.map +1 -0
  73. package/build/components/Icons/DevsIcons/CommonJS.js.map +1 -0
  74. package/build/components/Icons/DevsIcons/ES6Module.js.map +1 -0
  75. package/build/components/Icons/DevsIcons/Git.js.map +1 -0
  76. package/build/components/Icons/DevsIcons/NodeJS.js.map +1 -0
  77. package/build/components/Icons/DevsIcons/TypeScript.js.map +1 -0
  78. package/build/components/Icons/DevsIcons/index.js.map +1 -0
  79. package/build/components/Icons/Earth.js.map +1 -0
  80. package/build/components/Icons/FileBinary.js.map +1 -0
  81. package/build/components/Icons/Law.js.map +1 -0
  82. package/build/components/Icons/Managers/Npm.js.map +1 -0
  83. package/build/components/Icons/Managers/Pnpm.js.map +1 -0
  84. package/build/components/Icons/Managers/Yarn.js.map +1 -0
  85. package/build/components/Icons/Managers/index.js.map +1 -0
  86. package/build/components/Icons/SvgIcon.js.map +1 -0
  87. package/build/components/Icons/Time.js.map +1 -0
  88. package/build/components/Icons/Version.js.map +1 -0
  89. package/build/components/Icons/index.js.map +1 -0
  90. package/build/components/Install/Install.js.map +1 -0
  91. package/build/components/Install/InstallListItem.js.map +1 -0
  92. package/build/components/Install/index.js.map +1 -0
  93. package/build/components/Keywords/KeywordListItems.js.map +1 -0
  94. package/build/components/Keywords/Keywords.js.map +1 -0
  95. package/build/components/Keywords/index.js.map +1 -0
  96. package/build/components/Label/Label.js.map +1 -0
  97. package/build/components/Label/index.js.map +1 -0
  98. package/build/components/Link/Link.js.map +1 -0
  99. package/build/components/Link/index.js.map +1 -0
  100. package/build/components/LinkExternal/LinkExternal.js.map +1 -0
  101. package/build/components/LinkExternal/index.js.map +1 -0
  102. package/build/components/Loading/Loading.js.map +1 -0
  103. package/build/components/Loading/Spinner/Spinner.js.map +1 -0
  104. package/build/components/Loading/Spinner/index.js.map +1 -0
  105. package/build/components/Loading/index.js.map +1 -0
  106. package/build/components/Loading/styles.js.map +1 -0
  107. package/build/components/LoginDialog/LoginDialog.js +0 -1
  108. package/build/components/LoginDialog/LoginDialog.js.map +1 -0
  109. package/build/components/LoginDialog/LoginDialogCloseButton.js.map +1 -0
  110. package/build/components/LoginDialog/LoginDialogForm.js.map +1 -0
  111. package/build/components/LoginDialog/LoginDialogFormError.js.map +1 -0
  112. package/build/components/LoginDialog/LoginDialogHeader.js.map +1 -0
  113. package/build/components/LoginDialog/index.js.map +1 -0
  114. package/build/components/Logo/Logo.js.map +1 -0
  115. package/build/components/Logo/index.js.map +1 -0
  116. package/build/components/MenuItem/MenuItem.js.map +1 -0
  117. package/build/components/MenuItem/index.js.map +1 -0
  118. package/build/components/NoItems/NoItems.js +7 -3
  119. package/build/components/NoItems/NoItems.js.map +1 -0
  120. package/build/components/NoItems/index.js.map +1 -0
  121. package/build/components/NotFound/NotFound.js.map +1 -0
  122. package/build/components/NotFound/index.js.map +1 -0
  123. package/build/components/Package/Package.js +6 -6
  124. package/build/components/Package/Package.js.map +1 -0
  125. package/build/components/Package/index.js.map +1 -0
  126. package/build/components/Package/styles.js.map +1 -0
  127. package/build/components/PackageList/PackageList.js.map +1 -0
  128. package/build/components/PackageList/index.js.map +1 -0
  129. package/build/components/Person/Person.js.map +1 -0
  130. package/build/components/Person/PersonTooltip.js.map +1 -0
  131. package/build/components/Person/index.js.map +1 -0
  132. package/build/components/Person/utils.js.map +1 -0
  133. package/build/components/RawViewer/RawViewer.js.map +1 -0
  134. package/build/components/RawViewer/index.js.map +1 -0
  135. package/build/components/Readme/index.js.map +1 -0
  136. package/build/components/Readme/types.js.map +1 -0
  137. package/build/components/Readme/utils.js.map +1 -0
  138. package/build/components/RegistryInfoDialog/RegistryInfoDialog.js.map +1 -0
  139. package/build/components/RegistryInfoDialog/index.js.map +1 -0
  140. package/build/components/RegistryInfoDialog/styles.js.map +1 -0
  141. package/build/components/RegistryInfoDialog/types.js.map +1 -0
  142. package/build/components/Repository/Repository.js.map +1 -0
  143. package/build/components/Repository/index.js.map +1 -0
  144. package/build/components/Search/AutoComplete/AutoComplete.js.map +1 -0
  145. package/build/components/Search/AutoComplete/index.js.map +1 -0
  146. package/build/components/Search/AutoComplete/styles.js.map +1 -0
  147. package/build/components/Search/Search.js.map +1 -0
  148. package/build/components/Search/SearchItem.js +10 -6
  149. package/build/components/Search/SearchItem.js.map +1 -0
  150. package/build/components/Search/index.js.map +1 -0
  151. package/build/components/Search/styles.js.map +1 -0
  152. package/build/components/Search/utils.js.map +1 -0
  153. package/build/components/SettingsMenu/SettingsMenu.js.map +1 -0
  154. package/build/components/SettingsMenu/index.js.map +1 -0
  155. package/build/components/SideBarTitle/SideBarTitle.js.map +1 -0
  156. package/build/components/SideBarTitle/index.js.map +1 -0
  157. package/build/components/SideBarTitle/utils.js.map +1 -0
  158. package/build/components/TextField/TextField.js.map +1 -0
  159. package/build/components/TextField/index.js.map +1 -0
  160. package/build/components/UpLinks/UpLinks.js.map +1 -0
  161. package/build/components/UpLinks/UplinkLink.js.map +1 -0
  162. package/build/components/UpLinks/index.js.map +1 -0
  163. package/build/components/UpLinks/styles.js.map +1 -0
  164. package/build/components/Versions/HistoryList.js.map +1 -0
  165. package/build/components/Versions/TagList.js.map +1 -0
  166. package/build/components/Versions/Versions.js +5 -2
  167. package/build/components/Versions/Versions.js.map +1 -0
  168. package/build/components/Versions/index.js.map +1 -0
  169. package/build/components/Versions/styles.js.map +1 -0
  170. package/build/components/Versions/types.js.map +1 -0
  171. package/build/hooks/index.js.map +1 -0
  172. package/build/hooks/useLocalStorage.js.map +1 -0
  173. package/build/hooks/useOnClickOutside.js.map +1 -0
  174. package/build/index.d.ts +7 -0
  175. package/build/index.js +4 -0
  176. package/build/index.js.map +1 -0
  177. package/build/layouts/Security/Dialog.d.ts +6 -0
  178. package/build/layouts/Security/Dialog.js +22 -0
  179. package/build/layouts/Security/Dialog.js.map +1 -0
  180. package/build/layouts/Version/Version.js.map +1 -0
  181. package/build/layouts/Version/index.js.map +1 -0
  182. package/build/providers/AppConfigurationProvider/AppConfigurationProvider.js.map +1 -0
  183. package/build/providers/AppConfigurationProvider/index.js.map +1 -0
  184. package/build/providers/PersistenceSettingProvider/PersistenceSettingProvider.js.map +1 -0
  185. package/build/providers/PersistenceSettingProvider/index.js.map +1 -0
  186. package/build/providers/TranslatorProvider/TranslatorProvider.js.map +1 -0
  187. package/build/providers/TranslatorProvider/index.js.map +1 -0
  188. package/build/providers/VersionProvider/VersionProvider.js.map +1 -0
  189. package/build/providers/VersionProvider/index.js.map +1 -0
  190. package/build/providers/index.js.map +1 -0
  191. package/build/sections/Detail/ContainerContent.js.map +1 -0
  192. package/build/sections/Detail/Detail.js.map +1 -0
  193. package/build/sections/Detail/ReadmeSection.js.map +1 -0
  194. package/build/sections/Detail/Tabs.js.map +1 -0
  195. package/build/sections/Detail/index.js.map +1 -0
  196. package/build/sections/Footer/Footer.js.map +1 -0
  197. package/build/sections/Footer/index.js.map +1 -0
  198. package/build/sections/Footer/styles.js.map +1 -0
  199. package/build/sections/Header/Header.d.ts +3 -1
  200. package/build/sections/Header/Header.js +44 -3
  201. package/build/sections/Header/Header.js.map +1 -0
  202. package/build/sections/Header/HeaderGreetings.js.map +1 -0
  203. package/build/sections/Header/HeaderLeft.js.map +1 -0
  204. package/build/sections/Header/HeaderMenu.js.map +1 -0
  205. package/build/sections/Header/HeaderRight.js.map +1 -0
  206. package/build/sections/Header/HeaderSettingsDialog.js.map +1 -0
  207. package/build/sections/Header/HeaderToolTip.js.map +1 -0
  208. package/build/sections/Header/HeaderToolTipIcon.js.map +1 -0
  209. package/build/sections/Header/LanguageSwitch.js.map +1 -0
  210. package/build/sections/Header/RegistryInfoContent/RegistryInfoContent.js.map +1 -0
  211. package/build/sections/Header/RegistryInfoContent/index.js.map +1 -0
  212. package/build/sections/Header/RegistryInfoContent/styles.js.map +1 -0
  213. package/build/sections/Header/index.js.map +1 -0
  214. package/build/sections/Header/styles.js.map +1 -0
  215. package/build/sections/Home/Home.js.map +1 -0
  216. package/build/sections/Home/index.js.map +1 -0
  217. package/build/sections/Security/AddUser.d.ts +3 -0
  218. package/build/sections/Security/AddUser.js +120 -0
  219. package/build/sections/Security/AddUser.js.map +1 -0
  220. package/build/sections/Security/ChangePassword.d.ts +3 -0
  221. package/build/sections/Security/ChangePassword.js +116 -0
  222. package/build/sections/Security/ChangePassword.js.map +1 -0
  223. package/build/sections/Security/Login.d.ts +3 -0
  224. package/build/sections/Security/Login.js +105 -0
  225. package/build/sections/Security/Login.js.map +1 -0
  226. package/build/sections/Security/LoginError.d.ts +7 -0
  227. package/build/sections/Security/LoginError.js +38 -0
  228. package/build/sections/Security/LoginError.js.map +1 -0
  229. package/build/sections/Security/Success.d.ts +9 -0
  230. package/build/sections/Security/Success.js +46 -0
  231. package/build/sections/Security/Success.js.map +1 -0
  232. package/build/sections/Security/index.d.ts +5 -0
  233. package/build/sections/Security/index.js +5 -0
  234. package/build/sections/Security/index.js.map +1 -0
  235. package/build/sections/Security/styles.d.ts +3 -0
  236. package/build/sections/Security/styles.js +40 -0
  237. package/build/sections/Security/styles.js.map +1 -0
  238. package/build/sections/Security/utils.d.ts +6 -0
  239. package/build/sections/Security/utils.js +52 -0
  240. package/build/sections/Security/utils.js.map +1 -0
  241. package/build/sections/SideBar/Sidebar.js.map +1 -0
  242. package/build/sections/SideBar/index.js.map +1 -0
  243. package/build/sections/index.js.map +1 -0
  244. package/build/store/api.js.map +1 -0
  245. package/build/store/index.d.ts +3 -0
  246. package/build/store/index.js.map +1 -0
  247. package/build/store/models/add-user.d.ts +45 -0
  248. package/build/store/models/add-user.js +95 -0
  249. package/build/store/models/add-user.js.map +1 -0
  250. package/build/store/models/change-password.d.ts +44 -0
  251. package/build/store/models/change-password.js +110 -0
  252. package/build/store/models/change-password.js.map +1 -0
  253. package/build/store/models/configuration.js.map +1 -0
  254. package/build/store/models/download.js.map +1 -0
  255. package/build/store/models/index.d.ts +6 -0
  256. package/build/store/models/index.js +7 -1
  257. package/build/store/models/index.js.map +1 -0
  258. package/build/store/models/login-v1.d.ts +44 -0
  259. package/build/store/models/login-v1.js +103 -0
  260. package/build/store/models/login-v1.js.map +1 -0
  261. package/build/store/models/login.js.map +1 -0
  262. package/build/store/models/manifest.js.map +1 -0
  263. package/build/store/models/packages.js.map +1 -0
  264. package/build/store/models/routes.js.map +1 -0
  265. package/build/store/models/search.js.map +1 -0
  266. package/build/store/models/utils.d.ts +3 -0
  267. package/build/store/models/utils.js +3 -0
  268. package/build/store/models/utils.js.map +1 -0
  269. package/build/store/storage.js.map +1 -0
  270. package/build/store/store.js.map +1 -0
  271. package/build/test/i18n-config.js.map +1 -0
  272. package/build/test/test-react-testing-library.js.map +1 -0
  273. package/build/types/index.js.map +1 -0
  274. package/build/types/packageMeta.js.map +1 -0
  275. package/build/utils/cli-utils.js.map +1 -0
  276. package/build/utils/index.js.map +1 -0
  277. package/build/utils/loadable.js.map +1 -0
  278. package/build/utils/routes.d.ts +8 -1
  279. package/build/utils/routes.js +7 -0
  280. package/build/utils/routes.js.map +1 -0
  281. package/build/utils/token-generate.js.map +1 -0
  282. package/build/utils/token.js.map +1 -0
  283. package/build/utils/url.js.map +1 -0
  284. package/build/utils/utils.js.map +1 -0
  285. package/package.json +7 -7
  286. package/.babelrc +0 -16
  287. package/.eslintrc +0 -100
  288. package/CHANGELOG.md +0 -48
  289. package/src/AppTest/App.stories.tsx +0 -89
  290. package/src/AppTest/AppRoute.test.tsx +0 -70
  291. package/src/AppTest/AppRoute.tsx +0 -42
  292. package/src/AppTest/pages/Front/Home.ts +0 -3
  293. package/src/AppTest/pages/Front/index.ts +0 -1
  294. package/src/AppTest/pages/Version/Version.tsx +0 -28
  295. package/src/AppTest/pages/Version/index.ts +0 -1
  296. package/src/Theme/ResetStyles.tsx +0 -44
  297. package/src/Theme/StyleBaseline.tsx +0 -14
  298. package/src/Theme/ThemeProvider.test.tsx +0 -27
  299. package/src/Theme/ThemeProvider.tsx +0 -44
  300. package/src/Theme/colors.ts +0 -1
  301. package/src/Theme/index.ts +0 -5
  302. package/src/Theme/theme.ts +0 -179
  303. package/src/components/ActionBar/ActionBar.stories.tsx +0 -64
  304. package/src/components/ActionBar/ActionBar.test.tsx +0 -152
  305. package/src/components/ActionBar/ActionBar.tsx +0 -63
  306. package/src/components/ActionBar/ActionBarAction.tsx +0 -92
  307. package/src/components/ActionBar/index.ts +0 -1
  308. package/src/components/Author/Author.stories.tsx +0 -53
  309. package/src/components/Author/Author.test.tsx +0 -76
  310. package/src/components/Author/Author.tsx +0 -30
  311. package/src/components/Author/index.ts +0 -1
  312. package/src/components/Author/styles.ts +0 -16
  313. package/src/components/CopyClipboard/CopyToClipBoard.stories.tsx +0 -20
  314. package/src/components/CopyClipboard/CopyToClipBoard.test.tsx +0 -24
  315. package/src/components/CopyClipboard/CopyToClipBoard.tsx +0 -51
  316. package/src/components/CopyClipboard/index.ts +0 -2
  317. package/src/components/CopyClipboard/utils.ts +0 -10
  318. package/src/components/Dependencies/Dependencies.stories.tsx +0 -158
  319. package/src/components/Dependencies/Dependencies.test.tsx +0 -76
  320. package/src/components/Dependencies/Dependencies.tsx +0 -72
  321. package/src/components/Dependencies/DependencyBlock.test.tsx +0 -47
  322. package/src/components/Dependencies/DependencyBlock.tsx +0 -83
  323. package/src/components/Dependencies/index.ts +0 -1
  324. package/src/components/Dependencies/types.ts +0 -7
  325. package/src/components/Dependencies/utits.ts +0 -3
  326. package/src/components/Deprecated/Deprecated.stories.tsx +0 -9
  327. package/src/components/Deprecated/Deprecated.test.tsx +0 -26
  328. package/src/components/Deprecated/Deprecated.tsx +0 -20
  329. package/src/components/Deprecated/index.ts +0 -1
  330. package/src/components/Developers/DeveloperType.tsx +0 -4
  331. package/src/components/Developers/Developers.stories.tsx +0 -60
  332. package/src/components/Developers/Developers.test.tsx +0 -129
  333. package/src/components/Developers/Developers.tsx +0 -82
  334. package/src/components/Developers/Title.tsx +0 -28
  335. package/src/components/Developers/get-unique-developer-values.ts +0 -16
  336. package/src/components/Developers/index.ts +0 -2
  337. package/src/components/Distribution/Dist.stories.tsx +0 -67
  338. package/src/components/Distribution/Dist.test.tsx +0 -99
  339. package/src/components/Distribution/Dist.tsx +0 -56
  340. package/src/components/Distribution/index.ts +0 -1
  341. package/src/components/Distribution/styles.ts +0 -23
  342. package/src/components/Engines/Engines.stories.tsx +0 -71
  343. package/src/components/Engines/Engines.test.tsx +0 -57
  344. package/src/components/Engines/Engines.tsx +0 -99
  345. package/src/components/Engines/index.ts +0 -1
  346. package/src/components/Engines/styles.ts +0 -14
  347. package/src/components/ErrorBoundary/ErrorBoundary.test.tsx +0 -40
  348. package/src/components/ErrorBoundary/ErrorBoundary.tsx +0 -38
  349. package/src/components/ErrorBoundary/index.ts +0 -1
  350. package/src/components/Forbidden/Forbidden.test.tsx +0 -39
  351. package/src/components/Forbidden/Forbidden.tsx +0 -56
  352. package/src/components/Forbidden/index.ts +0 -1
  353. package/src/components/FundButton/FundButton.stories.tsx +0 -56
  354. package/src/components/FundButton/FundButton.test.tsx +0 -84
  355. package/src/components/FundButton/FundButton.tsx +0 -48
  356. package/src/components/FundButton/index.ts +0 -1
  357. package/src/components/HeaderInfoDialog/HeaderInfoDialog.test.tsx +0 -52
  358. package/src/components/HeaderInfoDialog/HeaderInfoDialog.tsx +0 -82
  359. package/src/components/HeaderInfoDialog/index.ts +0 -1
  360. package/src/components/Heading/Heading.test.tsx +0 -20
  361. package/src/components/Heading/Heading.tsx +0 -16
  362. package/src/components/Heading/index.ts +0 -1
  363. package/src/components/Help/Help.stories.tsx +0 -9
  364. package/src/components/Help/Help.test.tsx +0 -18
  365. package/src/components/Help/Help.tsx +0 -54
  366. package/src/components/Help/index.ts +0 -1
  367. package/src/components/Help/styles.ts +0 -7
  368. package/src/components/Icons/.eslintrc +0 -5
  369. package/src/components/Icons/DevsIcons/CommonJS.tsx +0 -7
  370. package/src/components/Icons/DevsIcons/ES6Module.tsx +0 -7
  371. package/src/components/Icons/DevsIcons/Git.tsx +0 -7
  372. package/src/components/Icons/DevsIcons/NodeJS.tsx +0 -7
  373. package/src/components/Icons/DevsIcons/TypeScript.tsx +0 -7
  374. package/src/components/Icons/DevsIcons/commonjs.svg +0 -4
  375. package/src/components/Icons/DevsIcons/es6module.svg +0 -4
  376. package/src/components/Icons/DevsIcons/git.svg +0 -4
  377. package/src/components/Icons/DevsIcons/index.ts +0 -5
  378. package/src/components/Icons/DevsIcons/nodejs.svg +0 -6
  379. package/src/components/Icons/DevsIcons/typescript.svg +0 -4
  380. package/src/components/Icons/Earth.tsx +0 -36
  381. package/src/components/Icons/FileBinary.tsx +0 -21
  382. package/src/components/Icons/Icons.stories.tsx +0 -53
  383. package/src/components/Icons/Icons.test.tsx +0 -70
  384. package/src/components/Icons/Law.tsx +0 -21
  385. package/src/components/Icons/License.tsx +0 -18
  386. package/src/components/Icons/Managers/Npm.tsx +0 -7
  387. package/src/components/Icons/Managers/Pnpm.tsx +0 -7
  388. package/src/components/Icons/Managers/Yarn.tsx +0 -7
  389. package/src/components/Icons/Managers/index.ts +0 -3
  390. package/src/components/Icons/Managers/npm.svg +0 -15
  391. package/src/components/Icons/Managers/pnpm.svg +0 -1
  392. package/src/components/Icons/Managers/yarn.svg +0 -1
  393. package/src/components/Icons/SvgIcon.tsx +0 -39
  394. package/src/components/Icons/Time.tsx +0 -19
  395. package/src/components/Icons/Version.tsx +0 -20
  396. package/src/components/Icons/index.ts +0 -8
  397. package/src/components/Install/Install.stories.tsx +0 -87
  398. package/src/components/Install/Install.test.tsx +0 -117
  399. package/src/components/Install/Install.tsx +0 -79
  400. package/src/components/Install/InstallListItem.tsx +0 -137
  401. package/src/components/Install/index.ts +0 -1
  402. package/src/components/Keywords/KeywordListItems.tsx +0 -22
  403. package/src/components/Keywords/Keywords.stories.tsx +0 -19
  404. package/src/components/Keywords/Keywords.test.tsx +0 -57
  405. package/src/components/Keywords/Keywords.tsx +0 -36
  406. package/src/components/Keywords/index.ts +0 -1
  407. package/src/components/Label/Label.test.tsx +0 -14
  408. package/src/components/Label/Label.tsx +0 -36
  409. package/src/components/Label/index.ts +0 -1
  410. package/src/components/Link/Link.test.tsx +0 -25
  411. package/src/components/Link/Link.tsx +0 -25
  412. package/src/components/Link/index.ts +0 -1
  413. package/src/components/LinkExternal/LinkExternal.test.tsx +0 -18
  414. package/src/components/LinkExternal/LinkExternal.tsx +0 -22
  415. package/src/components/LinkExternal/index.ts +0 -1
  416. package/src/components/Loading/Loading.stories.tsx +0 -14
  417. package/src/components/Loading/Loading.test.tsx +0 -15
  418. package/src/components/Loading/Loading.tsx +0 -16
  419. package/src/components/Loading/Spinner/Spinner.test.tsx +0 -13
  420. package/src/components/Loading/Spinner/Spinner.tsx +0 -34
  421. package/src/components/Loading/Spinner/index.tsx +0 -1
  422. package/src/components/Loading/index.ts +0 -1
  423. package/src/components/Loading/styles.ts +0 -18
  424. package/src/components/LoginDialog/LoginDialog.stories.tsx +0 -20
  425. package/src/components/LoginDialog/LoginDialog.test.tsx +0 -109
  426. package/src/components/LoginDialog/LoginDialog.tsx +0 -88
  427. package/src/components/LoginDialog/LoginDialogCloseButton.tsx +0 -33
  428. package/src/components/LoginDialog/LoginDialogForm.tsx +0 -94
  429. package/src/components/LoginDialog/LoginDialogFormError.tsx +0 -42
  430. package/src/components/LoginDialog/LoginDialogHeader.tsx +0 -48
  431. package/src/components/LoginDialog/index.ts +0 -1
  432. package/src/components/Logo/Logo.stories.tsx +0 -16
  433. package/src/components/Logo/Logo.test.tsx +0 -18
  434. package/src/components/Logo/Logo.tsx +0 -71
  435. package/src/components/Logo/img/logo-black-and-white.svg +0 -1
  436. package/src/components/Logo/img/logo.svg +0 -1
  437. package/src/components/Logo/index.ts +0 -1
  438. package/src/components/MenuItem/MenuItem.tsx +0 -25
  439. package/src/components/MenuItem/index.ts +0 -1
  440. package/src/components/NoItems/NoItems.stories.tsx +0 -11
  441. package/src/components/NoItems/NoItems.tsx +0 -15
  442. package/src/components/NoItems/Noitems.test.tsx +0 -15
  443. package/src/components/NoItems/index.ts +0 -1
  444. package/src/components/NotFound/NotFound.tsx +0 -53
  445. package/src/components/NotFound/Notfound.test.tsx +0 -40
  446. package/src/components/NotFound/img/package.svg +0 -1
  447. package/src/components/NotFound/index.ts +0 -1
  448. package/src/components/Package/Package.test.tsx +0 -96
  449. package/src/components/Package/Package.tsx +0 -266
  450. package/src/components/Package/index.ts +0 -2
  451. package/src/components/Package/styles.ts +0 -93
  452. package/src/components/PackageList/PackageList.tsx +0 -81
  453. package/src/components/PackageList/Packagelist.test.tsx +0 -60
  454. package/src/components/PackageList/index.ts +0 -1
  455. package/src/components/Person/Person.test.tsx +0 -50
  456. package/src/components/Person/Person.tsx +0 -45
  457. package/src/components/Person/PersonTooltip.tsx +0 -26
  458. package/src/components/Person/index.ts +0 -1
  459. package/src/components/Person/utils.ts +0 -20
  460. package/src/components/RawViewer/RawViewer.tsx +0 -73
  461. package/src/components/RawViewer/index.ts +0 -1
  462. package/src/components/Readme/Readme.test.tsx +0 -35
  463. package/src/components/Readme/Readme.tsx +0 -46
  464. package/src/components/Readme/github-markdown.css +0 -1198
  465. package/src/components/Readme/index.ts +0 -1
  466. package/src/components/Readme/types.ts +0 -3
  467. package/src/components/Readme/utils.ts +0 -26
  468. package/src/components/RegistryInfoDialog/RegistryInfoDialog.tsx +0 -31
  469. package/src/components/RegistryInfoDialog/index.ts +0 -1
  470. package/src/components/RegistryInfoDialog/styles.ts +0 -22
  471. package/src/components/RegistryInfoDialog/types.ts +0 -8
  472. package/src/components/Repository/Repository.stories.tsx +0 -70
  473. package/src/components/Repository/Repository.test.tsx +0 -43
  474. package/src/components/Repository/Repository.tsx +0 -81
  475. package/src/components/Repository/index.ts +0 -1
  476. package/src/components/Search/AutoComplete/AutoComplete.tsx +0 -83
  477. package/src/components/Search/AutoComplete/index.ts +0 -1
  478. package/src/components/Search/AutoComplete/styles.ts +0 -7
  479. package/src/components/Search/Search.stories.tsx +0 -52
  480. package/src/components/Search/Search.test.tsx +0 -181
  481. package/src/components/Search/Search.tsx +0 -168
  482. package/src/components/Search/SearchItem.tsx +0 -125
  483. package/src/components/Search/index.ts +0 -1
  484. package/src/components/Search/styles.ts +0 -41
  485. package/src/components/Search/utils.ts +0 -17
  486. package/src/components/SettingsMenu/SettingsMenu.test.tsx +0 -41
  487. package/src/components/SettingsMenu/SettingsMenu.tsx +0 -124
  488. package/src/components/SettingsMenu/index.ts +0 -1
  489. package/src/components/SideBarTitle/SideBarTitle.stories.tsx +0 -81
  490. package/src/components/SideBarTitle/SideBarTitle.tsx +0 -100
  491. package/src/components/SideBarTitle/index.ts +0 -1
  492. package/src/components/SideBarTitle/utils.ts +0 -12
  493. package/src/components/TextField/TextField.test.tsx +0 -15
  494. package/src/components/TextField/TextField.tsx +0 -24
  495. package/src/components/TextField/index.ts +0 -1
  496. package/src/components/UpLinks/UpLinks.test.tsx +0 -54
  497. package/src/components/UpLinks/UpLinks.tsx +0 -64
  498. package/src/components/UpLinks/UplinkLink.tsx +0 -20
  499. package/src/components/UpLinks/Uplinks.stories.tsx +0 -47
  500. package/src/components/UpLinks/index.ts +0 -1
  501. package/src/components/UpLinks/styles.ts +0 -25
  502. package/src/components/Versions/HistoryList.tsx +0 -83
  503. package/src/components/Versions/TagList.tsx +0 -34
  504. package/src/components/Versions/Versions.test.tsx +0 -83
  505. package/src/components/Versions/Versions.tsx +0 -109
  506. package/src/components/Versions/index.ts +0 -1
  507. package/src/components/Versions/styles.ts +0 -20
  508. package/src/components/Versions/types.ts +0 -17
  509. package/src/hooks/index.ts +0 -2
  510. package/src/hooks/useLocalStorage.ts +0 -49
  511. package/src/hooks/useOnClickOutside.ts +0 -33
  512. package/src/index.ts +0 -66
  513. package/src/layouts/Version/Version.stories.tsx +0 -70
  514. package/src/layouts/Version/Version.tsx +0 -19
  515. package/src/layouts/Version/index.ts +0 -1
  516. package/src/providers/AppConfigurationProvider/AppConfigurationProvider.tsx +0 -75
  517. package/src/providers/AppConfigurationProvider/index.ts +0 -1
  518. package/src/providers/PersistenceSettingProvider/PersistenceSettingProvider.tsx +0 -61
  519. package/src/providers/PersistenceSettingProvider/index.ts +0 -1
  520. package/src/providers/TranslatorProvider/TranslatorProvider.test.tsx +0 -53
  521. package/src/providers/TranslatorProvider/TranslatorProvider.tsx +0 -54
  522. package/src/providers/TranslatorProvider/index.ts +0 -2
  523. package/src/providers/VersionProvider/README.md +0 -22
  524. package/src/providers/VersionProvider/VersionProvider.test.tsx +0 -49
  525. package/src/providers/VersionProvider/VersionProvider.tsx +0 -95
  526. package/src/providers/VersionProvider/index.ts +0 -1
  527. package/src/providers/index.ts +0 -3
  528. package/src/sections/Detail/ContainerContent.tsx +0 -46
  529. package/src/sections/Detail/Detail.stories.tsx +0 -70
  530. package/src/sections/Detail/Detail.test.tsx +0 -19
  531. package/src/sections/Detail/Detail.tsx +0 -41
  532. package/src/sections/Detail/ReadmeSection.tsx +0 -17
  533. package/src/sections/Detail/Tabs.tsx +0 -33
  534. package/src/sections/Detail/index.ts +0 -1
  535. package/src/sections/Footer/Footer.test.tsx +0 -20
  536. package/src/sections/Footer/Footer.tsx +0 -126
  537. package/src/sections/Footer/index.ts +0 -1
  538. package/src/sections/Footer/styles.ts +0 -48
  539. package/src/sections/Header/Header.stories.tsx +0 -59
  540. package/src/sections/Header/Header.test.tsx +0 -280
  541. package/src/sections/Header/Header.tsx +0 -79
  542. package/src/sections/Header/HeaderGreetings.tsx +0 -21
  543. package/src/sections/Header/HeaderLeft.tsx +0 -37
  544. package/src/sections/Header/HeaderMenu.tsx +0 -63
  545. package/src/sections/Header/HeaderRight.tsx +0 -142
  546. package/src/sections/Header/HeaderSettingsDialog.tsx +0 -80
  547. package/src/sections/Header/HeaderToolTip.tsx +0 -15
  548. package/src/sections/Header/HeaderToolTipIcon.tsx +0 -87
  549. package/src/sections/Header/LanguageSwitch.tsx +0 -99
  550. package/src/sections/Header/RegistryInfoContent/RegistryInfoContent.test.tsx +0 -26
  551. package/src/sections/Header/RegistryInfoContent/RegistryInfoContent.tsx +0 -191
  552. package/src/sections/Header/RegistryInfoContent/index.ts +0 -1
  553. package/src/sections/Header/RegistryInfoContent/styles.ts +0 -13
  554. package/src/sections/Header/index.ts +0 -1
  555. package/src/sections/Header/styles.ts +0 -88
  556. package/src/sections/Home/Home.stories.tsx +0 -33
  557. package/src/sections/Home/Home.test.tsx +0 -41
  558. package/src/sections/Home/Home.tsx +0 -21
  559. package/src/sections/Home/index.ts +0 -1
  560. package/src/sections/SideBar/Sidebar.stories.tsx +0 -64
  561. package/src/sections/SideBar/Sidebar.test.tsx +0 -75
  562. package/src/sections/SideBar/Sidebar.tsx +0 -69
  563. package/src/sections/SideBar/index.ts +0 -1
  564. package/src/sections/index.ts +0 -2
  565. package/src/store/api.test.ts +0 -157
  566. package/src/store/api.ts +0 -80
  567. package/src/store/index.ts +0 -4
  568. package/src/store/models/configuration.ts +0 -47
  569. package/src/store/models/download.ts +0 -33
  570. package/src/store/models/index.ts +0 -18
  571. package/src/store/models/login.test.ts +0 -48
  572. package/src/store/models/login.ts +0 -104
  573. package/src/store/models/manifest.ts +0 -117
  574. package/src/store/models/packages.ts +0 -42
  575. package/src/store/models/routes.ts +0 -10
  576. package/src/store/models/search.ts +0 -88
  577. package/src/store/models/utils.ts +0 -3
  578. package/src/store/storage.ts +0 -12
  579. package/src/store/store.ts +0 -15
  580. package/src/test/i18n-config.ts +0 -19
  581. package/src/test/test-react-testing-library.tsx +0 -45
  582. package/src/types/external-modules.d.ts +0 -2
  583. package/src/types/index.ts +0 -11
  584. package/src/types/packageMeta.ts +0 -95
  585. package/src/utils/.eslintrc +0 -5
  586. package/src/utils/cli-utils.test.ts +0 -67
  587. package/src/utils/cli-utils.ts +0 -53
  588. package/src/utils/index.ts +0 -11
  589. package/src/utils/loadable.tsx +0 -20
  590. package/src/utils/routes.ts +0 -8
  591. package/src/utils/token-generate.ts +0 -33
  592. package/src/utils/token.test.ts +0 -55
  593. package/src/utils/token.ts +0 -33
  594. package/src/utils/url.test.ts +0 -32
  595. package/src/utils/url.ts +0 -73
  596. package/src/utils/utils.test.ts +0 -146
  597. package/src/utils/utils.ts +0 -135
  598. package/tsconfig.build.json +0 -23
  599. package/tsconfig.json +0 -22
  600. package/vitest.config.mjs +0 -40
@@ -1,3 +1,6 @@
1
+ export var HEADERS = {
2
+ JSON: 'application/json'
3
+ };
1
4
  export function stripTrailingSlash(url) {
2
5
  return url.replace(/\/$/, '');
3
6
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","names":["HEADERS","JSON","stripTrailingSlash","url","replace"],"sources":["../../../src/store/models/utils.ts"],"sourcesContent":["export const HEADERS = {\n JSON: 'application/json',\n};\n\nexport function stripTrailingSlash(url: string): string {\n return url.replace(/\\/$/, '');\n}\n"],"mappings":"AAAA,OAAO,IAAMA,OAAO,GAAG;EACrBC,IAAI,EAAE;AACR,CAAC;AAED,OAAO,SAASC,kBAAkBA,CAACC,GAAW,EAAU;EACtD,OAAOA,GAAG,CAACC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AAC/B","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","names":["memoryStorage","storage","localStorage","setItem","removeItem","err"],"sources":["../../src/store/storage.ts"],"sourcesContent":["import memoryStorage from 'localstorage-memory';\n\nlet storage: Storage;\ntry {\n localStorage.setItem('__TEST__', '');\n localStorage.removeItem('__TEST__');\n storage = localStorage;\n} catch (err: any) {\n storage = memoryStorage;\n}\n\nexport default storage;\n"],"mappings":"AAAA,OAAOA,aAAa,MAAM,qBAAqB;AAE/C,IAAIC,OAAgB;AACpB,IAAI;EACFC,YAAY,CAACC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;EACpCD,YAAY,CAACE,UAAU,CAAC,UAAU,CAAC;EACnCH,OAAO,GAAGC,YAAY;AACxB,CAAC,CAAC,OAAOG,GAAQ,EAAE;EACjBJ,OAAO,GAAGD,aAAa;AACzB;AAEA,eAAeC,OAAO","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","names":["init","loadingPlugin","models","store","plugins"],"sources":["../../src/store/store.ts"],"sourcesContent":["import { RematchDispatch, RematchRootState, init } from '@rematch/core';\nimport loadingPlugin, { ExtraModelsFromLoading } from '@rematch/loading';\n\nimport { RootModel, models } from './models';\n\ntype FullModel = ExtraModelsFromLoading<RootModel>;\n\nexport const store = init<RootModel, FullModel>({\n models,\n plugins: [loadingPlugin()],\n});\n\nexport type Store = typeof store;\nexport type Dispatch = RematchDispatch<RootModel>;\nexport type RootState = RematchRootState<RootModel, FullModel>;\n"],"mappings":"AAAA,SAA4CA,IAAI,QAAQ,eAAe;AACvE,OAAOC,aAAa,MAAkC,kBAAkB;AAExE,SAAoBC,MAAM,QAAQ,UAAU;AAI5C,OAAO,IAAMC,KAAK,GAAGH,IAAI,CAAuB;EAC9CE,MAAM;EACNE,OAAO,EAAE,CAACH,aAAa,CAAC,CAAC;AAC3B,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n-config.js","names":["i18n","initReactI18next","use","init","lng","whitelist","load","resources","translation","debug","interpolation","escapeValue"],"sources":["../../src/test/i18n-config.ts"],"sourcesContent":["import i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\n\ni18n.use(initReactI18next).init({\n lng: 'en-US',\n whitelist: ['en-US'],\n load: 'currentOnly',\n resources: {\n 'en-US': {\n translation: {},\n },\n },\n debug: false,\n interpolation: {\n escapeValue: false, // react already safes from xss\n },\n});\n\nexport default i18n;\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,SAAS;AAC1B,SAASC,gBAAgB,QAAQ,eAAe;AAEhDD,IAAI,CAACE,GAAG,CAACD,gBAAgB,CAAC,CAACE,IAAI,CAAC;EAC9BC,GAAG,EAAE,OAAO;EACZC,SAAS,EAAE,CAAC,OAAO,CAAC;EACpBC,IAAI,EAAE,aAAa;EACnBC,SAAS,EAAE;IACT,OAAO,EAAE;MACPC,WAAW,EAAE,CAAC;IAChB;EACF,CAAC;EACDC,KAAK,EAAE,KAAK;EACZC,aAAa,EAAE;IACbC,WAAW,EAAE,KAAK,CAAE;EACtB;AACF,CAAC,CAAC;AAEF,eAAeX,IAAI","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-react-testing-library.js","names":["StyledEngineProvider","render","React","I18nextProvider","Provider","ThemeProvider","AppConfigurationProvider","PersistenceSettingProvider","i18nConfig","renderWithStore","ui","store","wrapper","_ref","children","createElement","injectFirst","i18n","customRender","node","_len","arguments","length","options","Array","_key"],"sources":["../../src/test/test-react-testing-library.tsx"],"sourcesContent":["import { StyledEngineProvider } from '@mui/material/styles';\nimport { render } from '@testing-library/react';\nimport React from 'react';\nimport { I18nextProvider } from 'react-i18next';\nimport { Provider } from 'react-redux';\n\nimport { ThemeProvider } from '../Theme';\nimport AppConfigurationProvider from '../providers/AppConfigurationProvider';\nimport PersistenceSettingProvider from '../providers/PersistenceSettingProvider';\nimport { Store } from '../store/store';\nimport i18nConfig from './i18n-config';\n\nconst renderWithStore = (ui: React.ReactElement<any>, store: Store) =>\n render(ui, {\n wrapper: ({ children }) => (\n <Provider store={store}>\n <PersistenceSettingProvider>\n <AppConfigurationProvider>\n <StyledEngineProvider injectFirst={true}>\n <ThemeProvider>\n <I18nextProvider i18n={i18nConfig}>{children}</I18nextProvider>\n </ThemeProvider>\n </StyledEngineProvider>\n </AppConfigurationProvider>\n </PersistenceSettingProvider>\n </Provider>\n ),\n });\n\nconst customRender = (node: React.ReactElement, ...options: any) => {\n return render(\n <AppConfigurationProvider>\n <PersistenceSettingProvider>\n <ThemeProvider>\n <I18nextProvider i18n={i18nConfig}>{node}</I18nextProvider>\n </ThemeProvider>\n </PersistenceSettingProvider>\n </AppConfigurationProvider>,\n ...options\n );\n};\n\nexport * from '@testing-library/react';\nexport { customRender as render };\nexport { customRender, renderWithStore };\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,sBAAsB;AAC3D,SAASC,MAAM,QAAQ,wBAAwB;AAC/C,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,eAAe,QAAQ,eAAe;AAC/C,SAASC,QAAQ,QAAQ,aAAa;AAEtC,SAASC,aAAa,QAAQ,UAAU;AACxC,OAAOC,wBAAwB,MAAM,uCAAuC;AAC5E,OAAOC,0BAA0B,MAAM,yCAAyC;AAEhF,OAAOC,UAAU,MAAM,eAAe;AAEtC,IAAMC,eAAe,GAAGA,CAACC,EAA2B,EAAEC,KAAY,KAChEV,MAAM,CAACS,EAAE,EAAE;EACTE,OAAO,EAAEC,IAAA;IAAA,IAAC;MAAEC;IAAS,CAAC,GAAAD,IAAA;IAAA,oBACpBX,KAAA,CAAAa,aAAA,CAACX,QAAQ;MAACO,KAAK,EAAEA;IAAM,gBACrBT,KAAA,CAAAa,aAAA,CAACR,0BAA0B,qBACzBL,KAAA,CAAAa,aAAA,CAACT,wBAAwB,qBACvBJ,KAAA,CAAAa,aAAA,CAACf,oBAAoB;MAACgB,WAAW,EAAE;IAAK,gBACtCd,KAAA,CAAAa,aAAA,CAACV,aAAa,qBACZH,KAAA,CAAAa,aAAA,CAACZ,eAAe;MAACc,IAAI,EAAET;IAAW,GAAEM,QAA0B,CACjD,CACK,CACE,CACA,CACpB,CAAC;EAAA;AAEf,CAAC,CAAC;AAEJ,IAAMI,YAAY,GAAG,SAAfA,YAAYA,CAAIC,IAAwB,EAAsB;EAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAjBC,OAAO,OAAAC,KAAA,CAAAJ,IAAA,OAAAA,IAAA,WAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;IAAPF,OAAO,CAAAE,IAAA,QAAAJ,SAAA,CAAAI,IAAA;EAAA;EACxD,OAAOxB,MAAM,cACXC,KAAA,CAAAa,aAAA,CAACT,wBAAwB,qBACvBJ,KAAA,CAAAa,aAAA,CAACR,0BAA0B,qBACzBL,KAAA,CAAAa,aAAA,CAACV,aAAa,qBACZH,KAAA,CAAAa,aAAA,CAACZ,eAAe;IAACc,IAAI,EAAET;EAAW,GAAEW,IAAsB,CAC7C,CACW,CACJ,CAAC,EAC3B,GAAGI,OACL,CAAC;AACH,CAAC;AAED,cAAc,wBAAwB;AACtC,SAASL,YAAY,IAAIjB,MAAM;AAC/B,SAASiB,YAAY,EAAET,eAAe","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/types/index.ts"],"sourcesContent":["import { TemplateUIOptions } from '@verdaccio/types';\n\ndeclare global {\n interface Window {\n /**\n * __VERDACCIO_BASENAME_UI_OPTIONS is a global object available in the\n * browser.\n */\n __VERDACCIO_BASENAME_UI_OPTIONS: TemplateUIOptions;\n }\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageMeta.js","names":[],"sources":["../../src/types/packageMeta.ts"],"sourcesContent":["export type ModuleType = 'commonjs' | 'module';\n\nexport type Latest = {\n author?: string | Author;\n deprecated?: string;\n name: string;\n dist?: {\n fileCount: number;\n unpackedSize: number;\n tarball?: string;\n };\n engines?: {\n node?: string;\n npm?: string;\n pnpm?: string;\n yarn?: string;\n };\n license?: string | LicenseInterface;\n version: string;\n homepage?: string;\n bugs?: {\n url: string;\n };\n repository?: {\n type?: string;\n url?: string;\n };\n main?: string;\n type?: ModuleType;\n types?: string;\n description?: string;\n funding?: Funding;\n maintainers?: Developer[];\n contributors?: Developer[];\n keywords?: string | string[];\n};\n\nexport interface PackageMetaInterface {\n versions?: Versions;\n 'dist-tags'?: DistTags;\n time?: Time;\n latest: Latest;\n _uplinks?: Record<string, { fetched: number }>;\n}\n\nexport interface Developer {\n name: string;\n email?: string;\n url?: string;\n avatar?: string;\n}\n\ninterface Funding {\n type?: string;\n url?: string;\n}\n\nexport interface LicenseInterface {\n type?: string;\n url?: string;\n}\n\nexport interface DistTags {\n [key: string]: string;\n}\n\nexport interface Time {\n [key: string]: string;\n}\n\nexport interface Versions {\n [key: string]: Version;\n}\n\nexport interface Version {\n name: string;\n version: string;\n author?: string | Author;\n description?: string;\n license?: string | LicenseInterface;\n main?: string;\n keywords?: string[];\n deprecated?: string;\n}\n\nexport interface Author {\n name?: string;\n email?: string;\n url?: string;\n avatar?: string;\n}\n\nexport interface PackageDependencies {\n [key: string]: string;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-utils.js","names":["copyToClipBoardUtility","str","event","preventDefault","node","document","createElement","innerText","body","appendChild","range","createRange","selection","window","getSelection","selectNodeContents","removeAllRanges","addRange","execCommand","removeChild","getCLISetConfigRegistry","command","scope","registryUrl","concat","getCLISetRegistry","getCLIChangePassword","getCLISBerryYamlRegistry","URL","host","replace"],"sources":["../../src/utils/cli-utils.ts"],"sourcesContent":["import { SyntheticEvent } from 'react';\n\nexport const copyToClipBoardUtility =\n (str: string): ((e: SyntheticEvent<HTMLElement>) => void) =>\n (event: SyntheticEvent<HTMLElement>): void => {\n event.preventDefault();\n\n const node = document.createElement('div');\n node.innerText = str;\n if (document.body) {\n document.body.appendChild(node);\n\n const range = document.createRange();\n const selection = window.getSelection() as Selection;\n range.selectNodeContents(node);\n selection.removeAllRanges();\n selection.addRange(range);\n document.execCommand('copy');\n document.body.removeChild(node);\n }\n };\n\nexport function getCLISetConfigRegistry(\n command: string,\n scope: string | undefined,\n registryUrl: string\n): string {\n // if there is a scope defined there needs to be a \":\" separator between the scope and the registry\n return `${command} ${scope ? `${scope}:` : ''}registry ${registryUrl}`;\n}\n\nexport function getCLISetRegistry(command: string, registryUrl: string): string {\n return `${command} --registry ${registryUrl}`;\n}\n\nexport function getCLIChangePassword(command: string, registryUrl: string): string {\n return `${command} profile set password --registry ${registryUrl}`;\n}\n\nexport function getCLISBerryYamlRegistry(scope: string | undefined, registryUrl: string): string {\n return !scope\n ? `// .yarnrc.yml \nnpmRegistryServer: \"${registryUrl}\"\nunsafeHttpWhitelist:\n - ${new URL(registryUrl).host}`\n : `\n// .yarnrc.yml\nnpmRegistryServer: \"${registryUrl}\"\nnpmScopes:\n ${scope.replace('@', '')}:\n npmRegistryServer: ${registryUrl}\n npmPublishRegistry: ${registryUrl}`;\n}\n"],"mappings":"AAEA,OAAO,IAAMA,sBAAsB,GAChCC,GAAW,IACXC,KAAkC,IAAW;EAC5CA,KAAK,CAACC,cAAc,CAAC,CAAC;EAEtB,IAAMC,IAAI,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;EAC1CF,IAAI,CAACG,SAAS,GAAGN,GAAG;EACpB,IAAII,QAAQ,CAACG,IAAI,EAAE;IACjBH,QAAQ,CAACG,IAAI,CAACC,WAAW,CAACL,IAAI,CAAC;IAE/B,IAAMM,KAAK,GAAGL,QAAQ,CAACM,WAAW,CAAC,CAAC;IACpC,IAAMC,SAAS,GAAGC,MAAM,CAACC,YAAY,CAAC,CAAc;IACpDJ,KAAK,CAACK,kBAAkB,CAACX,IAAI,CAAC;IAC9BQ,SAAS,CAACI,eAAe,CAAC,CAAC;IAC3BJ,SAAS,CAACK,QAAQ,CAACP,KAAK,CAAC;IACzBL,QAAQ,CAACa,WAAW,CAAC,MAAM,CAAC;IAC5Bb,QAAQ,CAACG,IAAI,CAACW,WAAW,CAACf,IAAI,CAAC;EACjC;AACF,CAAC;AAEH,OAAO,SAASgB,uBAAuBA,CACrCC,OAAe,EACfC,KAAyB,EACzBC,WAAmB,EACX;EACR;EACA,UAAAC,MAAA,CAAUH,OAAO,OAAAG,MAAA,CAAIF,KAAK,MAAAE,MAAA,CAAMF,KAAK,SAAM,EAAE,eAAAE,MAAA,CAAYD,WAAW;AACtE;AAEA,OAAO,SAASE,iBAAiBA,CAACJ,OAAe,EAAEE,WAAmB,EAAU;EAC9E,UAAAC,MAAA,CAAUH,OAAO,kBAAAG,MAAA,CAAeD,WAAW;AAC7C;AAEA,OAAO,SAASG,oBAAoBA,CAACL,OAAe,EAAEE,WAAmB,EAAU;EACjF,UAAAC,MAAA,CAAUH,OAAO,uCAAAG,MAAA,CAAoCD,WAAW;AAClE;AAEA,OAAO,SAASI,wBAAwBA,CAACL,KAAyB,EAAEC,WAAmB,EAAU;EAC/F,OAAO,CAACD,KAAK,+CAAAE,MAAA,CAEOD,WAAW,oCAAAC,MAAA,CAE3B,IAAII,GAAG,CAACL,WAAW,CAAC,CAACM,IAAI,8CAAAL,MAAA,CAGTD,WAAW,wBAAAC,MAAA,CAE7BF,KAAK,CAACQ,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,gCAAAN,MAAA,CACDD,WAAW,gCAAAC,MAAA,CACVD,WAAW,CAAE;AACvC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_url","url","_utils","utils","getCLIChangePassword","getCLISBerryYamlRegistry","getCLISetConfigRegistry","getCLISetRegistry","default","loadable","Route"],"sources":["../../src/utils/index.ts"],"sourcesContent":["export * as url from './url';\nexport * as utils from './utils';\nexport {\n getCLIChangePassword,\n getCLISBerryYamlRegistry,\n getCLISetConfigRegistry,\n getCLISetRegistry,\n} from './cli-utils';\nexport { default as loadable } from './loadable';\nexport { Route } from './routes';\nexport * from './token';\n"],"mappings":"sBAAqB,OAAO;AAAA,SAAAA,IAAA,IAAhBC,GAAG;AAAA,YAAAC,MAAA,MACQ,SAAS;AAAA,SAAAA,MAAA,IAApBC,KAAK;AACjB,SACEC,oBAAoB,EACpBC,wBAAwB,EACxBC,uBAAuB,EACvBC,iBAAiB,QACZ,aAAa;AACpB,SAASC,OAAO,IAAIC,QAAQ,QAAQ,YAAY;AAChD,SAASC,KAAK,QAAQ,UAAU;AAChC,cAAc,SAAS","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadable.js","names":["React","Suspense","lazy","importCallback","TargetComponent","props","createElement","fallback"],"sources":["../../src/utils/loadable.tsx"],"sourcesContent":["/* eslint-disable verdaccio/jsx-spread */\nimport React, { Suspense, lazy } from 'react';\n\n/**\n * With the combination of a bundler, enable to code split a package.\n * \n * @example\n ```jsx\n const VersionPage = loadable(() => import(/'../pages/Version'));\n ```\n @category HOC\n */\nexport default (importCallback: any) => {\n const TargetComponent = lazy(importCallback);\n return (props: any) => (\n <Suspense fallback={null}>\n <TargetComponent {...props} />\n </Suspense>\n );\n};\n"],"mappings":"AAAA;AACA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,IAAI,QAAQ,OAAO;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAgBC,cAAmB,IAAK;EACtC,IAAMC,eAAe,gBAAGF,IAAI,CAACC,cAAc,CAAC;EAC5C,OAAQE,KAAU,iBAChBL,KAAA,CAAAM,aAAA,CAACL,QAAQ;IAACM,QAAQ,EAAE;EAAK,gBACvBP,KAAA,CAAAM,aAAA,CAACF,eAAe,EAAKC,KAAQ,CACrB,CACX;AACH,CAAC","ignoreList":[]}
@@ -4,5 +4,12 @@ export declare enum Route {
4
4
  SCOPE_PACKAGE = "/-/web/detail/@:scope/:package",
5
5
  SCOPE_PACKAGE_VERSION = "/-/web/detail/@:scope/:package/v/:version",
6
6
  PACKAGE = "/-/web/detail/:package",
7
- PACKAGE_VERSION = "/-/web/detail/:package/v/:version"
7
+ PACKAGE_VERSION = "/-/web/detail/:package/v/:version",
8
+ LOGIN = "/-/web/login",
9
+ SUCCESS = "/-/web/success",
10
+ ADD_USER = "/-/web/add-user",
11
+ CHANGE_PASSWORD = "/-/web/change-password",
12
+ LOGIN_API = "/-/v1/login_cli",
13
+ ADD_USER_API = "/-/user/org.couchdb.user",
14
+ CHANGE_PASSWORD_API = "/-/npm/v1/user"
8
15
  }
@@ -5,6 +5,13 @@ export var Route = /*#__PURE__*/function (Route) {
5
5
  Route["SCOPE_PACKAGE_VERSION"] = "/-/web/detail/@:scope/:package/v/:version";
6
6
  Route["PACKAGE"] = "/-/web/detail/:package";
7
7
  Route["PACKAGE_VERSION"] = "/-/web/detail/:package/v/:version";
8
+ Route["LOGIN"] = "/-/web/login";
9
+ Route["SUCCESS"] = "/-/web/success";
10
+ Route["ADD_USER"] = "/-/web/add-user";
11
+ Route["CHANGE_PASSWORD"] = "/-/web/change-password";
12
+ Route["LOGIN_API"] = "/-/v1/login_cli";
13
+ Route["ADD_USER_API"] = "/-/user/org.couchdb.user";
14
+ Route["CHANGE_PASSWORD_API"] = "/-/npm/v1/user";
8
15
  return Route;
9
16
  }({});
10
17
  //# sourceMappingURL=routes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes.js","names":["Route"],"sources":["../../src/utils/routes.ts"],"sourcesContent":["export enum Route {\n ROOT = '/',\n DETAIL = '/-/web/detail/',\n SCOPE_PACKAGE = '/-/web/detail/@:scope/:package',\n SCOPE_PACKAGE_VERSION = '/-/web/detail/@:scope/:package/v/:version',\n PACKAGE = '/-/web/detail/:package',\n PACKAGE_VERSION = '/-/web/detail/:package/v/:version',\n // Security UI routes\n LOGIN = '/-/web/login',\n SUCCESS = '/-/web/success',\n ADD_USER = '/-/web/add-user',\n CHANGE_PASSWORD = '/-/web/change-password',\n // Security API routes\n LOGIN_API = '/-/v1/login_cli',\n ADD_USER_API = '/-/user/org.couchdb.user',\n CHANGE_PASSWORD_API = '/-/npm/v1/user',\n}\n"],"mappings":"AAAA,WAAYA,KAAK,0BAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAAA,OAALA,KAAK;AAAA","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-generate.js","names":["dayjs","encodeBase64","string","Buffer","from","toString","generateTokenWithTimeRange","amount","arguments","length","undefined","payload","username","exp","Number","parseInt","String","Date","add","valueOf","concat","JSON","stringify","generateTokenWithExpirationAsString","generateInvalidToken","generateTokenWithOutExpiration"],"sources":["../../src/utils/token-generate.ts"],"sourcesContent":["/**\n * Token Utility\n */\nimport dayjs from 'dayjs';\n\nfunction encodeBase64(string: string) {\n return Buffer.from(string).toString('base64');\n}\n\nexport function generateTokenWithTimeRange(amount = 0) {\n const payload = {\n username: 'verdaccio',\n exp: Number.parseInt(String(dayjs(new Date()).add(amount, 'hour').valueOf() / 1000), 10),\n };\n return `xxxxxx.${encodeBase64(JSON.stringify(payload))}.xxxxxx`;\n}\n\nexport function generateTokenWithExpirationAsString() {\n const payload = { username: 'verdaccio', exp: 'I am not a number' };\n return `xxxxxx.${encodeBase64(JSON.stringify(payload))}.xxxxxx`;\n}\n\nexport function generateInvalidToken() {\n const payload = `invalidtoken`;\n return `xxxxxx.${encodeBase64(payload)}.xxxxxx`;\n}\n\nexport function generateTokenWithOutExpiration() {\n const payload = {\n username: 'verdaccio',\n };\n return `xxxxxx.${encodeBase64(JSON.stringify(payload))}.xxxxxx`;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,YAAYA,CAACC,MAAc,EAAE;EACpC,OAAOC,MAAM,CAACC,IAAI,CAACF,MAAM,CAAC,CAACG,QAAQ,CAAC,QAAQ,CAAC;AAC/C;AAEA,OAAO,SAASC,0BAA0BA,CAAA,EAAa;EAAA,IAAZC,MAAM,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EACnD,IAAMG,OAAO,GAAG;IACdC,QAAQ,EAAE,WAAW;IACrBC,GAAG,EAAEC,MAAM,CAACC,QAAQ,CAACC,MAAM,CAAChB,KAAK,CAAC,IAAIiB,IAAI,CAAC,CAAC,CAAC,CAACC,GAAG,CAACX,MAAM,EAAE,MAAM,CAAC,CAACY,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE;EACzF,CAAC;EACD,iBAAAC,MAAA,CAAiBnB,YAAY,CAACoB,IAAI,CAACC,SAAS,CAACX,OAAO,CAAC,CAAC;AACxD;AAEA,OAAO,SAASY,mCAAmCA,CAAA,EAAG;EACpD,IAAMZ,OAAO,GAAG;IAAEC,QAAQ,EAAE,WAAW;IAAEC,GAAG,EAAE;EAAoB,CAAC;EACnE,iBAAAO,MAAA,CAAiBnB,YAAY,CAACoB,IAAI,CAACC,SAAS,CAACX,OAAO,CAAC,CAAC;AACxD;AAEA,OAAO,SAASa,oBAAoBA,CAAA,EAAG;EACrC,IAAMb,OAAO,iBAAiB;EAC9B,iBAAAS,MAAA,CAAiBnB,YAAY,CAACU,OAAO,CAAC;AACxC;AAEA,OAAO,SAASc,8BAA8BA,CAAA,EAAG;EAC/C,IAAMd,OAAO,GAAG;IACdC,QAAQ,EAAE;EACZ,CAAC;EACD,iBAAAQ,MAAA,CAAiBnB,YAAY,CAACoB,IAAI,CAACC,SAAS,CAACX,OAAO,CAAC,CAAC;AACxD","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.js","names":["Base64","isNumber","isString","isTokenExpire","token","payload","split","exp","JSON","parse","decode","error","console","jsTimestamp","expired","Date","now"],"sources":["../../src/utils/token.ts"],"sourcesContent":["import { Base64 } from 'js-base64';\nimport isNumber from 'lodash/isNumber';\nimport isString from 'lodash/isString';\n\nexport function isTokenExpire(token: string | null): boolean {\n if (!isString(token)) {\n return true;\n }\n\n const [, payload] = token.split('.');\n\n if (!payload) {\n return true;\n }\n\n let exp: number;\n try {\n exp = JSON.parse(Base64.decode(payload)).exp;\n } catch (error: any) {\n // eslint-disable-next-line no-console\n console.error('Invalid token:', error, token);\n return true;\n }\n\n if (!exp || !isNumber(exp)) {\n return true;\n }\n // Report as expire before (real expire time - 30s)\n const jsTimestamp = exp * 1000 - 30000;\n const expired = Date.now() >= jsTimestamp;\n\n return expired;\n}\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAClC,OAAOC,QAAQ,MAAM,iBAAiB;AACtC,OAAOC,QAAQ,MAAM,iBAAiB;AAEtC,OAAO,SAASC,aAAaA,CAACC,KAAoB,EAAW;EAC3D,IAAI,CAACF,QAAQ,CAACE,KAAK,CAAC,EAAE;IACpB,OAAO,IAAI;EACb;EAEA,IAAM,GAAGC,OAAO,CAAC,GAAGD,KAAK,CAACE,KAAK,CAAC,GAAG,CAAC;EAEpC,IAAI,CAACD,OAAO,EAAE;IACZ,OAAO,IAAI;EACb;EAEA,IAAIE,GAAW;EACf,IAAI;IACFA,GAAG,GAAGC,IAAI,CAACC,KAAK,CAACT,MAAM,CAACU,MAAM,CAACL,OAAO,CAAC,CAAC,CAACE,GAAG;EAC9C,CAAC,CAAC,OAAOI,KAAU,EAAE;IACnB;IACAC,OAAO,CAACD,KAAK,CAAC,gBAAgB,EAAEA,KAAK,EAAEP,KAAK,CAAC;IAC7C,OAAO,IAAI;EACb;EAEA,IAAI,CAACG,GAAG,IAAI,CAACN,QAAQ,CAACM,GAAG,CAAC,EAAE;IAC1B,OAAO,IAAI;EACb;EACA;EACA,IAAMM,WAAW,GAAGN,GAAG,GAAG,IAAI,GAAG,KAAK;EACtC,IAAMO,OAAO,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,IAAIH,WAAW;EAEzC,OAAOC,OAAO;AAChB","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.js","names":["isEmailValidator","isURLValidator","isURL","url","protocols","require_protocol","require_tld","isEmail","email","extractFileName","substring","lastIndexOf","blobToFile","blob","fileName","b","lastModified","Date","now","name","downloadFile","fileStream","file","navigator","msSaveBlob","Blob","type","File","objectURL","URL","createObjectURL","fileLink","document","createElement","href","download","isTestEnvironment","window","userAgent","includes","documentElement","appendChild","click","setTimeout","revokeObjectURL","removeChild"],"sources":["../../src/utils/url.ts"],"sourcesContent":["import isEmailValidator from 'validator/lib/isEmail';\nimport isURLValidator from 'validator/lib/isURL';\n\nexport function isURL(url: string): boolean {\n return isURLValidator(url || '', {\n protocols: ['http', 'https', 'git+https', 'git'],\n require_protocol: true,\n require_tld: false,\n });\n}\n\nexport function isEmail(email: string): boolean {\n return isEmailValidator(email || '');\n}\n\nexport function extractFileName(url: string): string {\n return url.substring(url.lastIndexOf('/') + 1);\n}\n\nfunction blobToFile(blob: Blob, fileName: string): File {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const b: any = blob;\n b.lastModified = Date.now();\n b.name = fileName;\n return b as File;\n}\n\nexport function downloadFile(fileStream: Blob, fileName: string): void {\n let file: File;\n // File constructor is not supported by Edge\n // https://developer.mozilla.org/en-US/docs/Web/API/File#Browser_compatibility\n // @ts-ignore. Please see: https://github.com/microsoft/TypeScript/issues/33792\n if (navigator.msSaveBlob) {\n // Detect if Edge\n file = blobToFile(new Blob([fileStream], { type: 'application/octet-stream' }), fileName);\n } else {\n file = new File([fileStream], fileName, {\n type: 'application/octet-stream',\n lastModified: Date.now(),\n });\n }\n\n const objectURL = URL.createObjectURL(file);\n const fileLink = document.createElement('a');\n fileLink.href = objectURL;\n fileLink.download = fileName;\n\n // Skip actual download in test environment to avoid JSDOM navigation error\n // Check if we're in a test environment (JSDOM)\n const isTestEnvironment =\n (typeof window !== 'undefined' &&\n window.navigator &&\n window.navigator.userAgent &&\n window.navigator.userAgent.includes('Node.js')) ||\n window.navigator.userAgent.includes('jsdom');\n\n if (!isTestEnvironment) {\n // Without appending to an HTML Element, download dialog does not show up on Firefox\n // https://github.com/verdaccio/ui/issues/119\n document.documentElement.appendChild(fileLink);\n fileLink.click();\n // firefox requires remove the object url\n setTimeout(() => {\n URL.revokeObjectURL(objectURL);\n document.documentElement.removeChild(fileLink);\n }, 150);\n } else {\n // In test environment, just clean up without triggering navigation\n setTimeout(() => {\n URL.revokeObjectURL(objectURL);\n }, 150);\n }\n}\n"],"mappings":"AAAA,OAAOA,gBAAgB,MAAM,uBAAuB;AACpD,OAAOC,cAAc,MAAM,qBAAqB;AAEhD,OAAO,SAASC,KAAKA,CAACC,GAAW,EAAW;EAC1C,OAAOF,cAAc,CAACE,GAAG,IAAI,EAAE,EAAE;IAC/BC,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC;IAChDC,gBAAgB,EAAE,IAAI;IACtBC,WAAW,EAAE;EACf,CAAC,CAAC;AACJ;AAEA,OAAO,SAASC,OAAOA,CAACC,KAAa,EAAW;EAC9C,OAAOR,gBAAgB,CAACQ,KAAK,IAAI,EAAE,CAAC;AACtC;AAEA,OAAO,SAASC,eAAeA,CAACN,GAAW,EAAU;EACnD,OAAOA,GAAG,CAACO,SAAS,CAACP,GAAG,CAACQ,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAChD;AAEA,SAASC,UAAUA,CAACC,IAAU,EAAEC,QAAgB,EAAQ;EACtD;EACA,IAAMC,CAAM,GAAGF,IAAI;EACnBE,CAAC,CAACC,YAAY,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;EAC3BH,CAAC,CAACI,IAAI,GAAGL,QAAQ;EACjB,OAAOC,CAAC;AACV;AAEA,OAAO,SAASK,YAAYA,CAACC,UAAgB,EAAEP,QAAgB,EAAQ;EACrE,IAAIQ,IAAU;EACd;EACA;EACA;EACA,IAAIC,SAAS,CAACC,UAAU,EAAE;IACxB;IACAF,IAAI,GAAGV,UAAU,CAAC,IAAIa,IAAI,CAAC,CAACJ,UAAU,CAAC,EAAE;MAAEK,IAAI,EAAE;IAA2B,CAAC,CAAC,EAAEZ,QAAQ,CAAC;EAC3F,CAAC,MAAM;IACLQ,IAAI,GAAG,IAAIK,IAAI,CAAC,CAACN,UAAU,CAAC,EAAEP,QAAQ,EAAE;MACtCY,IAAI,EAAE,0BAA0B;MAChCV,YAAY,EAAEC,IAAI,CAACC,GAAG,CAAC;IACzB,CAAC,CAAC;EACJ;EAEA,IAAMU,SAAS,GAAGC,GAAG,CAACC,eAAe,CAACR,IAAI,CAAC;EAC3C,IAAMS,QAAQ,GAAGC,QAAQ,CAACC,aAAa,CAAC,GAAG,CAAC;EAC5CF,QAAQ,CAACG,IAAI,GAAGN,SAAS;EACzBG,QAAQ,CAACI,QAAQ,GAAGrB,QAAQ;;EAE5B;EACA;EACA,IAAMsB,iBAAiB,GACpB,OAAOC,MAAM,KAAK,WAAW,IAC5BA,MAAM,CAACd,SAAS,IAChBc,MAAM,CAACd,SAAS,CAACe,SAAS,IAC1BD,MAAM,CAACd,SAAS,CAACe,SAAS,CAACC,QAAQ,CAAC,SAAS,CAAC,IAChDF,MAAM,CAACd,SAAS,CAACe,SAAS,CAACC,QAAQ,CAAC,OAAO,CAAC;EAE9C,IAAI,CAACH,iBAAiB,EAAE;IACtB;IACA;IACAJ,QAAQ,CAACQ,eAAe,CAACC,WAAW,CAACV,QAAQ,CAAC;IAC9CA,QAAQ,CAACW,KAAK,CAAC,CAAC;IAChB;IACAC,UAAU,CAAC,MAAM;MACfd,GAAG,CAACe,eAAe,CAAChB,SAAS,CAAC;MAC9BI,QAAQ,CAACQ,eAAe,CAACK,WAAW,CAACd,QAAQ,CAAC;IAChD,CAAC,EAAE,GAAG,CAAC;EACT,CAAC,MAAM;IACL;IACAY,UAAU,CAAC,MAAM;MACfd,GAAG,CAACe,eAAe,CAAChB,SAAS,CAAC;IAChC,CAAC,EAAE,GAAG,CAAC;EACT;AACF","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","names":["dayjs","localizedFormat","relativeTime","i18next","isString","TIMEFORMAT","extend","formatLicense","license","type","formatRepository","repository","url","formatDate","lastUpdate","Date","format","formatDateDistance","fromNow","getLastUpdatedPackageTime","uplinks","arguments","length","undefined","Object","keys","forEach","computeUplink","upLinkName","status","fetched","getRecentReleases","time","recent","map","version","slice","reverse","getAuthorName","authorName","t","toLowerCase","getUplink","packageName","concat","fileSizeSI","a","b","c","d","e","Math","log","size","pow","floor","toFixed"],"sources":["../../src/utils/utils.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport localizedFormat from 'dayjs/plugin/localizedFormat';\nimport relativeTime from 'dayjs/plugin/relativeTime';\nimport i18next from 'i18next';\nimport isString from 'lodash/isString';\n\nimport { UpLinks } from '@verdaccio/types';\n\nimport { Time } from '../types/packageMeta';\n\nexport const TIMEFORMAT = 'L LTS';\n\ndayjs.extend(relativeTime);\ndayjs.extend(localizedFormat);\n\n/**\n * Formats license field for webui.\n * @see https://docs.npmjs.com/files/package.json#license\n */\n// License should use type License defined above, but conflicts with the unit test that provide array or empty object\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport function formatLicense(license: any): string | undefined {\n if (isString(license)) {\n return license;\n }\n\n if (license?.type) {\n return license.type;\n }\n\n return;\n}\n\nexport interface Repository {\n type: string;\n url: string;\n}\n\n/**\n * Formats repository field for webui.\n * @see https://docs.npmjs.com/files/package.json#repository\n */\n\n// Repository should use type Repository defined above, but conflicts with the unit test that provide array or empty object\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport function formatRepository(repository: any): string | null {\n if (isString(repository)) {\n return repository;\n }\n\n if (repository?.url) {\n return repository.url;\n }\n\n return null;\n}\n\nexport function formatDate(lastUpdate: string | number): string {\n return dayjs(new Date(lastUpdate)).format(TIMEFORMAT);\n}\n\nexport function formatDateDistance(lastUpdate: Date | string | number): string {\n return dayjs(new Date(lastUpdate)).fromNow();\n}\n\n/**\n * For <LastSync /> component\n * @param {array} uplinks\n */\nexport function getLastUpdatedPackageTime(uplinks: UpLinks = {}): string {\n let lastUpdate = 0;\n Object.keys(uplinks).forEach(function computeUplink(upLinkName): void {\n const status = uplinks[upLinkName];\n if (status.fetched > lastUpdate) {\n lastUpdate = status.fetched;\n }\n });\n\n return lastUpdate ? formatDate(lastUpdate) : '';\n}\n\n/**\n * For <LastSync /> component\n * @param {Object} time\n * @returns {Array} last 3 releases\n */\nexport function getRecentReleases(time: Time = {}): Time[] {\n const recent = Object.keys(time).map((version) => ({\n version,\n time: formatDate(time[version]),\n }));\n\n return recent.slice(recent.length - 3, recent.length).reverse();\n}\n\nexport function getAuthorName(authorName?: string): string {\n if (!authorName) {\n return i18next.t('author-unknown');\n }\n\n if (authorName.toLowerCase() === 'anonymous') {\n return i18next.t('author-anonymous');\n }\n\n return authorName;\n}\n\nexport function getUplink(upLinkName: string, packageName: string): string | null {\n // TODO: make this a config like \"uplinks: npmjs: web: https://www.npmjs.com/package/\"\n switch (upLinkName) {\n case 'npmjs':\n return `https://www.npmjs.com/package/${packageName}`;\n }\n return null;\n}\n\nexport function fileSizeSI(\n a: number,\n b?: typeof Math,\n c?: (p: number) => number,\n d?: number,\n e?: number\n): string {\n b = Math;\n c = b.log;\n d = 1e3;\n e = (c(a) / c(d)) | 0;\n let size = a / b.pow(d, e);\n // no decimals for Bytes\n if (e === 0) {\n return Math.floor(size) + ' Bytes';\n } else {\n return size.toFixed(1) + ' ' + 'kMGTPEZY'[--e] + 'B';\n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,eAAe,MAAM,8BAA8B;AAC1D,OAAOC,YAAY,MAAM,2BAA2B;AACpD,OAAOC,OAAO,MAAM,SAAS;AAC7B,OAAOC,QAAQ,MAAM,iBAAiB;AAMtC,OAAO,IAAMC,UAAU,GAAG,OAAO;AAEjCL,KAAK,CAACM,MAAM,CAACJ,YAAY,CAAC;AAC1BF,KAAK,CAACM,MAAM,CAACL,eAAe,CAAC;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASM,aAAaA,CAACC,OAAY,EAAsB;EAC9D,IAAIJ,QAAQ,CAACI,OAAO,CAAC,EAAE;IACrB,OAAOA,OAAO;EAChB;EAEA,IAAIA,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEC,IAAI,EAAE;IACjB,OAAOD,OAAO,CAACC,IAAI;EACrB;EAEA;AACF;AAOA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAACC,UAAe,EAAiB;EAC/D,IAAIP,QAAQ,CAACO,UAAU,CAAC,EAAE;IACxB,OAAOA,UAAU;EACnB;EAEA,IAAIA,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAEC,GAAG,EAAE;IACnB,OAAOD,UAAU,CAACC,GAAG;EACvB;EAEA,OAAO,IAAI;AACb;AAEA,OAAO,SAASC,UAAUA,CAACC,UAA2B,EAAU;EAC9D,OAAOd,KAAK,CAAC,IAAIe,IAAI,CAACD,UAAU,CAAC,CAAC,CAACE,MAAM,CAACX,UAAU,CAAC;AACvD;AAEA,OAAO,SAASY,kBAAkBA,CAACH,UAAkC,EAAU;EAC7E,OAAOd,KAAK,CAAC,IAAIe,IAAI,CAACD,UAAU,CAAC,CAAC,CAACI,OAAO,CAAC,CAAC;AAC9C;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASC,yBAAyBA,CAAA,EAAgC;EAAA,IAA/BC,OAAgB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAC7D,IAAIP,UAAU,GAAG,CAAC;EAClBU,MAAM,CAACC,IAAI,CAACL,OAAO,CAAC,CAACM,OAAO,CAAC,SAASC,aAAaA,CAACC,UAAU,EAAQ;IACpE,IAAMC,MAAM,GAAGT,OAAO,CAACQ,UAAU,CAAC;IAClC,IAAIC,MAAM,CAACC,OAAO,GAAGhB,UAAU,EAAE;MAC/BA,UAAU,GAAGe,MAAM,CAACC,OAAO;IAC7B;EACF,CAAC,CAAC;EAEF,OAAOhB,UAAU,GAAGD,UAAU,CAACC,UAAU,CAAC,GAAG,EAAE;AACjD;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASiB,iBAAiBA,CAAA,EAA0B;EAAA,IAAzBC,IAAU,GAAAX,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAC/C,IAAMY,MAAM,GAAGT,MAAM,CAACC,IAAI,CAACO,IAAI,CAAC,CAACE,GAAG,CAAEC,OAAO,KAAM;IACjDA,OAAO;IACPH,IAAI,EAAEnB,UAAU,CAACmB,IAAI,CAACG,OAAO,CAAC;EAChC,CAAC,CAAC,CAAC;EAEH,OAAOF,MAAM,CAACG,KAAK,CAACH,MAAM,CAACX,MAAM,GAAG,CAAC,EAAEW,MAAM,CAACX,MAAM,CAAC,CAACe,OAAO,CAAC,CAAC;AACjE;AAEA,OAAO,SAASC,aAAaA,CAACC,UAAmB,EAAU;EACzD,IAAI,CAACA,UAAU,EAAE;IACf,OAAOpC,OAAO,CAACqC,CAAC,CAAC,gBAAgB,CAAC;EACpC;EAEA,IAAID,UAAU,CAACE,WAAW,CAAC,CAAC,KAAK,WAAW,EAAE;IAC5C,OAAOtC,OAAO,CAACqC,CAAC,CAAC,kBAAkB,CAAC;EACtC;EAEA,OAAOD,UAAU;AACnB;AAEA,OAAO,SAASG,SAASA,CAACd,UAAkB,EAAEe,WAAmB,EAAiB;EAChF;EACA,QAAQf,UAAU;IAChB,KAAK,OAAO;MACV,wCAAAgB,MAAA,CAAwCD,WAAW;EACvD;EACA,OAAO,IAAI;AACb;AAEA,OAAO,SAASE,UAAUA,CACxBC,CAAS,EACTC,CAAe,EACfC,CAAyB,EACzBC,CAAU,EACVC,CAAU,EACF;EACRH,CAAC,GAAGI,IAAI;EACRH,CAAC,GAAGD,CAAC,CAACK,GAAG;EACTH,CAAC,GAAG,GAAG;EACPC,CAAC,GAAIF,CAAC,CAACF,CAAC,CAAC,GAAGE,CAAC,CAACC,CAAC,CAAC,GAAI,CAAC;EACrB,IAAII,IAAI,GAAGP,CAAC,GAAGC,CAAC,CAACO,GAAG,CAACL,CAAC,EAAEC,CAAC,CAAC;EAC1B;EACA,IAAIA,CAAC,KAAK,CAAC,EAAE;IACX,OAAOC,IAAI,CAACI,KAAK,CAACF,IAAI,CAAC,GAAG,QAAQ;EACpC,CAAC,MAAM;IACL,OAAOA,IAAI,CAACG,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,UAAU,CAAC,EAAEN,CAAC,CAAC,GAAG,GAAG;EACtD;AACF","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@verdaccio/ui-components",
3
- "version": "4.0.0-next-8.7",
3
+ "version": "4.0.0-next-8.9",
4
4
  "description": "Verdaccio UI Components",
5
5
  "author": "Juan Picado <juanpicado19@gmail.com>",
6
6
  "license": "MIT",
@@ -44,7 +44,7 @@
44
44
  "redux": "4.2.1",
45
45
  "semver": "7.7.1",
46
46
  "validator": "13.12.0",
47
- "@verdaccio/ui-i18n": "8.0.0-next-8.12"
47
+ "@verdaccio/ui-i18n": "8.0.0-next-8.13"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@babel/core": "7.26.9",
@@ -54,21 +54,21 @@
54
54
  "@storybook/addon-mdx-gfm": "^8.6.3",
55
55
  "@storybook/addon-interactions": "^8.6.3",
56
56
  "@storybook/addon-links": "^8.6.3",
57
- "@storybook/addon-webpack5-compiler-babel": "3.0.5",
57
+ "@storybook/addon-webpack5-compiler-babel": "3.0.6",
58
58
  "@storybook/react": "^8.6.3",
59
- "@storybook/react-webpack5": "8.6.3",
59
+ "@storybook/react-webpack5": "8.6.14",
60
60
  "@testing-library/dom": "10.4.0",
61
61
  "@testing-library/jest-dom": "6.6.3",
62
62
  "@testing-library/react": "16.1.0",
63
63
  "@types/hast": "^2.0.0",
64
64
  "@types/react-router": "^5.1.20",
65
65
  "@types/unist": "^2.0.0",
66
- "@verdaccio/types": "13.0.0-next-8.4",
66
+ "@verdaccio/types": "13.0.0-next-8.6",
67
67
  "@vitejs/plugin-react": "^4.3.4",
68
68
  "babel-loader": "9.2.1",
69
- "jsdom": "^25.0.0",
69
+ "jsdom": "^26.0.0",
70
70
  "mockdate": "3.0.5",
71
- "msw": "2.7.0",
71
+ "msw": "2.7.5",
72
72
  "msw-storybook-addon": "^2.0.4",
73
73
  "mutationobserver-shim": "0.3.7",
74
74
  "storybook": "8.6.3",
package/.babelrc DELETED
@@ -1,16 +0,0 @@
1
- {
2
- "extends": "../../.babelrc",
3
- "plugins": ["@emotion"],
4
- "presets": [
5
- [
6
- "@babel/preset-env",
7
- {
8
- "modules": false,
9
- "targets": {
10
- "esmodules": true
11
- }
12
- }
13
- ],
14
- "@babel/preset-react"
15
- ]
16
- }
package/.eslintrc DELETED
@@ -1,100 +0,0 @@
1
- {
2
- "settings": {
3
- "react": {
4
- "version": "16"
5
- }
6
- },
7
- "extends": [
8
- "plugin:verdaccio/recommended"
9
- ],
10
- "plugins": [
11
- "verdaccio"
12
- ],
13
- "rules": {
14
- "react/display-name": 0,
15
- "react/no-deprecated": 1,
16
- "react/jsx-no-target-blank": 1,
17
- "react/destructuring-assignment": ["error", "always"],
18
- "react/forbid-component-props": ["warn", { "forbid": ["style"] }],
19
- "react/no-this-in-sfc": ["warn"],
20
- "react/no-unsafe": ["warn"],
21
- "react/sort-comp": ["warn", {
22
- "order": [
23
- "static-methods",
24
- "lifecycle",
25
- "render",
26
- "everything-else",
27
- "/^on.+$/",
28
- "/^render.+$/"
29
- ]
30
- }],
31
- "react/void-dom-elements-no-children": ["warn"],
32
- "react/no-did-mount-set-state": ["error", "disallow-in-func"],
33
- "react/jsx-wrap-multilines": ["error",{
34
- "declaration": "parens",
35
- "assignment": "parens",
36
- "return": "parens",
37
- "arrow": "parens",
38
- "condition": "parens",
39
- "logical": "parens",
40
- "prop": "ignore"
41
- }],
42
- "react/jsx-boolean-value": ["error", "always"],
43
- "react/jsx-closing-tag-location": ["error"],
44
- "react/jsx-curly-spacing": ["error", "never"],
45
- "react/jsx-equals-spacing": ["error", "never"],
46
- "react/jsx-first-prop-new-line": ["error", "multiline-multiprop"],
47
- "react/jsx-handler-names": ["warn"],
48
- "react/jsx-indent": ["error", 2],
49
- "react/jsx-indent-props": ["error", 2],
50
- "react/jsx-key": ["error"],
51
- "react/jsx-max-depth":["error", { "max": 5}],
52
- "react/jsx-max-props-per-line": ["error", {"maximum": 3, "when": "multiline" }],
53
- "react/jsx-no-bind": ["error", {"allowArrowFunctions": true}],
54
- "react/jsx-no-comment-textnodes": ["error"],
55
- "react/jsx-no-duplicate-props": ["error"],
56
- "react/jsx-no-literals": ["error"],
57
- "react/jsx-no-undef": ["error"],
58
- "react/prop-types": 0,
59
- "react/jsx-one-expression-per-line": ["error", {"allow": "single-child"}],
60
- "react/jsx-curly-brace-presence": ["warn", { "props": "ignore", "children": "ignore" }],
61
- "react/jsx-pascal-case": ["error"],
62
- "react/jsx-props-no-multi-spaces": ["error"],
63
- "react/sort-default-props": ["error"],
64
- "react/jsx-sort-props": ["error"],
65
- "react/no-string-refs": ["error"],
66
- "react/no-danger-with-children": ["error"],
67
- "react/jsx-tag-spacing": ["error", {
68
- "closingSlash": "never",
69
- "beforeSelfClosing": "always",
70
- "afterOpening": "allow-multiline",
71
- "beforeClosing": "allow"
72
- }],
73
- "react/prefer-es6-class": [
74
- 2,
75
- "always"
76
- ],
77
- "react-hooks/rules-of-hooks": "error",
78
- "react-hooks/exhaustive-deps": "warn",
79
- "verdaccio/jsx-no-style": ["warn"],
80
- "verdaccio/jsx-spread": ["warn"],
81
- "jest/expect-expect": 0,
82
- "quote-props":["error", "as-needed"],
83
- "prefer-spread": 1,
84
- "linebreak-style": 0,
85
- "max-len": ["error", 160]
86
- },
87
- "globals": {
88
- "VERDACCIO_API_URL": true,
89
- "RequestInit": true,
90
- "TextFieldProps": true,
91
- "HTMLElementTagNameMap": true,
92
- "JSX": true,
93
- "Reflect": true,
94
- "__DEBUG__": true
95
- },
96
- "env": {
97
- "browser": true,
98
- "jest/globals": true
99
- }
100
- }
package/CHANGELOG.md DELETED
@@ -1,48 +0,0 @@
1
- # @verdaccio/ui-components
2
-
3
- ## 4.0.0-next-8.7
4
-
5
- ### Patch Changes
6
-
7
- - ef6864c: chore(deps): update webpack-dev-server to v5
8
- - 3763df1: fix(ui): start storybook on windows
9
- - c81bd75: chore(ui): update react-json-view
10
- - 99f6e11: chore(ui): flags import and minor updates
11
- - e4a1539: chore: package.json maintenance
12
- - 4933663: fix(ui): format date distance test
13
- - 0607e80: chore: update readme badges and license files
14
- - c1faf6d: chore(ui): reduce build size
15
- - Updated dependencies [e4a1539]
16
- - Updated dependencies [dbe6a76]
17
- - @verdaccio/ui-i18n@8.0.0-next-8.12
18
-
19
- ## 4.0.0-next-8.6
20
-
21
- ### Patch Changes
22
-
23
- - Updated dependencies [b6e9f46]
24
- - @verdaccio/ui-i18n@8.0.0-next-8.11
25
-
26
- ## 4.0.0-next-8.5
27
-
28
- ### Minor Changes
29
-
30
- - 970e0c9: update hover background color of package list
31
-
32
- ### Patch Changes
33
-
34
- - 69f2e66: fix(ui): sort versions
35
- - eb4a24b: chore(deps): upgrade storybook to v8
36
- - 8289cc6: fix: ui-component vitest api
37
-
38
- ## 4.0.0-next-8.4
39
-
40
- ### Minor Changes
41
-
42
- - 5a91448: support packages with multiple module types
43
-
44
- ## 4.0.0-next-8.3
45
-
46
- ### Patch Changes
47
-
48
- - 0225c80: chore(ui): vitest follow-ups
@@ -1,89 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
2
- import { HttpResponse, http } from 'msw';
3
- import React from 'react';
4
- import { MemoryRouter } from 'react-router';
5
-
6
- import AppRoute from './AppRoute';
7
-
8
- const meta: Meta<typeof AppRoute> = {
9
- title: 'App/Main',
10
- component: AppRoute,
11
- };
12
-
13
- export default meta;
14
-
15
- type Story = StoryObj<typeof AppRoute>;
16
-
17
- export const ApplicationStoryBook: Story = {
18
- render: () => (
19
- <MemoryRouter initialEntries={[`/-/web/detail/storybook`]}>
20
- <AppRoute />
21
- </MemoryRouter>
22
- ),
23
- parameters: {
24
- msw: {
25
- handlers: [
26
- http.get('https://my-registry.org/-/verdaccio/data/sidebar/storybook', () => {
27
- return HttpResponse.json(require('../../vitest/api/storybook-sidebar.json'));
28
- }),
29
- http.get('https://my-registry.org/-/verdaccio/data/package/readme/storybook', () => {
30
- return HttpResponse.json(require('../../vitest/api/storybook-readme')());
31
- }),
32
- ],
33
- },
34
- },
35
- };
36
-
37
- export const ApplicationJquery: Story = {
38
- render: () => (
39
- <MemoryRouter initialEntries={[`/-/web/detail/jquery`]}>
40
- <AppRoute />
41
- </MemoryRouter>
42
- ),
43
- parameters: {
44
- msw: {
45
- handlers: [
46
- http.get('https://my-registry.org/-/verdaccio/data/sidebar/jquery', () => {
47
- return HttpResponse.json(require('../../vitest/api/jquery-sidebar.json'));
48
- }),
49
- http.get('https://my-registry.org/-/verdaccio/data/package/readme/jquery', () => {
50
- return HttpResponse.json(require('../../vitest/api/jquery-readme')());
51
- }),
52
- ],
53
- },
54
- },
55
- };
56
-
57
- export const ApplicationForbidden: Story = {
58
- render: () => (
59
- <MemoryRouter initialEntries={[`/-/web/detail/JSONStream`]}>
60
- <AppRoute />
61
- </MemoryRouter>
62
- ),
63
- parameters: {
64
- msw: {
65
- handlers: [
66
- http.get('https://my-registry.org/-/verdaccio/data/sidebar/JSONStream', () => {
67
- return new HttpResponse('unauthorized', { status: 401 });
68
- }),
69
- ],
70
- },
71
- },
72
- };
73
-
74
- export const ApplicationNotFound: Story = {
75
- render: () => (
76
- <MemoryRouter initialEntries={[`/-/web/detail/kleur`]}>
77
- <AppRoute />
78
- </MemoryRouter>
79
- ),
80
- parameters: {
81
- msw: {
82
- handlers: [
83
- http.get('https://my-registry.org/-/verdaccio/data/sidebar/kleur', () => {
84
- return new HttpResponse('unauthorized', { status: 404 });
85
- }),
86
- ],
87
- },
88
- },
89
- };
@@ -1,70 +0,0 @@
1
- import React from 'react';
2
- import { MemoryRouter } from 'react-router';
3
- import { vi } from 'vitest';
4
-
5
- import { store } from '../';
6
- import { act, renderWithStore, screen, waitFor } from '../test/test-react-testing-library';
7
- import AppRoute from './AppRoute';
8
-
9
- // force the windows to expand to display items
10
- // https://github.com/bvaughn/react-virtualized/issues/493#issuecomment-640084107
11
- vi.spyOn(HTMLElement.prototype, 'offsetHeight', 'get').mockReturnValue(600);
12
- vi.spyOn(HTMLElement.prototype, 'offsetWidth', 'get').mockReturnValue(600);
13
-
14
- function appTest(path: string) {
15
- renderWithStore(
16
- <MemoryRouter initialEntries={[path]}>
17
- <AppRoute />
18
- </MemoryRouter>,
19
- store
20
- );
21
- }
22
-
23
- // See vi/server-handlers.ts for test routes
24
- describe('AppRoute', () => {
25
- afterEach(() => {
26
- vi.clearAllMocks();
27
- });
28
-
29
- test('renders Front component for ROOT path', async () => {
30
- act(() => appTest('/'));
31
- await waitFor(() => expect(screen.getByTestId('loading')).toBeInTheDocument());
32
- await waitFor(() => expect(screen.getAllByTestId('package-item-list')).toHaveLength(5));
33
- });
34
-
35
- test('renders VersionPage component for PACKAGE path', async () => {
36
- act(() => appTest('/-/web/detail/jquery'));
37
- await waitFor(() => expect(screen.getByTestId('readme-tab')).toBeInTheDocument(), {
38
- timeout: 3000,
39
- });
40
- expect(screen.getByTestId('sidebar')).toBeInTheDocument();
41
- });
42
-
43
- test('renders VersionPage component for PACKAGE VERSION path', async () => {
44
- act(() => appTest('/-/web/detail/jquery/v/3.6.3'));
45
- await waitFor(() => expect(screen.getByTestId('readme-tab')).toBeInTheDocument(), {
46
- timeout: 3000,
47
- });
48
- expect(screen.getByTestId('sidebar')).toBeInTheDocument();
49
- });
50
-
51
- test('renders Forbidden component for not allowed PACKAGE', async () => {
52
- act(() => appTest('/-/web/detail/JSONstream'));
53
- await waitFor(() => screen.getByTestId('not-found-go-to-home-button'));
54
- });
55
-
56
- test('renders NotFound component for missing PACKAGE', async () => {
57
- act(() => appTest('/-/web/detail/kleur'));
58
- await waitFor(() => screen.getByTestId('not-found-go-to-home-button'));
59
- });
60
-
61
- test('renders NotFound component for non-existing PACKAGE VERSION', async () => {
62
- act(() => appTest('/-/web/detail/jquery/v/0.9.9'));
63
- await waitFor(() => screen.getByTestId('not-found-go-to-home-button'));
64
- });
65
-
66
- test('renders NotFound component for non-matching path', async () => {
67
- act(() => appTest('/oiccadrev'));
68
- await waitFor(() => screen.getByTestId('not-found-go-to-home-button'));
69
- });
70
- });
@@ -1,42 +0,0 @@
1
- import React from 'react';
2
- import { Route as ReactRouterDomRoute, Switch } from 'react-router-dom';
3
-
4
- import { NotFound, Route, VersionProvider, loadable } from '../index';
5
-
6
- const VersionPage = loadable(() => import(/* webpackChunkName: "Version" */ './pages/Version'));
7
- const Front = loadable(() => import(/* webpackChunkName: "Home" */ './pages/Front'));
8
-
9
- const AppRoute: React.FC = () => {
10
- return (
11
- <Switch>
12
- <ReactRouterDomRoute exact={true} path={Route.ROOT}>
13
- <Front />
14
- </ReactRouterDomRoute>
15
- <ReactRouterDomRoute exact={true} path={Route.PACKAGE}>
16
- <VersionProvider>
17
- <VersionPage />
18
- </VersionProvider>
19
- </ReactRouterDomRoute>
20
- <ReactRouterDomRoute exact={true} path={Route.PACKAGE_VERSION}>
21
- <VersionProvider>
22
- <VersionPage />
23
- </VersionProvider>
24
- </ReactRouterDomRoute>
25
- <ReactRouterDomRoute exact={true} path={Route.SCOPE_PACKAGE_VERSION}>
26
- <VersionProvider>
27
- <VersionPage />
28
- </VersionProvider>
29
- </ReactRouterDomRoute>
30
- <ReactRouterDomRoute exact={true} path={Route.SCOPE_PACKAGE}>
31
- <VersionProvider>
32
- <VersionPage />
33
- </VersionProvider>
34
- </ReactRouterDomRoute>
35
- <ReactRouterDomRoute>
36
- <NotFound />
37
- </ReactRouterDomRoute>
38
- </Switch>
39
- );
40
- };
41
-
42
- export default AppRoute;
@@ -1,3 +0,0 @@
1
- import { Home } from '../../../index';
2
-
3
- export default Home;
@@ -1 +0,0 @@
1
- export { default } from './Home';
@@ -1,28 +0,0 @@
1
- import React from 'react';
2
- import { useSelector } from 'react-redux';
3
-
4
- import Forbidden from '../../../components/Forbidden';
5
- import { Loading, NotFound, RootState, VersionLayout } from '../../../index';
6
-
7
- const Version: React.FC = () => {
8
- const manifestStore = useSelector((state: RootState) => state.manifest);
9
- const isLoading = useSelector((state: RootState) => state?.loading?.models.manifest);
10
-
11
- if (isLoading) {
12
- return <Loading />;
13
- }
14
-
15
- // @ts-expect-error
16
- if (manifestStore.forbidden) {
17
- return <Forbidden />;
18
- }
19
-
20
- // @ts-expect-error
21
- if (manifestStore.hasNotBeenFound) {
22
- return <NotFound />;
23
- }
24
-
25
- return <VersionLayout />;
26
- };
27
-
28
- export default Version;
@@ -1 +0,0 @@
1
- export { default } from './Version';