@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
@@ -0,0 +1,45 @@
1
+ import type { RootModel } from '.';
2
+ export type AddUserError = {
3
+ type: string;
4
+ description: string;
5
+ code?: number;
6
+ };
7
+ type AddUserSessionState = {
8
+ isRegistered: boolean;
9
+ error?: AddUserError;
10
+ };
11
+ /**
12
+ * @category Model
13
+ */
14
+ export declare const addUser: {
15
+ name?: string | undefined;
16
+ state: AddUserSessionState;
17
+ } & {
18
+ effects: (dispatch: import("@rematch/core").RematchDispatch<RootModel>) => {
19
+ register(this: import("@rematch/core").ModelEffectThisTyped, payload: {
20
+ username: string;
21
+ password: string;
22
+ email?: string;
23
+ next?: string;
24
+ messageType: string;
25
+ }, rootState: import("@rematch/core").RematchRootState<RootModel, Record<string, never>>): Promise<void>;
26
+ };
27
+ } & {
28
+ reducers: {
29
+ setRegistered(state: AddUserSessionState): {
30
+ isRegistered: true;
31
+ error: undefined;
32
+ };
33
+ addError(state: AddUserSessionState, error: AddUserError): {
34
+ isRegistered: false;
35
+ error: AddUserError;
36
+ };
37
+ clearError(state: AddUserSessionState): {
38
+ error: undefined;
39
+ isRegistered: boolean;
40
+ };
41
+ };
42
+ } & ({} | {
43
+ baseReducer: import("redux").Reducer<AddUserSessionState, import("redux").AnyAction>;
44
+ });
45
+ export {};
@@ -0,0 +1,95 @@
1
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
2
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
6
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
7
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
+ import { createModel } from '@rematch/core';
9
+ import i18next from 'i18next';
10
+ import { Route } from '../../utils';
11
+ import API from '../api';
12
+ import storage from '../storage';
13
+ import { HEADERS, stripTrailingSlash } from './utils';
14
+ /**
15
+ * @category Model
16
+ */
17
+ export var addUser = createModel()({
18
+ state: {
19
+ isRegistered: false
20
+ },
21
+ reducers: {
22
+ setRegistered(state) {
23
+ return _objectSpread(_objectSpread({}, state), {}, {
24
+ isRegistered: true,
25
+ error: undefined
26
+ });
27
+ },
28
+ addError(state, error) {
29
+ return _objectSpread(_objectSpread({}, state), {}, {
30
+ isRegistered: false,
31
+ error
32
+ });
33
+ },
34
+ clearError(state) {
35
+ return _objectSpread(_objectSpread({}, state), {}, {
36
+ error: undefined
37
+ });
38
+ }
39
+ },
40
+ effects: dispatch => ({
41
+ register(payload, rootState) {
42
+ return _asyncToGenerator(function* () {
43
+ var basePath = stripTrailingSlash(rootState.configuration.config.base);
44
+ try {
45
+ var requestUrl = "".concat(basePath).concat(Route.ADD_USER_API, ":").concat(payload.username);
46
+ var response = yield API.request(requestUrl, 'PUT', {
47
+ body: JSON.stringify({
48
+ name: payload.username,
49
+ password: payload.password,
50
+ email: payload.email || ''
51
+ }),
52
+ headers: {
53
+ Accept: HEADERS.JSON,
54
+ 'Content-Type': HEADERS.JSON
55
+ }
56
+ });
57
+ if (response.ok) {
58
+ // Successfully added a new user!
59
+
60
+ // Save the username and token to the UI storage
61
+ storage.setItem('username', payload.username);
62
+ storage.setItem('token', response.token);
63
+ dispatch.addUser.setRegistered();
64
+ window.location.href = "".concat(Route.SUCCESS, "?messageType=").concat(payload.messageType);
65
+ } else {
66
+ throw new Error('Unknown add-user error:' + JSON.stringify(response));
67
+ }
68
+ } catch (error) {
69
+ storage.removeItem('username');
70
+ storage.removeItem('token');
71
+ if (error.code === 409) {
72
+ dispatch.addUser.addError({
73
+ type: 'error',
74
+ description: i18next.t('security.error.username-already-exists'),
75
+ code: 409
76
+ });
77
+ } else if (error.code === 404) {
78
+ dispatch.addUser.addError({
79
+ type: 'error',
80
+ description: i18next.t('security.error.username-not-found'),
81
+ code: 404
82
+ });
83
+ } else {
84
+ dispatch.addUser.addError({
85
+ type: 'error',
86
+ description: i18next.t('security.error.unable-to-add-user'),
87
+ code: error.code || 400
88
+ });
89
+ }
90
+ }
91
+ })();
92
+ }
93
+ })
94
+ });
95
+ //# sourceMappingURL=add-user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-user.js","names":["createModel","i18next","Route","API","storage","HEADERS","stripTrailingSlash","addUser","state","isRegistered","reducers","setRegistered","_objectSpread","error","undefined","addError","clearError","effects","dispatch","register","payload","rootState","_asyncToGenerator","basePath","configuration","config","base","requestUrl","concat","ADD_USER_API","username","response","request","body","JSON","stringify","name","password","email","headers","Accept","ok","setItem","token","window","location","href","SUCCESS","messageType","Error","removeItem","code","type","description","t"],"sources":["../../../src/store/models/add-user.ts"],"sourcesContent":["import { createModel } from '@rematch/core';\nimport i18next from 'i18next';\n\nimport type { RootModel } from '.';\nimport { Route } from '../../utils';\nimport API from '../api';\nimport storage from '../storage';\nimport { HEADERS, stripTrailingSlash } from './utils';\n\nexport type AddUserError = {\n type: string;\n description: string;\n code?: number;\n};\n\ntype AddUserSessionState = {\n isRegistered: boolean;\n error?: AddUserError;\n};\n\n/**\n * @category Model\n */\nexport const addUser = createModel<RootModel>()({\n state: {\n isRegistered: false,\n } as AddUserSessionState,\n reducers: {\n setRegistered(state) {\n return {\n ...state,\n isRegistered: true,\n error: undefined,\n };\n },\n addError(state, error: AddUserError) {\n return {\n ...state,\n isRegistered: false,\n error,\n };\n },\n clearError(state) {\n return {\n ...state,\n error: undefined,\n };\n },\n },\n effects: (dispatch) => ({\n async register(\n payload: {\n username: string;\n password: string;\n email?: string;\n next?: string;\n messageType: string;\n },\n rootState\n ) {\n const basePath = stripTrailingSlash(rootState.configuration.config.base);\n\n try {\n const requestUrl = `${basePath}${Route.ADD_USER_API}:${payload.username}`;\n\n const response = await API.request<{ ok: string; token: string }>(requestUrl, 'PUT', {\n body: JSON.stringify({\n name: payload.username,\n password: payload.password,\n email: payload.email || '',\n }),\n headers: {\n Accept: HEADERS.JSON,\n 'Content-Type': HEADERS.JSON,\n },\n });\n\n if (response.ok) {\n // Successfully added a new user!\n\n // Save the username and token to the UI storage\n storage.setItem('username', payload.username);\n storage.setItem('token', response.token);\n\n dispatch.addUser.setRegistered();\n window.location.href = `${Route.SUCCESS}?messageType=${payload.messageType}`;\n } else {\n throw new Error('Unknown add-user error:' + JSON.stringify(response));\n }\n } catch (error: any) {\n storage.removeItem('username');\n storage.removeItem('token');\n\n if (error.code === 409) {\n dispatch.addUser.addError({\n type: 'error',\n description: i18next.t('security.error.username-already-exists'),\n code: 409,\n });\n } else if (error.code === 404) {\n dispatch.addUser.addError({\n type: 'error',\n description: i18next.t('security.error.username-not-found'),\n code: 404,\n });\n } else {\n dispatch.addUser.addError({\n type: 'error',\n description: i18next.t('security.error.unable-to-add-user'),\n code: error.code || 400,\n });\n }\n }\n },\n }),\n});\n"],"mappings":";;;;;;;AAAA,SAASA,WAAW,QAAQ,eAAe;AAC3C,OAAOC,OAAO,MAAM,SAAS;AAG7B,SAASC,KAAK,QAAQ,aAAa;AACnC,OAAOC,GAAG,MAAM,QAAQ;AACxB,OAAOC,OAAO,MAAM,YAAY;AAChC,SAASC,OAAO,EAAEC,kBAAkB,QAAQ,SAAS;AAarD;AACA;AACA;AACA,OAAO,IAAMC,OAAO,GAAGP,WAAW,CAAY,CAAC,CAAC;EAC9CQ,KAAK,EAAE;IACLC,YAAY,EAAE;EAChB,CAAwB;EACxBC,QAAQ,EAAE;IACRC,aAAaA,CAACH,KAAK,EAAE;MACnB,OAAAI,aAAA,CAAAA,aAAA,KACKJ,KAAK;QACRC,YAAY,EAAE,IAAI;QAClBI,KAAK,EAAEC;MAAS;IAEpB,CAAC;IACDC,QAAQA,CAACP,KAAK,EAAEK,KAAmB,EAAE;MACnC,OAAAD,aAAA,CAAAA,aAAA,KACKJ,KAAK;QACRC,YAAY,EAAE,KAAK;QACnBI;MAAK;IAET,CAAC;IACDG,UAAUA,CAACR,KAAK,EAAE;MAChB,OAAAI,aAAA,CAAAA,aAAA,KACKJ,KAAK;QACRK,KAAK,EAAEC;MAAS;IAEpB;EACF,CAAC;EACDG,OAAO,EAAGC,QAAQ,KAAM;IAChBC,QAAQA,CACZC,OAMC,EACDC,SAAS,EACT;MAAA,OAAAC,iBAAA;QACA,IAAMC,QAAQ,GAAGjB,kBAAkB,CAACe,SAAS,CAACG,aAAa,CAACC,MAAM,CAACC,IAAI,CAAC;QAExE,IAAI;UACF,IAAMC,UAAU,MAAAC,MAAA,CAAML,QAAQ,EAAAK,MAAA,CAAG1B,KAAK,CAAC2B,YAAY,OAAAD,MAAA,CAAIR,OAAO,CAACU,QAAQ,CAAE;UAEzE,IAAMC,QAAQ,SAAS5B,GAAG,CAAC6B,OAAO,CAAgCL,UAAU,EAAE,KAAK,EAAE;YACnFM,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAC;cACnBC,IAAI,EAAEhB,OAAO,CAACU,QAAQ;cACtBO,QAAQ,EAAEjB,OAAO,CAACiB,QAAQ;cAC1BC,KAAK,EAAElB,OAAO,CAACkB,KAAK,IAAI;YAC1B,CAAC,CAAC;YACFC,OAAO,EAAE;cACPC,MAAM,EAAEnC,OAAO,CAAC6B,IAAI;cACpB,cAAc,EAAE7B,OAAO,CAAC6B;YAC1B;UACF,CAAC,CAAC;UAEF,IAAIH,QAAQ,CAACU,EAAE,EAAE;YACf;;YAEA;YACArC,OAAO,CAACsC,OAAO,CAAC,UAAU,EAAEtB,OAAO,CAACU,QAAQ,CAAC;YAC7C1B,OAAO,CAACsC,OAAO,CAAC,OAAO,EAAEX,QAAQ,CAACY,KAAK,CAAC;YAExCzB,QAAQ,CAACX,OAAO,CAACI,aAAa,CAAC,CAAC;YAChCiC,MAAM,CAACC,QAAQ,CAACC,IAAI,MAAAlB,MAAA,CAAM1B,KAAK,CAAC6C,OAAO,mBAAAnB,MAAA,CAAgBR,OAAO,CAAC4B,WAAW,CAAE;UAC9E,CAAC,MAAM;YACL,MAAM,IAAIC,KAAK,CAAC,yBAAyB,GAAGf,IAAI,CAACC,SAAS,CAACJ,QAAQ,CAAC,CAAC;UACvE;QACF,CAAC,CAAC,OAAOlB,KAAU,EAAE;UACnBT,OAAO,CAAC8C,UAAU,CAAC,UAAU,CAAC;UAC9B9C,OAAO,CAAC8C,UAAU,CAAC,OAAO,CAAC;UAE3B,IAAIrC,KAAK,CAACsC,IAAI,KAAK,GAAG,EAAE;YACtBjC,QAAQ,CAACX,OAAO,CAACQ,QAAQ,CAAC;cACxBqC,IAAI,EAAE,OAAO;cACbC,WAAW,EAAEpD,OAAO,CAACqD,CAAC,CAAC,wCAAwC,CAAC;cAChEH,IAAI,EAAE;YACR,CAAC,CAAC;UACJ,CAAC,MAAM,IAAItC,KAAK,CAACsC,IAAI,KAAK,GAAG,EAAE;YAC7BjC,QAAQ,CAACX,OAAO,CAACQ,QAAQ,CAAC;cACxBqC,IAAI,EAAE,OAAO;cACbC,WAAW,EAAEpD,OAAO,CAACqD,CAAC,CAAC,mCAAmC,CAAC;cAC3DH,IAAI,EAAE;YACR,CAAC,CAAC;UACJ,CAAC,MAAM;YACLjC,QAAQ,CAACX,OAAO,CAACQ,QAAQ,CAAC;cACxBqC,IAAI,EAAE,OAAO;cACbC,WAAW,EAAEpD,OAAO,CAACqD,CAAC,CAAC,mCAAmC,CAAC;cAC3DH,IAAI,EAAEtC,KAAK,CAACsC,IAAI,IAAI;YACtB,CAAC,CAAC;UACJ;QACF;MAAC;IACH;EACF,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,44 @@
1
+ import type { RootModel } from '.';
2
+ export type ChangePasswordError = {
3
+ type: string;
4
+ description: string;
5
+ code?: number;
6
+ };
7
+ type ChangePasswordState = {
8
+ isPasswordChanged: boolean;
9
+ error?: ChangePasswordError;
10
+ };
11
+ /**
12
+ * @category Model
13
+ */
14
+ export declare const changePassword: {
15
+ name?: string | undefined;
16
+ state: ChangePasswordState;
17
+ } & {
18
+ effects: (dispatch: import("@rematch/core").RematchDispatch<RootModel>) => {
19
+ updatePassword(this: import("@rematch/core").ModelEffectThisTyped, payload: {
20
+ username: string;
21
+ oldPassword: string;
22
+ newPassword: string;
23
+ messageType: string;
24
+ }, rootState: import("@rematch/core").RematchRootState<RootModel, Record<string, never>>): Promise<void>;
25
+ };
26
+ } & {
27
+ reducers: {
28
+ setPasswordChanged(state: ChangePasswordState): {
29
+ isPasswordChanged: true;
30
+ error: undefined;
31
+ };
32
+ addError(state: ChangePasswordState, error: ChangePasswordError): {
33
+ isPasswordChanged: false;
34
+ error: ChangePasswordError;
35
+ };
36
+ clearError(state: ChangePasswordState): {
37
+ error: undefined;
38
+ isPasswordChanged: boolean;
39
+ };
40
+ };
41
+ } & ({} | {
42
+ baseReducer: import("redux").Reducer<ChangePasswordState, import("redux").AnyAction>;
43
+ });
44
+ export {};
@@ -0,0 +1,110 @@
1
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
2
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
6
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
7
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
+ import { createModel } from '@rematch/core';
9
+ import i18next from 'i18next';
10
+ import { Route } from '../../utils';
11
+ import API from '../api';
12
+ import { HEADERS, stripTrailingSlash } from './utils';
13
+ var TOKEN_BEARER = 'Bearer';
14
+ /**
15
+ * @category Model
16
+ */
17
+ export var changePassword = createModel()({
18
+ state: {
19
+ isPasswordChanged: false
20
+ },
21
+ reducers: {
22
+ setPasswordChanged(state) {
23
+ return _objectSpread(_objectSpread({}, state), {}, {
24
+ isPasswordChanged: true,
25
+ error: undefined
26
+ });
27
+ },
28
+ addError(state, error) {
29
+ return _objectSpread(_objectSpread({}, state), {}, {
30
+ isPasswordChanged: false,
31
+ error
32
+ });
33
+ },
34
+ clearError(state) {
35
+ return _objectSpread(_objectSpread({}, state), {}, {
36
+ error: undefined
37
+ });
38
+ }
39
+ },
40
+ effects: dispatch => ({
41
+ updatePassword(payload, rootState) {
42
+ return _asyncToGenerator(function* () {
43
+ var basePath = stripTrailingSlash(rootState.configuration.config.base);
44
+ try {
45
+ // Authorize the user and get token
46
+ var requestAuthorize = "".concat(basePath).concat(Route.ADD_USER_API, ":").concat(payload.username);
47
+ var responseAuthorize = yield API.request(requestAuthorize, 'PUT', {
48
+ body: JSON.stringify({
49
+ name: payload.username,
50
+ password: payload.oldPassword
51
+ }),
52
+ headers: {
53
+ Accept: HEADERS.JSON,
54
+ 'Content-Type': HEADERS.JSON
55
+ }
56
+ });
57
+ if (!responseAuthorize.ok) {
58
+ throw new Error('Invalid credentials');
59
+ }
60
+ var token = "".concat(TOKEN_BEARER, " ").concat(responseAuthorize.token);
61
+
62
+ // Change the password
63
+ var requestChangePassword = "".concat(basePath).concat(Route.CHANGE_PASSWORD_API);
64
+ var responseChangePassword = yield API.request(requestChangePassword, 'POST', {
65
+ body: JSON.stringify({
66
+ password: {
67
+ new: payload.newPassword,
68
+ old: payload.oldPassword
69
+ }
70
+ }),
71
+ headers: {
72
+ Accept: HEADERS.JSON,
73
+ 'Content-Type': HEADERS.JSON,
74
+ Authorization: token
75
+ }
76
+ });
77
+ if (responseChangePassword.ok) {
78
+ // Successfully changed the password!
79
+
80
+ dispatch.changePassword.setPasswordChanged();
81
+ window.location.href = "".concat(Route.SUCCESS, "?messageType=").concat(payload.messageType);
82
+ } else {
83
+ throw new Error('Unknown error:' + JSON.stringify(responseChangePassword));
84
+ }
85
+ } catch (error) {
86
+ if (error.code === 401) {
87
+ dispatch.changePassword.addError({
88
+ type: 'error',
89
+ description: i18next.t('security.error.invalid-credentials'),
90
+ code: 401
91
+ });
92
+ } else if (error.code === 404) {
93
+ dispatch.changePassword.addError({
94
+ type: 'error',
95
+ description: i18next.t('security.error.username-not-found'),
96
+ code: 404
97
+ });
98
+ } else {
99
+ dispatch.changePassword.addError({
100
+ type: 'error',
101
+ description: i18next.t('security.error.unable-to-change-password'),
102
+ code: error.code || 400
103
+ });
104
+ }
105
+ }
106
+ })();
107
+ }
108
+ })
109
+ });
110
+ //# sourceMappingURL=change-password.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-password.js","names":["createModel","i18next","Route","API","HEADERS","stripTrailingSlash","TOKEN_BEARER","changePassword","state","isPasswordChanged","reducers","setPasswordChanged","_objectSpread","error","undefined","addError","clearError","effects","dispatch","updatePassword","payload","rootState","_asyncToGenerator","basePath","configuration","config","base","requestAuthorize","concat","ADD_USER_API","username","responseAuthorize","request","body","JSON","stringify","name","password","oldPassword","headers","Accept","ok","Error","token","requestChangePassword","CHANGE_PASSWORD_API","responseChangePassword","new","newPassword","old","Authorization","window","location","href","SUCCESS","messageType","code","type","description","t"],"sources":["../../../src/store/models/change-password.ts"],"sourcesContent":["import { createModel } from '@rematch/core';\nimport i18next from 'i18next';\n\nimport type { RootModel } from '.';\nimport { Route } from '../../utils';\nimport API from '../api';\nimport { HEADERS, stripTrailingSlash } from './utils';\n\nconst TOKEN_BEARER = 'Bearer';\n\nexport type ChangePasswordError = {\n type: string;\n description: string;\n code?: number;\n};\n\ntype ChangePasswordState = {\n isPasswordChanged: boolean;\n error?: ChangePasswordError;\n};\n\n/**\n * @category Model\n */\nexport const changePassword = createModel<RootModel>()({\n state: {\n isPasswordChanged: false,\n } as ChangePasswordState,\n reducers: {\n setPasswordChanged(state) {\n return {\n ...state,\n isPasswordChanged: true,\n error: undefined,\n };\n },\n addError(state, error: ChangePasswordError) {\n return {\n ...state,\n isPasswordChanged: false,\n error,\n };\n },\n clearError(state) {\n return {\n ...state,\n error: undefined,\n };\n },\n },\n effects: (dispatch) => ({\n async updatePassword(\n payload: {\n username: string;\n oldPassword: string;\n newPassword: string;\n messageType: string;\n },\n rootState\n ) {\n const basePath = stripTrailingSlash(rootState.configuration.config.base);\n\n try {\n // Authorize the user and get token\n const requestAuthorize = `${basePath}${Route.ADD_USER_API}:${payload.username}`;\n\n const responseAuthorize = await API.request<{ ok: string; token: string }>(\n requestAuthorize,\n 'PUT',\n {\n body: JSON.stringify({\n name: payload.username,\n password: payload.oldPassword,\n }),\n headers: {\n Accept: HEADERS.JSON,\n 'Content-Type': HEADERS.JSON,\n },\n }\n );\n\n if (!responseAuthorize.ok) {\n throw new Error('Invalid credentials');\n }\n\n const token = `${TOKEN_BEARER} ${responseAuthorize.token}`;\n\n // Change the password\n const requestChangePassword = `${basePath}${Route.CHANGE_PASSWORD_API}`;\n\n const responseChangePassword = await API.request<{ ok: string }>(\n requestChangePassword,\n 'POST',\n {\n body: JSON.stringify({\n password: { new: payload.newPassword, old: payload.oldPassword },\n }),\n headers: {\n Accept: HEADERS.JSON,\n 'Content-Type': HEADERS.JSON,\n Authorization: token,\n },\n }\n );\n\n if (responseChangePassword.ok) {\n // Successfully changed the password!\n\n dispatch.changePassword.setPasswordChanged();\n window.location.href = `${Route.SUCCESS}?messageType=${payload.messageType}`;\n } else {\n throw new Error('Unknown error:' + JSON.stringify(responseChangePassword));\n }\n } catch (error: any) {\n if (error.code === 401) {\n dispatch.changePassword.addError({\n type: 'error',\n description: i18next.t('security.error.invalid-credentials'),\n code: 401,\n });\n } else if (error.code === 404) {\n dispatch.changePassword.addError({\n type: 'error',\n description: i18next.t('security.error.username-not-found'),\n code: 404,\n });\n } else {\n dispatch.changePassword.addError({\n type: 'error',\n description: i18next.t('security.error.unable-to-change-password'),\n code: error.code || 400,\n });\n }\n }\n },\n }),\n});\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuration.js","names":["createModel","isEmpty","isNil","colors","API","APIRoute","defaultValues","primaryColor","PRIMARY_COLOR","darkMode","pkgManagers","scope","base","login","flags","url_prefix","title","getConfiguration","_window$__VERDACCIO_B","_window","uiConfiguration","window","__VERDACCIO_BASENAME_UI_OPTIONS","configuration","state","config","effects","dispatch","getPackages","_asyncToGenerator","payload","request","CONFIG","packages","savePackages"],"sources":["../../../src/store/models/configuration.ts"],"sourcesContent":["import { createModel } from '@rematch/core';\nimport isEmpty from 'lodash/isEmpty';\nimport isNil from 'lodash/isNil';\n\nimport { Manifest, TemplateUIOptions } from '@verdaccio/types';\n\nimport type { RootModel } from '.';\nimport { colors } from '../../Theme';\nimport API from '../api';\nimport { APIRoute } from './routes';\n\nconst defaultValues: TemplateUIOptions = {\n primaryColor: colors.PRIMARY_COLOR,\n darkMode: false,\n pkgManagers: ['yarn', 'pnpm', 'npm'],\n scope: '',\n base: '',\n login: true,\n flags: {},\n url_prefix: '',\n title: 'Verdaccio',\n};\n\nfunction getConfiguration() {\n const uiConfiguration = window?.__VERDACCIO_BASENAME_UI_OPTIONS ?? defaultValues;\n if (isNil(uiConfiguration.primaryColor) || isEmpty(uiConfiguration.primaryColor)) {\n uiConfiguration.primaryColor = colors.PRIMARY_COLOR;\n }\n\n return uiConfiguration;\n}\n\n/**\n *\n * @category Model\n */\nexport const configuration = createModel<RootModel>()({\n state: {\n config: getConfiguration(),\n },\n effects: (dispatch) => ({\n async getPackages() {\n const payload: Manifest[] = await API.request(APIRoute.CONFIG, 'GET');\n dispatch.packages.savePackages(payload);\n },\n }),\n});\n"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,eAAe;AAC3C,OAAOC,OAAO,MAAM,gBAAgB;AACpC,OAAOC,KAAK,MAAM,cAAc;AAKhC,SAASC,MAAM,QAAQ,aAAa;AACpC,OAAOC,GAAG,MAAM,QAAQ;AACxB,SAASC,QAAQ,QAAQ,UAAU;AAEnC,IAAMC,aAAgC,GAAG;EACvCC,YAAY,EAAEJ,MAAM,CAACK,aAAa;EAClCC,QAAQ,EAAE,KAAK;EACfC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;EACpCC,KAAK,EAAE,EAAE;EACTC,IAAI,EAAE,EAAE;EACRC,KAAK,EAAE,IAAI;EACXC,KAAK,EAAE,CAAC,CAAC;EACTC,UAAU,EAAE,EAAE;EACdC,KAAK,EAAE;AACT,CAAC;AAED,SAASC,gBAAgBA,CAAA,EAAG;EAAA,IAAAC,qBAAA,EAAAC,OAAA;EAC1B,IAAMC,eAAe,IAAAF,qBAAA,IAAAC,OAAA,GAAGE,MAAM,cAAAF,OAAA,uBAANA,OAAA,CAAQG,+BAA+B,cAAAJ,qBAAA,cAAAA,qBAAA,GAAIZ,aAAa;EAChF,IAAIJ,KAAK,CAACkB,eAAe,CAACb,YAAY,CAAC,IAAIN,OAAO,CAACmB,eAAe,CAACb,YAAY,CAAC,EAAE;IAChFa,eAAe,CAACb,YAAY,GAAGJ,MAAM,CAACK,aAAa;EACrD;EAEA,OAAOY,eAAe;AACxB;;AAEA;AACA;AACA;AACA;AACA,OAAO,IAAMG,aAAa,GAAGvB,WAAW,CAAY,CAAC,CAAC;EACpDwB,KAAK,EAAE;IACLC,MAAM,EAAER,gBAAgB,CAAC;EAC3B,CAAC;EACDS,OAAO,EAAGC,QAAQ,KAAM;IAChBC,WAAWA,CAAA,EAAG;MAAA,OAAAC,iBAAA;QAClB,IAAMC,OAAmB,SAAS1B,GAAG,CAAC2B,OAAO,CAAC1B,QAAQ,CAAC2B,MAAM,EAAE,KAAK,CAAC;QACrEL,QAAQ,CAACM,QAAQ,CAACC,YAAY,CAACJ,OAAO,CAAC;MAAC;IAC1C;EACF,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download.js","names":["createModel","downloadFile","extractFileName","API","download","state","reducers","effects","getTarball","_ref","_asyncToGenerator","link","fileStream","request","headers","credentials","fileName","error","console"],"sources":["../../../src/store/models/download.ts"],"sourcesContent":["import { createModel } from '@rematch/core';\n\nimport type { RootModel } from '.';\nimport { downloadFile, extractFileName } from '../../utils/url';\nimport API from '../api';\n\n/**\n *\n * @category Model\n */\nexport const download = createModel<RootModel>()({\n state: {},\n reducers: {},\n effects: () => ({\n async getTarball({ link }) {\n try {\n const fileStream: Blob = await API.request(link, 'GET', {\n headers: {\n ['accept']:\n 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',\n },\n credentials: 'include',\n });\n const fileName = extractFileName(link);\n downloadFile(fileStream, fileName);\n } catch (error: any) {\n // TODO: handle better error\n // eslint-disable-next-line no-console\n console.error('error on download', error);\n }\n },\n }),\n});\n"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,eAAe;AAG3C,SAASC,YAAY,EAAEC,eAAe,QAAQ,iBAAiB;AAC/D,OAAOC,GAAG,MAAM,QAAQ;;AAExB;AACA;AACA;AACA;AACA,OAAO,IAAMC,QAAQ,GAAGJ,WAAW,CAAY,CAAC,CAAC;EAC/CK,KAAK,EAAE,CAAC,CAAC;EACTC,QAAQ,EAAE,CAAC,CAAC;EACZC,OAAO,EAAEA,CAAA,MAAO;IACRC,UAAUA,CAAAC,IAAA,EAAW;MAAA,OAAAC,iBAAA;QAAA,IAAV;UAAEC;QAAK,CAAC,GAAAF,IAAA;QACvB,IAAI;UACF,IAAMG,UAAgB,SAAST,GAAG,CAACU,OAAO,CAACF,IAAI,EAAE,KAAK,EAAE;YACtDG,OAAO,EAAE;cACP,CAAC,QAAQ,GACP;YACJ,CAAC;YACDC,WAAW,EAAE;UACf,CAAC,CAAC;UACF,IAAMC,QAAQ,GAAGd,eAAe,CAACS,IAAI,CAAC;UACtCV,YAAY,CAACW,UAAU,EAAEI,QAAQ,CAAC;QACpC,CAAC,CAAC,OAAOC,KAAU,EAAE;UACnB;UACA;UACAC,OAAO,CAACD,KAAK,CAAC,mBAAmB,EAAEA,KAAK,CAAC;QAC3C;MAAC;IACH;EACF,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
@@ -1,7 +1,10 @@
1
1
  import { Models } from '@rematch/core';
