@opensumi/ide-core-browser 2.21.13-rc-1673328992.0 → 2.21.13

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 (562) hide show
  1. package/lib/application/application-state-service.d.ts +1 -1
  2. package/lib/application/application-state-service.d.ts.map +1 -1
  3. package/lib/application/application-state-service.js.map +1 -1
  4. package/lib/application/application.service.js.map +1 -1
  5. package/lib/authentication/authentication.contribution.js.map +1 -1
  6. package/lib/authentication/authentication.service.js.map +1 -1
  7. package/lib/bootstrap/app.d.ts +35 -2
  8. package/lib/bootstrap/app.d.ts.map +1 -1
  9. package/lib/bootstrap/app.js +8 -8
  10. package/lib/bootstrap/app.js.map +1 -1
  11. package/lib/bootstrap/app.view.d.ts +1 -1
  12. package/lib/bootstrap/app.view.d.ts.map +1 -1
  13. package/lib/bootstrap/connection.d.ts +1 -1
  14. package/lib/bootstrap/connection.d.ts.map +1 -1
  15. package/lib/bootstrap/connection.js +4 -4
  16. package/lib/bootstrap/connection.js.map +1 -1
  17. package/lib/bootstrap/index.d.ts +1 -1
  18. package/lib/bootstrap/index.d.ts.map +1 -1
  19. package/lib/bootstrap/index.js +1 -1
  20. package/lib/bootstrap/index.js.map +1 -1
  21. package/lib/bootstrap/inner-providers.js +1 -1
  22. package/lib/bootstrap/inner-providers.js.map +1 -1
  23. package/lib/bootstrap/lifecycle.service.js.map +1 -1
  24. package/lib/browser-module.js.map +1 -1
  25. package/lib/common/common.command.d.ts +1 -24
  26. package/lib/common/common.command.d.ts.map +1 -1
  27. package/lib/common/common.command.js +6 -42
  28. package/lib/common/common.command.js.map +1 -1
  29. package/lib/common/common.contribution.js.map +1 -1
  30. package/lib/common/common.module.js.map +1 -1
  31. package/lib/common/common.storage.js.map +1 -1
  32. package/lib/components/actions/index.d.ts +2 -2
  33. package/lib/components/actions/index.d.ts.map +1 -1
  34. package/lib/components/actions/index.js +22 -2
  35. package/lib/components/actions/index.js.map +1 -1
  36. package/lib/components/index.d.ts +4 -0
  37. package/lib/components/index.d.ts.map +1 -1
  38. package/lib/components/index.js +4 -0
  39. package/lib/components/index.js.map +1 -1
  40. package/lib/components/layout/box-panel.d.ts +1 -1
  41. package/lib/components/layout/box-panel.d.ts.map +1 -1
  42. package/lib/components/layout/split-panel.d.ts +1 -17
  43. package/lib/components/layout/split-panel.d.ts.map +1 -1
  44. package/lib/components/layout/split-panel.js +16 -16
  45. package/lib/components/layout/split-panel.js.map +1 -1
  46. package/lib/components/layout/split-panel.service.js.map +1 -1
  47. package/lib/components/progressbar/index.d.ts +2 -2
  48. package/lib/components/progressbar/index.d.ts.map +1 -1
  49. package/lib/components/progressbar/index.js +10 -2
  50. package/lib/components/progressbar/index.js.map +1 -1
  51. package/lib/components/progressbar/styles.module.less +31 -0
  52. package/lib/components/recycle-tree/index.d.ts +2 -0
  53. package/lib/components/recycle-tree/index.d.ts.map +1 -0
  54. package/lib/components/recycle-tree/index.js +5 -0
  55. package/lib/components/recycle-tree/index.js.map +1 -0
  56. package/lib/components/recycle-tree/recycle-tree.view.d.ts +82 -0
  57. package/lib/components/recycle-tree/recycle-tree.view.d.ts.map +1 -0
  58. package/lib/components/recycle-tree/recycle-tree.view.js +188 -0
  59. package/lib/components/recycle-tree/recycle-tree.view.js.map +1 -0
  60. package/lib/components/scroll/index.d.ts +68 -0
  61. package/lib/components/scroll/index.d.ts.map +1 -0
  62. package/lib/components/scroll/index.js +279 -0
  63. package/lib/components/scroll/index.js.map +1 -0
  64. package/lib/components/scroll/scroll.module.less +108 -0
  65. package/lib/components/scrollbar/index.d.ts +2 -0
  66. package/lib/components/scrollbar/index.d.ts.map +1 -0
  67. package/lib/components/scrollbar/index.js +5 -0
  68. package/lib/components/scrollbar/index.js.map +1 -0
  69. package/lib/components/scrollbar/scrollbar.less +36 -0
  70. package/lib/components/scrollbar/scrollbar.view.d.ts +7 -0
  71. package/lib/components/scrollbar/scrollbar.view.d.ts.map +1 -0
  72. package/lib/components/scrollbar/scrollbar.view.js +11 -0
  73. package/lib/components/scrollbar/scrollbar.view.js.map +1 -0
  74. package/lib/components/tree/index.d.ts +4 -0
  75. package/lib/components/tree/index.d.ts.map +1 -0
  76. package/lib/components/tree/index.js +7 -0
  77. package/lib/components/tree/index.js.map +1 -0
  78. package/lib/components/tree/tree-node.view.d.ts +26 -0
  79. package/lib/components/tree/tree-node.view.d.ts.map +1 -0
  80. package/lib/components/tree/tree-node.view.js +350 -0
  81. package/lib/components/tree/tree-node.view.js.map +1 -0
  82. package/lib/components/tree/tree.module.less +296 -0
  83. package/lib/components/tree/tree.view.d.ts +132 -0
  84. package/lib/components/tree/tree.view.d.ts.map +1 -0
  85. package/lib/components/tree/tree.view.js +238 -0
  86. package/lib/components/tree/tree.view.js.map +1 -0
  87. package/lib/contextkey/resource.d.ts +1 -1
  88. package/lib/contextkey/resource.d.ts.map +1 -1
  89. package/lib/contextkey/testing.d.ts +0 -1
  90. package/lib/contextkey/testing.d.ts.map +1 -1
  91. package/lib/contextkey/testing.js +1 -2
  92. package/lib/contextkey/testing.js.map +1 -1
  93. package/lib/core-preferences.d.ts +2 -3
  94. package/lib/core-preferences.d.ts.map +1 -1
  95. package/lib/core-preferences.js +1 -1
  96. package/lib/core-preferences.js.map +1 -1
  97. package/lib/dom/index.d.ts +1 -1
  98. package/lib/dom/index.d.ts.map +1 -1
  99. package/lib/encoding-registry.js.map +1 -1
  100. package/lib/extensions/extensions-point.service.js.map +1 -1
  101. package/lib/hash-calculate/hash-calculate.contribution.js.map +1 -1
  102. package/lib/index.d.ts +1 -1
  103. package/lib/index.d.ts.map +1 -1
  104. package/lib/index.js +1 -1
  105. package/lib/index.js.map +1 -1
  106. package/lib/keybinding/keybinding.js.map +1 -1
  107. package/lib/keyboard/keyboard-layout-provider.d.ts +2 -2
  108. package/lib/keyboard/keyboard-layout-provider.d.ts.map +1 -1
  109. package/lib/keyboard/keyboard-layout-provider.js +13 -13
  110. package/lib/keyboard/keyboard-layout-provider.js.map +1 -1
  111. package/lib/keyboard/keyboard-layout-service.js.map +1 -1
  112. package/lib/keyboard/keys.d.ts +2 -2
  113. package/lib/keyboard/keys.d.ts.map +1 -1
  114. package/lib/keyboard/layouts/_.contribution.js +3 -3
  115. package/lib/keyboard/layouts/_.contribution.js.map +1 -1
  116. package/lib/layout/accordion/tab-bar-toolbar.js.map +1 -1
  117. package/lib/layout/accordion/view-context-key.registry.js.map +1 -1
  118. package/lib/layout/layout-hooks.d.ts +1 -1
  119. package/lib/layout/layout-hooks.d.ts.map +1 -1
  120. package/lib/layout/layout-hooks.js +3 -1
  121. package/lib/layout/layout-hooks.js.map +1 -1
  122. package/lib/layout/layout-state.js.map +1 -1
  123. package/lib/layout/layout.interface.d.ts +1 -1
  124. package/lib/layout/layout.interface.d.ts.map +1 -1
  125. package/lib/layout/layout.js.map +1 -1
  126. package/lib/logger/browser-logger.js.map +1 -1
  127. package/lib/markdown/index.d.ts +1 -1
  128. package/lib/markdown/index.d.ts.map +1 -1
  129. package/lib/markdown/index.js +31 -4
  130. package/lib/markdown/index.js.map +1 -1
  131. package/lib/menu/next/base.d.ts +4 -4
  132. package/lib/menu/next/base.d.ts.map +1 -1
  133. package/lib/menu/next/base.js.map +1 -1
  134. package/lib/menu/next/ctxmenu-service.js +10 -10
  135. package/lib/menu/next/ctxmenu-service.js.map +1 -1
  136. package/lib/menu/next/menu-service.js +6 -6
  137. package/lib/menu/next/menu-service.js.map +1 -1
  138. package/lib/menu/next/menu.contrib.interface.d.ts +15 -16
  139. package/lib/menu/next/menu.contrib.interface.d.ts.map +1 -1
  140. package/lib/menu/next/menu.contrib.interface.js.map +1 -1
  141. package/lib/menu/next/menu.interface.d.ts +2 -2
  142. package/lib/menu/next/menu.interface.d.ts.map +1 -1
  143. package/lib/menu/next/menu.interface.js.map +1 -1
  144. package/lib/menu/next/menubar-service.js +10 -10
  145. package/lib/menu/next/menubar-service.js.map +1 -1
  146. package/lib/menu/next/renderer/ctxmenu/browser.js.map +1 -1
  147. package/lib/menu/next/renderer/ctxmenu/electron.js.map +1 -1
  148. package/lib/menu/next/toolbar-action.service.d.ts +1 -1
  149. package/lib/menu/next/toolbar-action.service.d.ts.map +1 -1
  150. package/lib/menu/next/toolbar-action.service.js.map +1 -1
  151. package/lib/monaco/index.d.ts +3 -7
  152. package/lib/monaco/index.d.ts.map +1 -1
  153. package/lib/monaco/index.js.map +1 -1
  154. package/lib/opener/command-opener.js.map +1 -1
  155. package/lib/opener/default-opener.js.map +1 -1
  156. package/lib/opener/http-opener.js.map +1 -1
  157. package/lib/opener/opener.contribution.js.map +1 -1
  158. package/lib/opener/opener.service.js.map +1 -1
  159. package/lib/preferences/early-preferences.js +4 -4
  160. package/lib/preferences/early-preferences.js.map +1 -1
  161. package/lib/preferences/preference-configurations.js +1 -1
  162. package/lib/preferences/preference-configurations.js.map +1 -1
  163. package/lib/preferences/preference-contribution.d.ts +2 -1
  164. package/lib/preferences/preference-contribution.d.ts.map +1 -1
  165. package/lib/preferences/preference-contribution.js +20 -23
  166. package/lib/preferences/preference-contribution.js.map +1 -1
  167. package/lib/preferences/preference-provider.js.map +1 -1
  168. package/lib/preferences/preference-proxy.d.ts +3 -2
  169. package/lib/preferences/preference-proxy.d.ts.map +1 -1
  170. package/lib/preferences/preference-proxy.js.map +1 -1
  171. package/lib/preferences/preference-service.d.ts +0 -1
  172. package/lib/preferences/preference-service.d.ts.map +1 -1
  173. package/lib/preferences/preference-service.js +3 -50
  174. package/lib/preferences/preference-service.js.map +1 -1
  175. package/lib/preferences/settings.d.ts +5 -44
  176. package/lib/preferences/settings.d.ts.map +1 -1
  177. package/lib/preferences/settings.js.map +1 -1
  178. package/lib/preferences/types.d.ts +1 -8
  179. package/lib/preferences/types.d.ts.map +1 -1
  180. package/lib/preferences/types.js.map +1 -1
  181. package/lib/progress/progress-bar.d.ts +1 -4
  182. package/lib/progress/progress-bar.d.ts.map +1 -1
  183. package/lib/progress/progress-bar.js +4 -11
  184. package/lib/progress/progress-bar.js.map +1 -1
  185. package/lib/progress/progress-indicator.js.map +1 -1
  186. package/lib/progress/progress.service.js +6 -6
  187. package/lib/progress/progress.service.js.map +1 -1
  188. package/lib/quick-open/index.d.ts +1 -1
  189. package/lib/quick-open/index.d.ts.map +1 -1
  190. package/lib/quick-open/index.js.map +1 -1
  191. package/lib/quick-open/recent-files.js.map +1 -1
  192. package/lib/raw-context-key.d.ts +1 -1
  193. package/lib/raw-context-key.d.ts.map +1 -1
  194. package/lib/raw-context-key.js +4 -4
  195. package/lib/raw-context-key.js.map +1 -1
  196. package/lib/react-providers/config-provider.d.ts +0 -5
  197. package/lib/react-providers/config-provider.d.ts.map +1 -1
  198. package/lib/react-providers/config-provider.js.map +1 -1
  199. package/lib/react-providers/slot.d.ts +2 -2
  200. package/lib/react-providers/slot.d.ts.map +1 -1
  201. package/lib/services/clipboard.service.d.ts +0 -1
  202. package/lib/services/clipboard.service.d.ts.map +1 -1
  203. package/lib/services/clipboard.service.js +30 -17
  204. package/lib/services/clipboard.service.js.map +1 -1
  205. package/lib/services/credentials-service.js.map +1 -1
  206. package/lib/services/crypto-service.js.map +1 -1
  207. package/lib/services/external-uri.service.js.map +1 -1
  208. package/lib/services/label-service.js.map +1 -1
  209. package/lib/services/storage-service.d.ts +0 -1
  210. package/lib/services/storage-service.d.ts.map +1 -1
  211. package/lib/services/storage-service.js +2 -13
  212. package/lib/services/storage-service.js.map +1 -1
  213. package/lib/style/icon/icon.d.ts +2 -3
  214. package/lib/style/icon/icon.d.ts.map +1 -1
  215. package/lib/style/icon/icon.js +1 -5
  216. package/lib/style/icon/icon.js.map +1 -1
  217. package/lib/style/icon/ide-iconfont.d.ts +1 -1
  218. package/lib/style/icon/ide-iconfont.d.ts.map +1 -1
  219. package/lib/style/icon/ide-iconfont.js +1 -1
  220. package/lib/style/icon/ide-iconfont.js.map +1 -1
  221. package/lib/style/icon/index.less +0 -13
  222. package/lib/toolbar/components/button.js +12 -12
  223. package/lib/toolbar/components/button.js.map +1 -1
  224. package/lib/toolbar/toolbar.popover.registry.js.map +1 -1
  225. package/lib/toolbar/toolbar.registry.d.ts +1 -1
  226. package/lib/toolbar/toolbar.registry.d.ts.map +1 -1
  227. package/lib/toolbar/toolbar.registry.js.map +1 -1
  228. package/lib/toolbar/types.d.ts +1 -1
  229. package/lib/toolbar/types.d.ts.map +1 -1
  230. package/lib/tree/index.d.ts +4 -0
  231. package/lib/tree/index.d.ts.map +1 -0
  232. package/lib/tree/index.js +7 -0
  233. package/lib/tree/index.js.map +1 -0
  234. package/lib/tree/tree-expansion.d.ts +16 -0
  235. package/lib/tree/tree-expansion.d.ts.map +1 -0
  236. package/lib/tree/tree-expansion.js +20 -0
  237. package/lib/tree/tree-expansion.js.map +1 -0
  238. package/lib/tree/tree-selection.d.ts +48 -0
  239. package/lib/tree/tree-selection.d.ts.map +1 -0
  240. package/lib/tree/tree-selection.js +64 -0
  241. package/lib/tree/tree-selection.js.map +1 -0
  242. package/lib/tree/tree.d.ts +195 -0
  243. package/lib/tree/tree.d.ts.map +1 -0
  244. package/lib/tree/tree.js +108 -0
  245. package/lib/tree/tree.js.map +1 -0
  246. package/lib/utils/json.d.ts +5 -5
  247. package/lib/utils/json.d.ts.map +1 -1
  248. package/lib/utils/label.d.ts.map +1 -1
  249. package/lib/utils/label.js +9 -16
  250. package/lib/utils/label.js.map +1 -1
  251. package/lib/utils/parse.d.ts +1 -2
  252. package/lib/utils/parse.d.ts.map +1 -1
  253. package/lib/utils/parse.js +1 -10
  254. package/lib/utils/parse.js.map +1 -1
  255. package/lib/variable/variable.d.ts +1 -1
  256. package/lib/variable/variable.d.ts.map +1 -1
  257. package/lib/variable/variable.js.map +1 -1
  258. package/lib/window/window.service.js.map +1 -1
  259. package/package.json +11 -9
  260. package/lib/bootstrap/app.interface.d.ts +0 -39
  261. package/lib/bootstrap/app.interface.d.ts.map +0 -1
  262. package/lib/bootstrap/app.interface.js +0 -3
  263. package/lib/bootstrap/app.interface.js.map +0 -1
  264. package/lib/contextkey/search.d.ts +0 -24
  265. package/lib/contextkey/search.d.ts.map +0 -1
  266. package/lib/contextkey/search.js +0 -29
  267. package/lib/contextkey/search.js.map +0 -1
  268. package/lib/file-decoration.d.ts +0 -10
  269. package/lib/file-decoration.d.ts.map +0 -1
  270. package/lib/file-decoration.js +0 -3
  271. package/lib/file-decoration.js.map +0 -1
  272. package/lib/monaco/merge-editor-widget.d.ts +0 -53
  273. package/lib/monaco/merge-editor-widget.d.ts.map +0 -1
  274. package/lib/monaco/merge-editor-widget.js +0 -107
  275. package/lib/monaco/merge-editor-widget.js.map +0 -1
  276. package/lib/react-hooks/useThrottleFn/index.d.ts +0 -13
  277. package/lib/react-hooks/useThrottleFn/index.d.ts.map +0 -1
  278. package/lib/react-hooks/useThrottleFn/index.js +0 -20
  279. package/lib/react-hooks/useThrottleFn/index.js.map +0 -1
  280. package/src/application/application-state-service.ts +0 -54
  281. package/src/application/application.service.ts +0 -51
  282. package/src/application/index.ts +0 -2
  283. package/src/authentication/authentication.contribution.ts +0 -35
  284. package/src/authentication/authentication.service.ts +0 -517
  285. package/src/bootstrap/app.interface.ts +0 -46
  286. package/src/bootstrap/app.ts +0 -710
  287. package/src/bootstrap/app.view.tsx +0 -88
  288. package/src/bootstrap/connection.ts +0 -116
  289. package/src/bootstrap/index.ts +0 -3
  290. package/src/bootstrap/inner-providers.ts +0 -297
  291. package/src/bootstrap/lifecycle.service.ts +0 -19
  292. package/src/browser-module.ts +0 -24
  293. package/src/common/common.command.ts +0 -1018
  294. package/src/common/common.contribution.ts +0 -343
  295. package/src/common/common.define.ts +0 -55
  296. package/src/common/common.module.ts +0 -33
  297. package/src/common/common.storage.ts +0 -22
  298. package/src/common/container-id.ts +0 -12
  299. package/src/common/index.ts +0 -4
  300. package/src/components/actions/index.tsx +0 -486
  301. package/src/components/actions/placements.ts +0 -47
  302. package/src/components/actions/styles.module.less +0 -144
  303. package/src/components/badge/index.tsx +0 -1
  304. package/src/components/index.ts +0 -22
  305. package/src/components/layout/box-panel.tsx +0 -88
  306. package/src/components/layout/default-layout.tsx +0 -61
  307. package/src/components/layout/index.ts +0 -4
  308. package/src/components/layout/layout.ts +0 -80
  309. package/src/components/layout/split-panel.service.ts +0 -56
  310. package/src/components/layout/split-panel.tsx +0 -315
  311. package/src/components/layout/styles.module.less +0 -21
  312. package/src/components/loading/index.ts +0 -1
  313. package/src/components/loading/loading.less +0 -14
  314. package/src/components/loading/loading.view.tsx +0 -7
  315. package/src/components/loading/media/loading-dark.svg +0 -52
  316. package/src/components/loading/media/loading-hc.svg +0 -52
  317. package/src/components/loading/media/loading.svg +0 -52
  318. package/src/components/popover/styles.module.less +0 -81
  319. package/src/components/portal/index.tsx +0 -13
  320. package/src/components/progressbar/index.tsx +0 -3
  321. package/src/components/resize/resize.module.less +0 -78
  322. package/src/components/resize/resize.tsx +0 -663
  323. package/src/components/select/index.tsx +0 -12
  324. package/src/components/select/styles.less +0 -6
  325. package/src/context-key.ts +0 -48
  326. package/src/contextkey/dialog.ts +0 -3
  327. package/src/contextkey/explorer.ts +0 -26
  328. package/src/contextkey/index.ts +0 -6
  329. package/src/contextkey/outline.ts +0 -4
  330. package/src/contextkey/resource.ts +0 -61
  331. package/src/contextkey/search.ts +0 -30
  332. package/src/contextkey/terminal.ts +0 -7
  333. package/src/contextkey/testing.ts +0 -9
  334. package/src/contextkey/workspace.ts +0 -7
  335. package/src/core-preferences.ts +0 -318
  336. package/src/dom/index.ts +0 -176
  337. package/src/encoding-registry.ts +0 -83
  338. package/src/extensions/extensions-point.service.ts +0 -78
  339. package/src/extensions/index.ts +0 -3
  340. package/src/extensions/schema/browserViews.ts +0 -96
  341. package/src/extensions/schema/menu.ts +0 -245
  342. package/src/extensions/schema/opensumiExtensionPackageSchema.ts +0 -12
  343. package/src/extensions/schema/toolbar.ts +0 -338
  344. package/src/extensions/schema/vscodeExtensionPackageSchema.ts +0 -330
  345. package/src/file-decoration.ts +0 -10
  346. package/src/fs/index.ts +0 -12
  347. package/src/hash-calculate/hash-calculate.contribution.ts +0 -19
  348. package/src/index.ts +0 -42
  349. package/src/keybinding/index.ts +0 -1
  350. package/src/keybinding/keybinding.ts +0 -908
  351. package/src/keyboard/index.ts +0 -3
  352. package/src/keyboard/keyboard-layout-provider.ts +0 -412
  353. package/src/keyboard/keyboard-layout-service.ts +0 -449
  354. package/src/keyboard/keys.ts +0 -748
  355. package/src/keyboard/layouts/_.contribution.ts +0 -24
  356. package/src/keyboard/layouts/cz.win.ts +0 -168
  357. package/src/keyboard/layouts/de-swiss.win.ts +0 -168
  358. package/src/keyboard/layouts/de.darwin.ts +0 -131
  359. package/src/keyboard/layouts/de.linux.ts +0 -186
  360. package/src/keyboard/layouts/de.win.ts +0 -168
  361. package/src/keyboard/layouts/dk.win.ts +0 -168
  362. package/src/keyboard/layouts/dvorak.darwin.ts +0 -131
  363. package/src/keyboard/layouts/en-belgian.win.ts +0 -168
  364. package/src/keyboard/layouts/en-ext.darwin.ts +0 -131
  365. package/src/keyboard/layouts/en-in.win.ts +0 -168
  366. package/src/keyboard/layouts/en-intl.darwin.ts +0 -131
  367. package/src/keyboard/layouts/en-intl.win.ts +0 -168
  368. package/src/keyboard/layouts/en-uk.darwin.ts +0 -131
  369. package/src/keyboard/layouts/en-uk.win.ts +0 -168
  370. package/src/keyboard/layouts/en.darwin.ts +0 -139
  371. package/src/keyboard/layouts/en.linux.ts +0 -186
  372. package/src/keyboard/layouts/en.win.ts +0 -173
  373. package/src/keyboard/layouts/es-latin.win.ts +0 -168
  374. package/src/keyboard/layouts/es.darwin.ts +0 -131
  375. package/src/keyboard/layouts/es.linux.ts +0 -186
  376. package/src/keyboard/layouts/es.win.ts +0 -168
  377. package/src/keyboard/layouts/fr.darwin.ts +0 -131
  378. package/src/keyboard/layouts/fr.linux.ts +0 -186
  379. package/src/keyboard/layouts/fr.win.ts +0 -168
  380. package/src/keyboard/layouts/hu.win.ts +0 -168
  381. package/src/keyboard/layouts/it.darwin.ts +0 -131
  382. package/src/keyboard/layouts/it.win.ts +0 -168
  383. package/src/keyboard/layouts/jp-roman.darwin.ts +0 -131
  384. package/src/keyboard/layouts/jp.darwin.ts +0 -131
  385. package/src/keyboard/layouts/ko.darwin.ts +0 -131
  386. package/src/keyboard/layouts/layout.contribution.darwin.ts +0 -23
  387. package/src/keyboard/layouts/layout.contribution.linux.ts +0 -12
  388. package/src/keyboard/layouts/layout.contribution.ts +0 -9
  389. package/src/keyboard/layouts/layout.contribution.win.ts +0 -29
  390. package/src/keyboard/layouts/no.win.ts +0 -168
  391. package/src/keyboard/layouts/pl.darwin.ts +0 -131
  392. package/src/keyboard/layouts/pl.win.ts +0 -168
  393. package/src/keyboard/layouts/pt-br.win.ts +0 -169
  394. package/src/keyboard/layouts/pt.darwin.ts +0 -131
  395. package/src/keyboard/layouts/pt.win.ts +0 -168
  396. package/src/keyboard/layouts/ru.darwin.ts +0 -131
  397. package/src/keyboard/layouts/ru.linux.ts +0 -186
  398. package/src/keyboard/layouts/ru.win.ts +0 -168
  399. package/src/keyboard/layouts/sv.darwin.ts +0 -131
  400. package/src/keyboard/layouts/sv.win.ts +0 -168
  401. package/src/keyboard/layouts/thai.win.ts +0 -168
  402. package/src/keyboard/layouts/tr.win.ts +0 -168
  403. package/src/keyboard/layouts/zh-hans.darwin.ts +0 -131
  404. package/src/layout/accordion/tab-bar-toolbar.tsx +0 -59
  405. package/src/layout/accordion/view-context-key.registry.ts +0 -34
  406. package/src/layout/constants.ts +0 -7
  407. package/src/layout/index.ts +0 -5
  408. package/src/layout/layout-hooks.ts +0 -68
  409. package/src/layout/layout-state.ts +0 -107
  410. package/src/layout/layout.interface.ts +0 -101
  411. package/src/layout/layout.ts +0 -80
  412. package/src/layout/view-id.ts +0 -18
  413. package/src/logger/browser-logger.ts +0 -51
  414. package/src/logger/index.ts +0 -1
  415. package/src/markdown/index.tsx +0 -30
  416. package/src/menu/next/base.ts +0 -513
  417. package/src/menu/next/ctxmenu-service.ts +0 -188
  418. package/src/menu/next/index.ts +0 -10
  419. package/src/menu/next/menu-id.ts +0 -86
  420. package/src/menu/next/menu-service.ts +0 -252
  421. package/src/menu/next/menu-util.ts +0 -77
  422. package/src/menu/next/menu.contrib.interface.ts +0 -79
  423. package/src/menu/next/menu.interface.ts +0 -253
  424. package/src/menu/next/menubar-service.ts +0 -211
  425. package/src/menu/next/renderer/ctxmenu/base.ts +0 -18
  426. package/src/menu/next/renderer/ctxmenu/browser.ts +0 -45
  427. package/src/menu/next/renderer/ctxmenu/electron.ts +0 -207
  428. package/src/menu/next/toolbar-action.service.ts +0 -132
  429. package/src/monaco/index.ts +0 -136
  430. package/src/monaco/merge-editor-widget.ts +0 -159
  431. package/src/opener/command-opener.ts +0 -42
  432. package/src/opener/default-opener.ts +0 -31
  433. package/src/opener/http-opener.ts +0 -25
  434. package/src/opener/index.ts +0 -19
  435. package/src/opener/opener.contribution.ts +0 -57
  436. package/src/opener/opener.service.ts +0 -66
  437. package/src/preferences/early-preferences.ts +0 -117
  438. package/src/preferences/index.ts +0 -9
  439. package/src/preferences/preference-configurations.ts +0 -77
  440. package/src/preferences/preference-contribution.ts +0 -395
  441. package/src/preferences/preference-provider.ts +0 -414
  442. package/src/preferences/preference-proxy.ts +0 -291
  443. package/src/preferences/preference-scope.ts +0 -3
  444. package/src/preferences/preference-service.ts +0 -623
  445. package/src/preferences/settings.ts +0 -90
  446. package/src/preferences/types.ts +0 -119
  447. package/src/progress/index.ts +0 -58
  448. package/src/progress/progress-bar.tsx +0 -34
  449. package/src/progress/progress-indicator.ts +0 -90
  450. package/src/progress/progress.module.less +0 -46
  451. package/src/progress/progress.service.tsx +0 -429
  452. package/src/quick-open/index.ts +0 -655
  453. package/src/quick-open/recent-files.ts +0 -68
  454. package/src/raw-context-key.ts +0 -116
  455. package/src/react-hooks/event.tsx +0 -80
  456. package/src/react-hooks/hot-key.tsx +0 -58
  457. package/src/react-hooks/index.ts +0 -3
  458. package/src/react-hooks/injectable-hooks.tsx +0 -35
  459. package/src/react-hooks/portal-hooks.tsx +0 -38
  460. package/src/react-hooks/useThrottleFn/index.ts +0 -34
  461. package/src/react-providers/config-provider.tsx +0 -264
  462. package/src/react-providers/index.tsx +0 -2
  463. package/src/react-providers/slot.module.less +0 -19
  464. package/src/react-providers/slot.tsx +0 -242
  465. package/src/services/clipboard.service.ts +0 -92
  466. package/src/services/credentials-service.ts +0 -91
  467. package/src/services/crypto-service.ts +0 -23
  468. package/src/services/external-uri.service.ts +0 -68
  469. package/src/services/index.ts +0 -7
  470. package/src/services/label-service.ts +0 -386
  471. package/src/services/status-bar-service.ts +0 -108
  472. package/src/services/storage-service.ts +0 -201
  473. package/src/style/codicons/README.md +0 -22
  474. package/src/style/codicons/codicon-animations.css +0 -15
  475. package/src/style/codicons/generator.js +0 -15
  476. package/src/style/entry.less +0 -25
  477. package/src/style/icon/fileicons/file-default.svg +0 -1
  478. package/src/style/icon/fileicons/folder-default.svg +0 -1
  479. package/src/style/icon/fileicons.less +0 -20
  480. package/src/style/icon/icon.ts +0 -547
  481. package/src/style/icon/ide-iconfont.ts +0 -13
  482. package/src/style/icon/index.less +0 -67
  483. package/src/style/icon/seti.woff +0 -0
  484. package/src/style/icon/symbol-icons/boolean-dark.svg +0 -3
  485. package/src/style/icon/symbol-icons/boolean-light.svg +0 -3
  486. package/src/style/icon/symbol-icons/class-dark.svg +0 -3
  487. package/src/style/icon/symbol-icons/class-light.svg +0 -3
  488. package/src/style/icon/symbol-icons/constant-dark.svg +0 -4
  489. package/src/style/icon/symbol-icons/constant-light.svg +0 -4
  490. package/src/style/icon/symbol-icons/enumerator-dark.svg +0 -3
  491. package/src/style/icon/symbol-icons/enumerator-item-dark.svg +0 -3
  492. package/src/style/icon/symbol-icons/enumerator-item-light.svg +0 -3
  493. package/src/style/icon/symbol-icons/enumerator-light.svg +0 -3
  494. package/src/style/icon/symbol-icons/event-dark.svg +0 -3
  495. package/src/style/icon/symbol-icons/event-light.svg +0 -3
  496. package/src/style/icon/symbol-icons/field-dark.svg +0 -3
  497. package/src/style/icon/symbol-icons/field-light.svg +0 -3
  498. package/src/style/icon/symbol-icons/file-dark.svg +0 -3
  499. package/src/style/icon/symbol-icons/file-light.svg +0 -3
  500. package/src/style/icon/symbol-icons/indexer-dark.svg +0 -3
  501. package/src/style/icon/symbol-icons/indexer-light.svg +0 -3
  502. package/src/style/icon/symbol-icons/interface-dark.svg +0 -3
  503. package/src/style/icon/symbol-icons/interface-light.svg +0 -3
  504. package/src/style/icon/symbol-icons/keyword-dark.svg +0 -3
  505. package/src/style/icon/symbol-icons/keyword-light.svg +0 -3
  506. package/src/style/icon/symbol-icons/method-dark.svg +0 -3
  507. package/src/style/icon/symbol-icons/method-light.svg +0 -3
  508. package/src/style/icon/symbol-icons/namespace-dark.svg +0 -3
  509. package/src/style/icon/symbol-icons/namespace-light.svg +0 -3
  510. package/src/style/icon/symbol-icons/numeric-dark.svg +0 -3
  511. package/src/style/icon/symbol-icons/numeric-light.svg +0 -3
  512. package/src/style/icon/symbol-icons/operator-dark.svg +0 -3
  513. package/src/style/icon/symbol-icons/operator-light.svg +0 -3
  514. package/src/style/icon/symbol-icons/property-dark.svg +0 -3
  515. package/src/style/icon/symbol-icons/property-light.svg +0 -3
  516. package/src/style/icon/symbol-icons/snippet-dark.svg +0 -3
  517. package/src/style/icon/symbol-icons/snippet-light.svg +0 -3
  518. package/src/style/icon/symbol-icons/string-dark.svg +0 -3
  519. package/src/style/icon/symbol-icons/string-light.svg +0 -3
  520. package/src/style/icon/symbol-icons/structure-dark.svg +0 -3
  521. package/src/style/icon/symbol-icons/structure-light.svg +0 -3
  522. package/src/style/icon/symbol-icons/symbol-icons.css +0 -284
  523. package/src/style/icon/symbol-icons/template-dark.svg +0 -3
  524. package/src/style/icon/symbol-icons/template-light.svg +0 -3
  525. package/src/style/icon/symbol-icons/variable-dark.svg +0 -3
  526. package/src/style/icon/symbol-icons/variable-light.svg +0 -3
  527. package/src/style/icon.less +0 -8
  528. package/src/style/index.less +0 -14
  529. package/src/style/monaco-override.less +0 -116
  530. package/src/style/normalize.less +0 -92
  531. package/src/style/octicons/octicons-cdn.css +0 -720
  532. package/src/style/octicons/octicons.css +0 -714
  533. package/src/style/octicons/octicons.html +0 -1882
  534. package/src/style/octicons/octicons.svg +0 -582
  535. package/src/style/octicons/octicons.ttf +0 -0
  536. package/src/style/override.less +0 -97
  537. package/src/style/toolbar.less +0 -199
  538. package/src/style/utilities.less +0 -8
  539. package/src/style/variable.less +0 -8
  540. package/src/terminal/index.ts +0 -7
  541. package/src/toolbar/components/auto-complete.tsx +0 -0
  542. package/src/toolbar/components/button.tsx +0 -440
  543. package/src/toolbar/components/index.ts +0 -2
  544. package/src/toolbar/components/select.tsx +0 -189
  545. package/src/toolbar/index.ts +0 -3
  546. package/src/toolbar/toolbar.popover.registry.ts +0 -32
  547. package/src/toolbar/toolbar.registry.ts +0 -352
  548. package/src/toolbar/toolbar.tsx +0 -710
  549. package/src/toolbar/types.ts +0 -383
  550. package/src/utils/create-overlay.tsx +0 -53
  551. package/src/utils/electron.ts +0 -92
  552. package/src/utils/env.ts +0 -26
  553. package/src/utils/icon.ts +0 -13
  554. package/src/utils/index.ts +0 -7
  555. package/src/utils/json.ts +0 -251
  556. package/src/utils/label.tsx +0 -36
  557. package/src/utils/parse.ts +0 -82
  558. package/src/utils/react-hooks.ts +0 -118
  559. package/src/variable/index.ts +0 -1
  560. package/src/variable/variable.ts +0 -84
  561. package/src/window/index.ts +0 -34
  562. package/src/window/window.service.ts +0 -100