2
+ import { addUser } from './add-user';
3
+ import { changePassword } from './change-password';
2
4
  import { configuration } from './configuration';
3
5
  import { download } from './download';
4
6
  import { login } from './login';
7
+ import { loginV1 } from './login-v1';
5
8
  import { manifest } from './manifest';
6
9
  import { packages } from './packages';
7
10
  import { search } from './search';
@@ -11,6 +14,9 @@ export interface RootModel extends Models<RootModel> {
11
14
  configuration: typeof configuration;
12
15
  download: typeof download;
13
16
  login: typeof login;
17
+ loginV1: typeof loginV1;
14
18
  search: typeof search;
19
+ addUser: typeof addUser;
20
+ changePassword: typeof changePassword;
15
21
  }
16
22
  export declare const models: RootModel;
@@ -1,6 +1,9 @@
1
+ import { addUser } from './add-user';
2
+ import { changePassword } from './change-password';
1
3
  import { configuration } from './configuration';
2
4
  import { download } from './download';
3
5
  import { login } from './login';
6
+ import { loginV1 } from './login-v1';
4
7
  import { manifest } from './manifest';
5
8
  import { packages } from './packages';
6
9
  import { search } from './search';
@@ -10,6 +13,9 @@ export var models = {
10
13
  search,
11
14
  download,
12
15
  login,
13
- manifest
16
+ loginV1,
17
+ manifest,
18
+ addUser,
19
+ changePassword
14
20
  };
15
21
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["addUser","changePassword","configuration","download","login","loginV1","manifest","packages","search","models"],"sources":["../../../src/store/models/index.ts"],"sourcesContent":["import { Models } from '@rematch/core';\n\nimport { addUser } from './add-user';\nimport { changePassword } from './change-password';\nimport { configuration } from './configuration';\nimport { download } from './download';\nimport { login } from './login';\nimport { loginV1 } from './login-v1';\nimport { manifest } from './manifest';\nimport { packages } from './packages';\nimport { search } from './search';\n\nexport interface RootModel extends Models<RootModel> {\n packages: typeof packages;\n manifest: typeof manifest;\n configuration: typeof configuration;\n download: typeof download;\n login: typeof login;\n loginV1: typeof loginV1;\n search: typeof search;\n addUser: typeof addUser;\n changePassword: typeof changePassword;\n}\n\nexport const models: RootModel = {\n packages,\n configuration,\n search,\n download,\n login,\n loginV1,\n manifest,\n addUser,\n changePassword,\n};\n"],"mappings":"AAEA,SAASA,OAAO,QAAQ,YAAY;AACpC,SAASC,cAAc,QAAQ,mBAAmB;AAClD,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,QAAQ,QAAQ,YAAY;AACrC,SAASC,KAAK,QAAQ,SAAS;AAC/B,SAASC,OAAO,QAAQ,YAAY;AACpC,SAASC,QAAQ,QAAQ,YAAY;AACrC,SAASC,QAAQ,QAAQ,YAAY;AACrC,SAASC,MAAM,QAAQ,UAAU;AAcjC,OAAO,IAAMC,MAAiB,GAAG;EAC/BF,QAAQ;EACRL,aAAa;EACbM,MAAM;EACNL,QAAQ;EACRC,KAAK;EACLC,OAAO;EACPC,QAAQ;EACRN,OAAO;EACPC;AACF,CAAC","ignoreList":[]}
@@ -0,0 +1,44 @@
1
+ import type { RootModel } from '.';
2
+ export type LoginV1Error = {
3
+ type: string;
4
+ description: string;
5
+ code?: number;
6
+ };
7
+ type LoginSessionState = {
8
+ isLoggedIn: boolean;
9
+ error?: LoginV1Error;
10
+ };
11
+ /**
12
+ * @category Model
13
+ */
14
+ export declare const loginV1: {
15
+ name?: string | undefined;
16
+ state: LoginSessionState;
17
+ } & {
18
+ effects: (dispatch: import("@rematch/core").RematchDispatch<RootModel>) => {
19
+ login(this: import("@rematch/core").ModelEffectThisTyped, payload: {
20
+ username: string;
21
+ password: string;
22
+ next: string;
23
+ messageType: string;
24
+ }, rootState: import("@rematch/core").RematchRootState<RootModel, Record<string, never>>): Promise<void>;
25
+ };
26
+ } & {
27
+ reducers: {
28
+ setLoggedIn(state: LoginSessionState): {
29
+ isLoggedIn: true;
30
+ error: undefined;
31
+ };
32
+ addError(state: LoginSessionState, error: LoginV1Error): {
33
+ isLoggedIn: false;
34
+ error: LoginV1Error;
35
+ };
36
+ clearError(state: LoginSessionState): {
37
+ error: undefined;
38
+ isLoggedIn: boolean;
39
+ };
40
+ };
41
+ } & ({} | {
42
+ baseReducer: import("redux").Reducer<LoginSessionState, import("redux").AnyAction>;
43
+ });
44
+ export {};
@@ -0,0 +1,103 @@
1
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
2
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
6
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
7
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
+ import { createModel } from '@rematch/core';
9
+ import i18next from 'i18next';
10
+ import { Route } from '../../utils';
11
+ import API from '../api';
12
+ import storage from '../storage';
13
+ import { HEADERS, stripTrailingSlash } from './utils';
14
+ /**
15
+ * @category Model
16
+ */
17
+ export var loginV1 = createModel()({
18
+ state: {
19
+ isLoggedIn: false
20
+ },
21
+ reducers: {
22
+ setLoggedIn(state) {
23
+ return _objectSpread(_objectSpread({}, state), {}, {
24
+ isLoggedIn: true,
25
+ error: undefined
26
+ });
27
+ },
28
+ addError(state, error) {
29
+ return _objectSpread(_objectSpread({}, state), {}, {
30
+ isLoggedIn: false,
31
+ error
32
+ });
33
+ },
34
+ clearError(state) {
35
+ return _objectSpread(_objectSpread({}, state), {}, {
36
+ error: undefined
37
+ });
38
+ }
39
+ },
40
+ effects: dispatch => ({
41
+ login(payload, rootState) {
42
+ return _asyncToGenerator(function* () {
43
+ var basePath = stripTrailingSlash(rootState.configuration.config.base);
44
+ try {
45
+ // Make sure we have a valid next parameter
46
+ if (!payload.next) {
47
+ dispatch.loginV1.addError({
48
+ type: 'error',
49
+ description: i18next.t('security.error.invalid-next-param'),
50
+ code: 400
51
+ });
52
+ return;
53
+ }
54
+ var requestUrl = "".concat(basePath).concat(payload.next);
55
+ var response = yield API.request(requestUrl, 'POST', {
56
+ body: JSON.stringify({
57
+ username: payload.username,
58
+ password: payload.password
59
+ }),
60
+ headers: {
61
+ Accept: HEADERS.JSON,
62
+ 'Content-Type': HEADERS.JSON
63
+ }
64
+ });
65
+ if (response.ok) {
66
+ // Successfully logged in!
67
+
68
+ // Save the username and token to the UI storage
69
+ storage.setItem('username', payload.username);
70
+ storage.setItem('token', response.token);
71
+ dispatch.loginV1.setLoggedIn();
72
+ window.location.href = "".concat(Route.SUCCESS, "?messageType=").concat(payload.messageType);
73
+ } else {
74
+ throw new Error('Unknown error:' + JSON.stringify(response));
75
+ }
76
+ } catch (error) {
77
+ storage.removeItem('username');
78
+ storage.removeItem('token');
79
+ if (error.code === 404) {
80
+ dispatch.loginV1.addError({
81
+ type: 'error',
82
+ description: i18next.t('security.error.username-not-found'),
83
+ code: 404
84
+ });
85
+ } else if (error.code === 401) {
86
+ dispatch.loginV1.addError({
87
+ type: 'error',
88
+ description: i18next.t('security.error.invalid-credentials'),
89
+ code: 401
90
+ });
91
+ } else {
92
+ dispatch.loginV1.addError({
93
+ type: 'error',
94
+ description: i18next.t('security.error.unable-to-login'),
95
+ code: error.code || 403
96
+ });
97
+ }
98
+ }
99
+ })();
100
+ }
101
+ })
102
+ });
103
+ //# sourceMappingURL=login-v1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login-v1.js","names":["createModel","i18next","Route","API","storage","HEADERS","stripTrailingSlash","loginV1","state","isLoggedIn","reducers","setLoggedIn","_objectSpread","error","undefined","addError","clearError","effects","dispatch","login","payload","rootState","_asyncToGenerator","basePath","configuration","config","base","next","type","description","t","code","requestUrl","concat","response","request","body","JSON","stringify","username","password","headers","Accept","ok","setItem","token","window","location","href","SUCCESS","messageType","Error","removeItem"],"sources":["../../../src/store/models/login-v1.ts"],"sourcesContent":["import { createModel } from '@rematch/core';\nimport i18next from 'i18next';\n\nimport type { RootModel } from '.';\nimport { Route } from '../../utils';\nimport API from '../api';\nimport storage from '../storage';\nimport { HEADERS, stripTrailingSlash } from './utils';\n\nexport type LoginV1Error = {\n type: string;\n description: string;\n code?: number;\n};\n\ntype LoginSessionState = {\n isLoggedIn: boolean;\n error?: LoginV1Error;\n};\n\n/**\n * @category Model\n */\nexport const loginV1 = createModel<RootModel>()({\n state: {\n isLoggedIn: false,\n } as LoginSessionState,\n reducers: {\n setLoggedIn(state) {\n return {\n ...state,\n isLoggedIn: true,\n error: undefined,\n };\n },\n addError(state, error: LoginV1Error) {\n return {\n ...state,\n isLoggedIn: false,\n error,\n };\n },\n clearError(state) {\n return {\n ...state,\n error: undefined,\n };\n },\n },\n effects: (dispatch) => ({\n async login(\n payload: { username: string; password: string; next: string; messageType: string },\n rootState\n ) {\n const basePath = stripTrailingSlash(rootState.configuration.config.base);\n\n try {\n // Make sure we have a valid next parameter\n if (!payload.next) {\n dispatch.loginV1.addError({\n type: 'error',\n description: i18next.t('security.error.invalid-next-param'),\n code: 400,\n });\n return;\n }\n\n const requestUrl = `${basePath}${payload.next}`;\n\n const response = await API.request<{ ok: string; token: string }>(requestUrl, 'POST', {\n body: JSON.stringify({ username: payload.username, password: payload.password }),\n headers: {\n Accept: HEADERS.JSON,\n 'Content-Type': HEADERS.JSON,\n },\n });\n\n if (response.ok) {\n // Successfully logged in!\n\n // Save the username and token to the UI storage\n storage.setItem('username', payload.username);\n storage.setItem('token', response.token);\n\n dispatch.loginV1.setLoggedIn();\n window.location.href = `${Route.SUCCESS}?messageType=${payload.messageType}`;\n } else {\n throw new Error('Unknown error:' + JSON.stringify(response));\n }\n } catch (error: any) {\n storage.removeItem('username');\n storage.removeItem('token');\n\n if (error.code === 404) {\n dispatch.loginV1.addError({\n type: 'error',\n description: i18next.t('security.error.username-not-found'),\n code: 404,\n });\n } else if (error.code === 401) {\n dispatch.loginV1.addError({\n type: 'error',\n description: i18next.t('security.error.invalid-credentials'),\n code: 401,\n });\n } else {\n dispatch.loginV1.addError({\n type: 'error',\n description: i18next.t('security.error.unable-to-login'),\n code: error.code || 403,\n });\n }\n }\n },\n }),\n});\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login.js","names":["createModel","i18next","isTokenExpire","API","storage","APIRoute","stripTrailingSlash","HEADERS","JSON","getDefaultUserState","token","getItem","username","defaultUserState","login","state","reducers","logOutUser","removeItem","_objectSpread","addError","error","clearError","undefined","logInUser","response","setItem","effects","dispatch","getUser","_ref","_asyncToGenerator","password","basePath","configuration","config","base","payload","request","concat","LOGIN","body","stringify","headers","Accept","packages","getPackages","type","description","t"],"sources":["../../../src/store/models/login.ts"],"sourcesContent":["import { createModel } from '@rematch/core';\nimport i18next from 'i18next';\n\nimport type { RootModel } from '.';\nimport { isTokenExpire } from '../../utils';\nimport API from '../api';\nimport storage from '../storage';\nimport { APIRoute } from './routes';\nimport { stripTrailingSlash } from './utils';\n\nexport const HEADERS = {\n JSON: 'application/json',\n};\n\nexport type LoginError = {\n type: string;\n description: string;\n};\n\nexport type LoginResponse = {\n username: string | null;\n token: string | null;\n};\n\nexport type LoginBody = {\n error?: LoginError;\n} & LoginResponse;\n\nexport function getDefaultUserState(): LoginBody {\n const token = storage.getItem('token');\n const username = storage.getItem('username');\n const defaultUserState = isTokenExpire(token)\n ? { token: null, username: null }\n : { token, username };\n\n return defaultUserState;\n}\n\nconst defaultUserState: LoginBody = getDefaultUserState();\n\n/**\n *\n * @category Model\n */\nexport const login = createModel<RootModel>()({\n state: {\n username: defaultUserState.username,\n token: defaultUserState.token,\n },\n reducers: {\n logOutUser(state) {\n storage.removeItem('username');\n storage.removeItem('token');\n return {\n ...state,\n username: null,\n token: null,\n };\n },\n addError(state, error: LoginError) {\n return {\n ...state,\n error,\n };\n },\n clearError(state) {\n return {\n ...state,\n error: undefined,\n };\n },\n logInUser(state, response: LoginResponse) {\n // we might persist this in another way with\n storage.setItem('username', response.username as string);\n storage.setItem('token', response.token as string);\n return {\n ...state,\n token: response.token as string,\n username: response.username as string,\n };\n },\n },\n effects: (dispatch) => ({\n async getUser({ username, password }, state) {\n const basePath = stripTrailingSlash(state.configuration.config.base);\n try {\n const payload: LoginResponse = await API.request(`${basePath}${APIRoute.LOGIN}`, 'POST', {\n body: JSON.stringify({ username, password }),\n headers: {\n Accept: HEADERS.JSON,\n 'Content-Type': HEADERS.JSON,\n },\n });\n dispatch.login.logInUser(payload);\n dispatch.packages.getPackages(undefined);\n } catch (error: any) {\n dispatch.login.addError({\n type: 'error',\n description: i18next.t('form-validation.unable-to-sign-in'),\n });\n }\n },\n }),\n});\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.js","names":["createModel","API","APIRoute","stripTrailingSlash","isPackageVersionValid","packageMeta","packageVersion","versions","Object","keys","includes","manifest","state","reducers","notFound","_objectSpread","hasNotBeenFound","forbidden","undefined","packageName","readme","clearError","isError","saveManifest","_ref","effects","dispatch","getManifest","_ref2","_asyncToGenerator","basePath","configuration","config","base","request","concat","SIDEBAR","Error","README","error","code"],"sources":["../../../src/store/models/manifest.ts"],"sourcesContent":["import { createModel } from '@rematch/core';\n\nimport { Manifest } from '@verdaccio/types';\n\nimport type { RootModel } from '.';\nimport { PackageMetaInterface } from '../../types/packageMeta';\nimport API from '../api';\nimport { APIRoute } from './routes';\nimport { stripTrailingSlash } from './utils';\n\nfunction isPackageVersionValid(\n packageMeta: Partial<PackageMetaInterface>,\n packageVersion?: string\n): boolean {\n if (!packageVersion || typeof packageVersion === 'undefined') {\n // if is undefined, that means versions does not exist, we continue\n return true;\n }\n\n if (packageMeta.versions) {\n return Object.keys(packageMeta.versions).includes(packageVersion);\n }\n\n return false;\n}\n\n/**\n *\n * @category Model\n */\nexport const manifest = createModel<RootModel>()({\n state: {},\n reducers: {\n notFound(state) {\n return {\n ...state,\n hasNotBeenFound: true,\n forbidden: false,\n manifest: undefined,\n packageName: undefined,\n packageVersion: undefined,\n readme: undefined,\n };\n },\n forbidden(state) {\n return {\n ...state,\n forbidden: true,\n hasNotBeenFound: false,\n manifest: undefined,\n packageName: undefined,\n packageVersion: undefined,\n readme: undefined,\n };\n },\n clearError(state) {\n return {\n ...state,\n isError: null,\n };\n },\n isError(state) {\n return {\n ...state,\n isError: true,\n hasNotBeenFound: false,\n forbidden: false,\n manifest: undefined,\n packageName: undefined,\n packageVersion: undefined,\n readme: undefined,\n };\n },\n saveManifest(state, { packageName, packageVersion, manifest, readme }) {\n return {\n ...state,\n manifest,\n packageName,\n packageVersion,\n readme,\n hasNotBeenFound: false,\n forbidden: false,\n };\n },\n },\n effects: (dispatch) => ({\n async getManifest({ packageName, packageVersion }, state) {\n const basePath = stripTrailingSlash(state.configuration.config.base);\n try {\n const manifest: Manifest = await API.request(\n `${basePath}${APIRoute.SIDEBAR}${packageName}${\n packageVersion ? `?v=${packageVersion}` : ''\n }`\n );\n\n // FIXME: update types accordingly\n // @ts-ignore\n if (!isPackageVersionValid(manifest, packageVersion)) {\n throw new Error('not found');\n }\n\n const readme: string = await API.request<string>(\n `${basePath}${APIRoute.README}${packageName}${\n packageVersion ? `?v=${packageVersion}` : ''\n }`\n );\n dispatch.manifest.saveManifest({ packageName, packageVersion, manifest, readme });\n } catch (error: any) {\n if (error.code === 404) {\n dispatch.manifest.notFound();\n } else {\n dispatch.manifest.forbidden();\n }\n }\n },\n }),\n});\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packages.js","names":["createModel","API","APIRoute","stripTrailingSlash","packages","state","response","reducers","savePackages","_objectSpread","effects","dispatch","getPackages","_payload","_asyncToGenerator","basePath","configuration","config","base","payload","request","concat","PACKAGES","error","console","title","message"],"sources":["../../../src/store/models/packages.ts"],"sourcesContent":["import { createModel } from '@rematch/core';\n\nimport { Manifest } from '@verdaccio/types';\n\nimport type { RootModel } from '.';\nimport API from '../api';\nimport { APIRoute } from './routes';\nimport { stripTrailingSlash } from './utils';\n\n/**\n *\n * @category Model\n */\nexport const packages = createModel<RootModel>()({\n state: {\n response: [] as Manifest[],\n },\n reducers: {\n savePackages(state, response: Manifest[]) {\n return {\n ...state,\n response,\n };\n },\n },\n effects: (dispatch) => ({\n async getPackages(_payload, state) {\n const basePath = stripTrailingSlash(state.configuration.config.base);\n try {\n const payload: Manifest[] = await API.request(`${basePath}${APIRoute.PACKAGES}`);\n dispatch.packages.savePackages(payload);\n } catch (error: any) {\n // eslint-disable-next-line no-console\n console.error({\n title: 'Warning',\n message: `Unable to load package list: ${error.message}`,\n });\n // TODO: handle error, display something retry or something\n }\n },\n }),\n});\n"],"mappings":";;;;;;;AAAA,SAASA,WAAW,QAAQ,eAAe;AAK3C,OAAOC,GAAG,MAAM,QAAQ;AACxB,SAASC,QAAQ,QAAQ,UAAU;AACnC,SAASC,kBAAkB,QAAQ,SAAS;;AAE5C;AACA;AACA;AACA;AACA,OAAO,IAAMC,QAAQ,GAAGJ,WAAW,CAAY,CAAC,CAAC;EAC/CK,KAAK,EAAE;IACLC,QAAQ,EAAE;EACZ,CAAC;EACDC,QAAQ,EAAE;IACRC,YAAYA,CAACH,KAAK,EAAEC,QAAoB,EAAE;MACxC,OAAAG,aAAA,CAAAA,aAAA,KACKJ,KAAK;QACRC;MAAQ;IAEZ;EACF,CAAC;EACDI,OAAO,EAAGC,QAAQ,KAAM;IAChBC,WAAWA,CAACC,QAAQ,EAAER,KAAK,EAAE;MAAA,OAAAS,iBAAA;QACjC,IAAMC,QAAQ,GAAGZ,kBAAkB,CAACE,KAAK,CAACW,aAAa,CAACC,MAAM,CAACC,IAAI,CAAC;QACpE,IAAI;UACF,IAAMC,OAAmB,SAASlB,GAAG,CAACmB,OAAO,IAAAC,MAAA,CAAIN,QAAQ,EAAAM,MAAA,CAAGnB,QAAQ,CAACoB,QAAQ,CAAE,CAAC;UAChFX,QAAQ,CAACP,QAAQ,CAACI,YAAY,CAACW,OAAO,CAAC;QACzC,CAAC,CAAC,OAAOI,KAAU,EAAE;UACnB;UACAC,OAAO,CAACD,KAAK,CAAC;YACZE,KAAK,EAAE,SAAS;YAChBC,OAAO,kCAAAL,MAAA,CAAkCE,KAAK,CAACG,OAAO;UACxD,CAAC,CAAC;UACF;QACF;MAAC;IACH;EACF,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes.js","names":["APIRoute"],"sources":["../../../src/store/models/routes.ts"],"sourcesContent":["// Example API request:\n// http://localhost:8000/-/verdaccio/data/package/readme/jquery\nexport enum APIRoute {\n LOGIN = '/-/verdaccio/sec/login',\n CONFIG = '/-/verdaccio/packages',\n PACKAGES = '/-/verdaccio/data/packages',\n SEARCH = '/-/verdaccio/data/search/', // :value\n SIDEBAR = '/-/verdaccio/data/sidebar/', // :packageName?v=version\n README = '/-/verdaccio/data/package/readme/', // :packageName?v=version\n}\n"],"mappings":"AAAA;AACA;AACA,WAAYA,QAAQ,0BAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","names":["createModel","orderBy","API","APIRoute","stripTrailingSlash","CONSTANTS","API_DELAY","ABORT_ERROR","search","state","suggestions","controller","reducers","clearRequestQueue","controllers","forEach","request","abort","_objectSpread","addControllerToQueue","_ref","currentControllers","setError","isError","saveSearch","_ref2","effects","dispatch","getSuggestions","_ref3","_asyncToGenerator","value","basePath","configuration","config","base","window","AbortController","signal","concat","SEARCH","encodeURIComponent","headers","orderedSuggestions","error","name"],"sources":["../../../src/store/models/search.ts"],"sourcesContent":["import { createModel } from '@rematch/core';\nimport orderBy from 'lodash/orderBy';\n\nimport { SearchResultWeb } from '@verdaccio/types';\n\nimport type { RootModel } from '.';\nimport API from '../api';\nimport { APIRoute } from './routes';\nimport { stripTrailingSlash } from './utils';\n\nconst CONSTANTS = {\n API_DELAY: 300,\n ABORT_ERROR: 'AbortError',\n};\n\ntype SearchState = {\n suggestions: SearchResultWeb[];\n controller: AbortController[];\n};\n\nexport const search = createModel<RootModel>()({\n state: {\n suggestions: [],\n controller: [],\n } as SearchState,\n reducers: {\n clearRequestQueue(state) {\n const controllers = state.controller;\n controllers.forEach((request) => {\n request?.abort();\n });\n return {\n ...state,\n controller: [],\n };\n },\n addControllerToQueue(state, { controller }: { controller: AbortController }) {\n const currentControllers = state.controller;\n return {\n ...state,\n controller: [...currentControllers, controller],\n };\n },\n setError(state) {\n return {\n ...state,\n isError: true,\n };\n },\n saveSearch(state, { suggestions }: { suggestions: SearchResultWeb[] }) {\n return {\n ...state,\n suggestions,\n isError: null,\n };\n },\n },\n effects: (dispatch) => ({\n async getSuggestions({ value }, state) {\n const basePath = stripTrailingSlash(state.configuration.config.base);\n try {\n const controller = new window.AbortController();\n dispatch.search.addControllerToQueue({ controller });\n const signal = controller.signal;\n // https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API#Browser_compatibility\n // FUTURE: signal is not well supported for IE and Samsung Browser\n const suggestions: SearchResultWeb[] = await API.request(\n `${basePath}${APIRoute.SEARCH}${encodeURIComponent(value)}`,\n 'GET',\n {\n signal,\n headers: {},\n }\n );\n const orderedSuggestions = orderBy(suggestions, ['verdaccioPrivate'], ['desc']);\n dispatch.search.saveSearch({\n suggestions: orderedSuggestions,\n });\n } catch (error: any) {\n if (error.name === CONSTANTS.ABORT_ERROR) {\n dispatch.search.saveSearch({ suggestions: [] });\n } else {\n dispatch.search.setError();\n }\n }\n },\n }),\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1,4 @@
1
+ export declare const HEADERS: {
2
+ JSON: string;
3
+ };
1
4
  export declare function stripTrailingSlash(url: string): string;