@@ -1,517 +0,0 @@
1
- import { Autowired, Injectable } from '@opensumi/di';
2
- import {
3
- AllowedExtension,
4
- IAuthenticationService,
5
- IAuthenticationProvider,
6
- AuthenticationSessionsChangeEvent,
7
- AuthenticationSession,
8
- IAccountUsage,
9
- StorageProvider,
10
- IStorage,
11
- URI,
12
- STORAGE_SCHEMA,
13
- ILogger,
14
- IEventBus,
15
- ExtensionActivateEvent,
16
- Event,
17
- Emitter,
18
- AuthenticationProviderInformation,
19
- Disposable,
20
- SessionRequestInfo,
21
- formatLocalize,
22
- CommandRegistry,
23
- IDisposable,
24
- noAccountsId,
25
- DisposableCollection,
26
- } from '@opensumi/ide-core-common';
27
-
28
- import { IMenuRegistry, MenuId } from '../menu/next';
29
-
30
- @Injectable()
31
- export class AuthenticationService extends Disposable implements IAuthenticationService {
32
- @Autowired(ILogger)
33
- protected readonly logger: ILogger;
34
-
35
- @Autowired(StorageProvider)
36
- protected readonly getStorage: StorageProvider;
37
-
38
- @Autowired(IEventBus)
39
- protected readonly eventBus: IEventBus;
40
-
41
- @Autowired(IMenuRegistry)
42
- protected readonly menus: IMenuRegistry;
43
-
44
- @Autowired(CommandRegistry)
45
- protected readonly commands: CommandRegistry;
46
-
47
- private _onDidRegisterAuthenticationProvider: Emitter<AuthenticationProviderInformation> = this.registerDispose(
48
- new Emitter<AuthenticationProviderInformation>(),
49
- );
50
- public readonly onDidRegisterAuthenticationProvider: Event<AuthenticationProviderInformation> =
51
- this._onDidRegisterAuthenticationProvider.event;
52
-
53
- private _onDidUnregisterAuthenticationProvider: Emitter<AuthenticationProviderInformation> = this.registerDispose(
54
- new Emitter<AuthenticationProviderInformation>(),
55
- );
56
- readonly onDidUnregisterAuthenticationProvider: Event<AuthenticationProviderInformation> =
57
- this._onDidUnregisterAuthenticationProvider.event;
58
-
59
- private _onDidChangeSessions: Emitter<{
60
- providerId: string;
61
- label: string;
62
- event: AuthenticationSessionsChangeEvent;
63
- }> = this.registerDispose(
64
- new Emitter<{ providerId: string; label: string; event: AuthenticationSessionsChangeEvent }>(),
65
- );
66
- readonly onDidChangeSessions: Event<{ providerId: string; label: string; event: AuthenticationSessionsChangeEvent }> =
67
- this._onDidChangeSessions.event;
68
-
69
- private _storage: IStorage;
70
-
71
- private _authenticationProviders: Map<string, IAuthenticationProvider> = new Map<string, IAuthenticationProvider>();
72
-
73
- private _signInRequestItems = new Map<string, SessionRequestInfo>();
74
-
75
- private _noAccountsMenuItem: IDisposable | undefined;
76
-
77
- async initialize() {
78
- this._storage = await this.getStorage(new URI('authentication').withScheme(STORAGE_SCHEMA.GLOBAL));
79
- const disposableMap = new Map<string, DisposableCollection>();
80
- this.onDidChangeSessions(async (e) => {
81
- if (e.event.added.length > 0) {
82
- const sessions = await this.getSessions(e.providerId);
83
- sessions.forEach((session) => {
84
- if (sessions.find((s) => disposableMap.get(s.id))) {
85
- return;
86
- }
87
- const disposables = new DisposableCollection();
88
- const signOutCommandId = `account-sign-out-${e.providerId}-${session.id}`;
89
- const signOutCommand = this.commands.registerCommand(
90
- {
91
- id: signOutCommandId,
92
- label: formatLocalize('authentication.signOut', e.label),
93
- },
94
- {
95
- execute: async () => {
96
- await this.signOutOfAccount(e.providerId, session.account.label);
97
- },
98
- },
99
- );
100
- const manageTrustedCommandId = `manage-trusted-${e.providerId}-${session.id}`;
101
- const manageTrustedCommand = this.commands.registerCommand(
102
- {
103
- id: manageTrustedCommandId,
104
- label: '%authentication.manageTrustedExtensions%',
105
- },
106
- {
107
- execute: async () => {
108
- await this.manageTrustedExtensionsForAccount(e.providerId, session.account.label);
109
- },
110
- },
111
- );
112
-
113
- const accountMenuId = `${e.providerId}${session.account.label}`;
114
- const accountMenu = this.menus.registerMenuItem(MenuId.AccountsContext, {
115
- submenu: accountMenuId,
116
- label: `${session.account.label} (${e.label})`,
117
- });
118
- const menuAction = this.menus.registerMenuItems(accountMenuId, [
119
- {
120
- command: manageTrustedCommandId,
121
- },
122
- {
123
- command: signOutCommandId,
124
- },
125
- ]);
126
- disposables.push(accountMenu);
127
- disposables.push(menuAction);
128
- disposables.push(signOutCommand);
129
- disposables.push(manageTrustedCommand);
130
- disposableMap.set(session.id, disposables);
131
- });
132
- }
133
- if (e.event.removed.length > 0) {
134
- e.event.removed.forEach((removed) => {
135
- const toDispose = disposableMap.get(removed.id);
136
- if (toDispose) {
137
- toDispose.dispose();
138
- disposableMap.delete(removed.id);
139
- }
140
- });
141
- }
142
- });
143
- }
144
-
145
- get storage() {
146
- return this._storage;
147
- }
148
-
149
- registerAuthenticationProvider(id: string, provider: IAuthenticationProvider) {
150
- this._authenticationProviders.set(id, provider);
151
- this._onDidRegisterAuthenticationProvider.fire({ id, label: provider.label });
152
-
153
- this.updateAccountsMenuItem();
154
- }
155
-
156
- async sessionsUpdate(providerId: string, event: AuthenticationSessionsChangeEvent) {
157
- const provider = this._authenticationProviders.get(providerId);
158
- if (provider) {
159
- this._onDidChangeSessions.fire({ providerId, label: provider.label, event });
160
- await provider.updateSessionItems(event);
161
- this.updateAccountsMenuItem();
162
-
163
- if (event.added) {
164
- await this.updateNewSessionRequests(provider);
165
- }
166
- }
167
- }
168
-
169
- private async updateNewSessionRequests(provider: IAuthenticationProvider): Promise<void> {
170
- const existingRequestsForProvider = this._signInRequestItems.get(provider.id);
171
- if (!existingRequestsForProvider) {
172
- return;
173
- }
174
-
175
- const sessions = await provider.getSessions();
176
- Object.keys(existingRequestsForProvider).forEach((requestedScopes) => {
177
- if (sessions.some((session) => session.scopes.slice().sort().join('') === requestedScopes)) {
178
- const sessionRequest = existingRequestsForProvider[requestedScopes];
179
- if (sessionRequest) {
180
- sessionRequest.disposables.forEach((item) => item.dispose());
181
- }
182
-
183
- delete existingRequestsForProvider[requestedScopes];
184
- if (Object.keys(existingRequestsForProvider).length === 0) {
185
- this._signInRequestItems.delete(provider.id);
186
- } else {
187
- this._signInRequestItems.set(provider.id, existingRequestsForProvider);
188
- }
189
- }
190
- });
191
- }
192
-
193
- private getTrustedKey(providerId: string, accountName: string) {
194
- return `trusted-${providerId}-${accountName}`;
195
- }
196
-
197
- async getAllowedExtensions(providerId: string, accountName: string) {
198
- const storageKey = this.getTrustedKey(providerId, accountName);
199
- let trustedExtensions: AllowedExtension[] = [];
200
- try {
201
- const trustedExtensionSrc = await this.storage.get<string>(storageKey);
202
- if (trustedExtensionSrc) {
203
- trustedExtensions = JSON.parse(trustedExtensionSrc);
204
- }
205
- } catch (err) {
206
- this.logger.warn('read allow extensions error: ' + err);
207
- }
208
-
209
- return trustedExtensions;
210
- }
211
-
212
- async setAllowedExtensions(providerId: string, accountName: string, allowList: AllowedExtension[]) {
213
- const storageKey = this.getTrustedKey(providerId, accountName);
214
- await this.storage.set(storageKey, JSON.stringify(allowList));
215
- }
216
-
217
- async removeAllowedExtensions(providerId: string, accountName: string) {
218
- const storageKey = this.getTrustedKey(providerId, accountName);
219
- await this.storage.delete(storageKey);
220
- }
221
-
222
- async updatedAllowedExtension(
223
- providerId: string,
224
- accountName: string,
225
- extensionId: string,
226
- extensionName: string,
227
- isAllowed: boolean,
228
- ) {
229
- const allowList = await this.getAllowedExtensions(providerId, accountName);
230
- const index = allowList.findIndex((extension) => extension.id === extensionId);
231
- if (index === -1) {
232
- allowList.push({ id: extensionId, name: extensionName, allowed: isAllowed });
233
- } else {
234
- allowList[index].allowed = isAllowed;
235
- }
236
- await this.setAllowedExtensions(providerId, accountName, allowList);
237
- }
238
-
239
- async isAccessAllowed(providerId: string, accountName: string, extensionId: string) {
240
- const allowList = await this.getAllowedExtensions(providerId, accountName);
241
- const extensionData = allowList.find((extension) => extension.id === extensionId);
242
- if (extensionData) {
243
- // This property didn't exist on this data previously, inclusion in the list at all indicates allowance
244
- return extensionData.allowed !== undefined ? extensionData.allowed : true;
245
- }
246
- // TODO: Need to allow access to whitelist extension
247
- return false;
248
- }
249
-
250
- private async tryActivateProvider(providerId: string): Promise<IAuthenticationProvider> {
251
- await this.eventBus.fireAndAwait(new ExtensionActivateEvent({ topic: 'onView', data: providerId }));
252
- let provider = this._authenticationProviders.get(providerId);
253
- if (provider) {
254
- return provider;
255
- }
256
-
257
- // When activate has completed, the extension has made the call to `registerAuthenticationProvider`.
258
- // However, activate cannot block on this, so the renderer may not have gotten the event yet.
259
- const didRegister: Promise<IAuthenticationProvider> = new Promise((resolve, _) => {
260
- this.onDidRegisterAuthenticationProvider((e) => {
261
- if (e.id === providerId) {
262
- provider = this._authenticationProviders.get(providerId);
263
- if (provider) {
264
- resolve(provider);
265
- } else {
266
- throw new Error(`No authentication provider '${providerId}' is currently registered.`);
267
- }
268
- }
269
- });
270
- });
271
-
272
- const didTimeout: Promise<IAuthenticationProvider> = new Promise((_, reject) => {
273
- setTimeout(() => {
274
- reject(new Error(`didRegister ${providerId} timeout`));
275
- }, 5000);
276
- });
277
-
278
- return Promise.race([didRegister, didTimeout]);
279
- }
280
-
281
- async getSessions(providerId: string): Promise<ReadonlyArray<AuthenticationSession>> {
282
- try {
283
- const authProvider =
284
- this._authenticationProviders.get(providerId) || (await this.tryActivateProvider(providerId));
285
- return await authProvider.getSessions();
286
- } catch (_) {
287
- throw new Error(`No authentication provider '${providerId}' is currently registered.`);
288
- }
289
- }
290
-
291
- isAuthenticationProviderRegistered(id: string): boolean {
292
- return this._authenticationProviders.has(id);
293
- }
294
- getProviderIds(): string[] {
295
- const providerIds: string[] = [];
296
- this._authenticationProviders.forEach((provider) => {
297
- providerIds.push(provider.id);
298
- });
299
- return providerIds;
300
- }
301
- unregisterAuthenticationProvider(id: string): void {
302
- const provider = this._authenticationProviders.get(id);
303
- if (provider) {
304
- provider.dispose();
305
- this._authenticationProviders.delete(id);
306
- this._onDidUnregisterAuthenticationProvider.fire({ id, label: provider.label });
307
- this.updateAccountsMenuItem();
308
- }
309
- }
310
-
311
- private updateAccountsMenuItem(): void {
312
- let hasSession = false;
313
- this._authenticationProviders.forEach((provider) => {
314
- hasSession = hasSession || provider.hasSessions();
315
- });
316
-
317
- if (hasSession && this._noAccountsMenuItem) {
318
- this._noAccountsMenuItem.dispose();
319
- this._noAccountsMenuItem = undefined;
320
- }
321
-
322
- if (!hasSession && !this._noAccountsMenuItem) {
323
- this._noAccountsMenuItem = this.menus.registerMenuItem(MenuId.AccountsContext, {
324
- group: '0_accounts',
325
- command: noAccountsId,
326
- });
327
- }
328
- }
329
-
330
- async requestNewSession(providerId: string, scopes: string[], extensionId: string, extensionName: string) {
331
- let provider = this._authenticationProviders.get(providerId);
332
- if (!provider) {
333
- // Activate has already been called for the authentication provider, but it cannot block on registering itself
334
- // since this is sync and returns a disposable. So, wait for registration event to fire that indicates the
335
- // provider is now in the map.
336
- await new Promise<void>((resolve, _) => {
337
- this.onDidRegisterAuthenticationProvider((e) => {
338
- if (e.id === providerId) {
339
- provider = this._authenticationProviders.get(providerId);
340
- resolve();
341
- }
342
- });
343
- });
344
- }
345
-
346
- if (provider) {
347
- const providerRequests = this._signInRequestItems.get(providerId);
348
- const scopesList = scopes.sort().join('');
349
- const extensionHasExistingRequest =
350
- providerRequests &&
351
- providerRequests[scopesList] &&
352
- providerRequests[scopesList].requestingExtensionIds.includes(extensionId);
353
-
354
- if (extensionHasExistingRequest) {
355
- return;
356
- }
357
-
358
- const signInCommand = this.commands.registerCommand(
359
- {
360
- id: `${extensionId}signIn`,
361
- label: formatLocalize('authentication.signInRequests', extensionName),
362
- },
363
- {
364
- execute: async () => {
365
- const session = await this.login(providerId, scopes);
366
- const accountName = session.account.label;
367
- // Add extension to allow list since user explicitly signed in on behalf of it
368
- const allowList = await this.getAllowedExtensions(providerId, accountName);
369
- if (!allowList.find((allowed) => allowed.id === extensionId)) {
370
- allowList.push({ id: extensionId, name: extensionName });
371
- await this.setAllowedExtensions(providerId, accountName, allowList);
372
- }
373
-
374
- // And also set it as the preferred account for the extension
375
- await this.setExtensionSessionId(extensionName, providerId, session.id);
376
- },
377
- },
378
- );
379
-
380
- const menuItem = this.menus.registerMenuItem(MenuId.AccountsContext, {
381
- group: '2_signInRequests',
382
- command: `${extensionId}signIn`,
383
- });
384
-
385
- if (providerRequests) {
386
- const existingRequest = providerRequests[scopesList] || { disposables: [], requestingExtensionIds: [] };
387
-
388
- providerRequests[scopesList] = {
389
- disposables: [...existingRequest.disposables, menuItem, signInCommand],
390
- requestingExtensionIds: [...existingRequest.requestingExtensionIds, extensionId],
391
- };
392
- this._signInRequestItems.set(providerId, providerRequests);
393
- } else {
394
- this._signInRequestItems.set(providerId, {
395
- [scopesList]: {
396
- disposables: [menuItem, signInCommand],
397
- requestingExtensionIds: [extensionId],
398
- },
399
- });
400
- }
401
- }
402
- }
403
- getLabel(providerId: string): string {
404
- const authProvider = this._authenticationProviders.get(providerId);
405
- if (authProvider) {
406
- return authProvider.label;
407
- } else {
408
- throw new Error(`No authentication provider '${providerId}' has been declared.`);
409
- }
410
- }
411
- supportsMultipleAccounts(providerId: string): boolean {
412
- const authProvider = this._authenticationProviders.get(providerId);
413
- if (authProvider) {
414
- return authProvider.supportsMultipleAccounts;
415
- } else {
416
- throw new Error(`No authentication provider '${providerId}' is currently registered.`);
417
- }
418
- }
419
- async login(providerId: string, scopes: string[]): Promise<AuthenticationSession> {
420
- try {
421
- const authProvider =
422
- this._authenticationProviders.get(providerId) || (await this.tryActivateProvider(providerId));
423
- return await authProvider.login(scopes);
424
- } catch (err) {
425
- throw new Error(
426
- `No authentication provider '${providerId}' is currently registered, error messge: ${err.message}`,
427
- );
428
- }
429
- }
430
- logout(providerId: string, sessionId: string): Promise<void> {
431
- const authProvider = this._authenticationProviders.get(providerId);
432
- if (authProvider) {
433
- return authProvider.logout(sessionId);
434
- } else {
435
- throw new Error(`No authentication provider '${providerId}' is currently registered.`);
436
- }
437
- }
438
- manageTrustedExtensionsForAccount(providerId: string, accountName: string): Promise<void> {
439
- const authProvider = this._authenticationProviders.get(providerId);
440
- if (authProvider) {
441
- return authProvider.manageTrustedExtensions(accountName);
442
- } else {
443
- throw new Error(`No authentication provider '${providerId}' is currently registered.`);
444
- }
445
- }
446
- signOutOfAccount(providerId: string, accountName: string): Promise<void> {
447
- const authProvider = this._authenticationProviders.get(providerId);
448
- if (authProvider) {
449
- return authProvider.signOut(accountName);
450
- } else {
451
- throw new Error(`No authentication provider '${providerId}' is currently registered.`);
452
- }
453
- }
454
-
455
- private getUsagesKey(providerId: string, accountName: string) {
456
- return `usages-${providerId}-${accountName}`;
457
- }
458
-
459
- async getAccountUsages(providerId: string, accountName: string) {
460
- const accountKey = this.getUsagesKey(providerId, accountName);
461
- const storedUsages = await this.storage.get<string>(accountKey);
462
- let usages: IAccountUsage[] = [];
463
- if (storedUsages) {
464
- try {
465
- usages = JSON.parse(storedUsages);
466
- } catch (err) {
467
- this.logger.warn('parse account usages error: ' + err);
468
- }
469
- }
470
-
471
- return usages;
472
- }
473
-
474
- async addAccountUsage(providerId: string, accountName: string, extensionId: string, extensionName: string) {
475
- const accountKey = this.getUsagesKey(providerId, accountName);
476
- const usages = await this.getAccountUsages(providerId, accountName);
477
-
478
- const existingUsageIndex = usages.findIndex((usage) => usage.extensionId === extensionId);
479
- if (existingUsageIndex > -1) {
480
- usages.splice(existingUsageIndex, 1, {
481
- extensionId,
482
- extensionName,
483
- lastUsed: Date.now(),
484
- });
485
- } else {
486
- usages.push({
487
- extensionId,
488
- extensionName,
489
- lastUsed: Date.now(),
490
- });
491
- }
492
-
493
- await this.storage.set(accountKey, JSON.stringify(usages));
494
- }
495
-
496
- async removeAccountUsage(providerId: string, accountName: string) {
497
- const accountKey = this.getUsagesKey(providerId, accountName);
498
- await this.storage.delete(accountKey);
499
- }
500
-
501
- private getExtensionSessionIdKey(providerId: string, accountName: string) {
502
- return `session-${providerId}-${accountName}`;
503
- }
504
-
505
- async getExtensionSessionId(extensionName: string, providerId: string): Promise<string | undefined> {
506
- const accountKey = this.getExtensionSessionIdKey(extensionName, providerId);
507
- return await this.storage.get(accountKey);
508
- }
509
- async setExtensionSessionId(extensionName: string, providerId: string, sessionId: string): Promise<void> {
510
- const accountKey = this.getExtensionSessionIdKey(extensionName, providerId);
511
- await this.storage.set(accountKey, sessionId);
512
- }
513
- async removeExtensionSessionId(extensionName: string, providerId: string): Promise<void> {
514
- const accountKey = this.getExtensionSessionIdKey(extensionName, providerId);
515
- await this.storage.delete(accountKey);
516
- }
517
- }
@@ -1,46 +0,0 @@
1
- import { ConstructorOf } from '@opensumi/di';
2
- import { ApplicationConfig, UrlProvider } from '@opensumi/ide-core-common';
3
-
4
- import { BrowserModule } from '../browser-module';
5
- import { ClientAppContribution } from '../common/common.define';
6
-
7
- export type ModuleConstructor = ConstructorOf<BrowserModule>;
8
- export type ContributionConstructor = ConstructorOf<ClientAppContribution>;
9
- export type Direction = 'left-to-right' | 'right-to-left' | 'top-to-bottom' | 'bottom-to-top';
10
-
11
- export interface IconMap {
12
- [iconKey: string]: string;
13
- }
14
-
15
- export interface IPreferences {
16
- [key: string]: any;
17
- }
18
-
19
- export interface IconInfo {
20
- cssPath: string;
21
- prefix: string;
22
- iconMap: IconMap;
23
- }
24
-
25
- export interface IClientAppOpts extends Partial<ApplicationConfig> {
26
- modules: ModuleConstructor[];
27
- contributions?: ContributionConstructor[];
28
- modulesInstances?: BrowserModule[];
29
- connectionPath?: UrlProvider;
30
- connectionProtocols?: string[];
31
- iconStyleSheets?: IconInfo[];
32
- useCdnIcon?: boolean;
33
- editorBackgroundImage?: string;
34
- /**
35
- * 插件开发模式下指定的插件路径
36
- */
37
- extensionDevelopmentPath?: string | string[];
38
- }
39
-
40
- export interface LayoutConfig {
41
- [area: string]: {
42
- modules: Array<string>;
43
- // @deprecated
44
- size?: number;
45
- };
46
- }