@singapore-editor/typescript-lsp 0.1.1

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 (297) hide show
  1. package/README.md +60 -0
  2. package/dist/assets/lib.d-DwhWWR8Z.js +6 -0
  3. package/dist/assets/lib.d-DwhWWR8Z.js.map +1 -0
  4. package/dist/assets/lib.decorators.d-DuSR_GRf.js +6 -0
  5. package/dist/assets/lib.decorators.d-DuSR_GRf.js.map +1 -0
  6. package/dist/assets/lib.decorators.legacy.d-B-dDdcGG.js +6 -0
  7. package/dist/assets/lib.decorators.legacy.d-B-dDdcGG.js.map +1 -0
  8. package/dist/assets/lib.dom.asynciterable.d-_FO6ryQN.js +6 -0
  9. package/dist/assets/lib.dom.asynciterable.d-_FO6ryQN.js.map +1 -0
  10. package/dist/assets/lib.dom.d-FmoblYYX.js +6 -0
  11. package/dist/assets/lib.dom.d-FmoblYYX.js.map +1 -0
  12. package/dist/assets/lib.dom.iterable.d-ByLwU5Nr.js +6 -0
  13. package/dist/assets/lib.dom.iterable.d-ByLwU5Nr.js.map +1 -0
  14. package/dist/assets/lib.es2015.collection.d-Cn7GxvBn.js +6 -0
  15. package/dist/assets/lib.es2015.collection.d-Cn7GxvBn.js.map +1 -0
  16. package/dist/assets/lib.es2015.core.d-CEe5-Olc.js +6 -0
  17. package/dist/assets/lib.es2015.core.d-CEe5-Olc.js.map +1 -0
  18. package/dist/assets/lib.es2015.d-D32bg7tQ.js +6 -0
  19. package/dist/assets/lib.es2015.d-D32bg7tQ.js.map +1 -0
  20. package/dist/assets/lib.es2015.generator.d-dVupUz58.js +6 -0
  21. package/dist/assets/lib.es2015.generator.d-dVupUz58.js.map +1 -0
  22. package/dist/assets/lib.es2015.iterable.d-C7bZJblq.js +6 -0
  23. package/dist/assets/lib.es2015.iterable.d-C7bZJblq.js.map +1 -0
  24. package/dist/assets/lib.es2015.promise.d-IkGeTpDc.js +6 -0
  25. package/dist/assets/lib.es2015.promise.d-IkGeTpDc.js.map +1 -0
  26. package/dist/assets/lib.es2015.proxy.d-D0hDQX0s.js +6 -0
  27. package/dist/assets/lib.es2015.proxy.d-D0hDQX0s.js.map +1 -0
  28. package/dist/assets/lib.es2015.reflect.d-Civj_UqB.js +6 -0
  29. package/dist/assets/lib.es2015.reflect.d-Civj_UqB.js.map +1 -0
  30. package/dist/assets/lib.es2015.symbol.d-DsPpWPoL.js +6 -0
  31. package/dist/assets/lib.es2015.symbol.d-DsPpWPoL.js.map +1 -0
  32. package/dist/assets/lib.es2015.symbol.wellknown.d-BYA6t3Ou.js +6 -0
  33. package/dist/assets/lib.es2015.symbol.wellknown.d-BYA6t3Ou.js.map +1 -0
  34. package/dist/assets/lib.es2016.array.include.d-C2VMejUq.js +6 -0
  35. package/dist/assets/lib.es2016.array.include.d-C2VMejUq.js.map +1 -0
  36. package/dist/assets/lib.es2016.d-BAvWL1yx.js +6 -0
  37. package/dist/assets/lib.es2016.d-BAvWL1yx.js.map +1 -0
  38. package/dist/assets/lib.es2016.full.d-CpWlQUaG.js +6 -0
  39. package/dist/assets/lib.es2016.full.d-CpWlQUaG.js.map +1 -0
  40. package/dist/assets/lib.es2016.intl.d-BfaDvaD_.js +6 -0
  41. package/dist/assets/lib.es2016.intl.d-BfaDvaD_.js.map +1 -0
  42. package/dist/assets/lib.es2017.arraybuffer.d-BELbsRS9.js +6 -0
  43. package/dist/assets/lib.es2017.arraybuffer.d-BELbsRS9.js.map +1 -0
  44. package/dist/assets/lib.es2017.d-DuXequj2.js +6 -0
  45. package/dist/assets/lib.es2017.d-DuXequj2.js.map +1 -0
  46. package/dist/assets/lib.es2017.date.d-C0q0CGCg.js +6 -0
  47. package/dist/assets/lib.es2017.date.d-C0q0CGCg.js.map +1 -0
  48. package/dist/assets/lib.es2017.full.d-JLz-PuTJ.js +6 -0
  49. package/dist/assets/lib.es2017.full.d-JLz-PuTJ.js.map +1 -0
  50. package/dist/assets/lib.es2017.intl.d-DEp-bfPU.js +6 -0
  51. package/dist/assets/lib.es2017.intl.d-DEp-bfPU.js.map +1 -0
  52. package/dist/assets/lib.es2017.object.d-DF15QOh6.js +6 -0
  53. package/dist/assets/lib.es2017.object.d-DF15QOh6.js.map +1 -0
  54. package/dist/assets/lib.es2017.sharedmemory.d-MqnPgaR9.js +6 -0
  55. package/dist/assets/lib.es2017.sharedmemory.d-MqnPgaR9.js.map +1 -0
  56. package/dist/assets/lib.es2017.string.d-DwuC1fbX.js +6 -0
  57. package/dist/assets/lib.es2017.string.d-DwuC1fbX.js.map +1 -0
  58. package/dist/assets/lib.es2017.typedarrays.d-CpxkvFtX.js +6 -0
  59. package/dist/assets/lib.es2017.typedarrays.d-CpxkvFtX.js.map +1 -0
  60. package/dist/assets/lib.es2018.asyncgenerator.d-Wkg7fB38.js +6 -0
  61. package/dist/assets/lib.es2018.asyncgenerator.d-Wkg7fB38.js.map +1 -0
  62. package/dist/assets/lib.es2018.asynciterable.d-BvEk_5iX.js +6 -0
  63. package/dist/assets/lib.es2018.asynciterable.d-BvEk_5iX.js.map +1 -0
  64. package/dist/assets/lib.es2018.d-BXVwdGZO.js +6 -0
  65. package/dist/assets/lib.es2018.d-BXVwdGZO.js.map +1 -0
  66. package/dist/assets/lib.es2018.full.d-B4RmLSI2.js +6 -0
  67. package/dist/assets/lib.es2018.full.d-B4RmLSI2.js.map +1 -0
  68. package/dist/assets/lib.es2018.intl.d-BvDGuNYR.js +6 -0
  69. package/dist/assets/lib.es2018.intl.d-BvDGuNYR.js.map +1 -0
  70. package/dist/assets/lib.es2018.promise.d-YpJpwYZt.js +6 -0
  71. package/dist/assets/lib.es2018.promise.d-YpJpwYZt.js.map +1 -0
  72. package/dist/assets/lib.es2018.regexp.d-DyHDHf4h.js +6 -0
  73. package/dist/assets/lib.es2018.regexp.d-DyHDHf4h.js.map +1 -0
  74. package/dist/assets/lib.es2019.array.d-1R2LMNDY.js +6 -0
  75. package/dist/assets/lib.es2019.array.d-1R2LMNDY.js.map +1 -0
  76. package/dist/assets/lib.es2019.d-Bm-cqGUH.js +6 -0
  77. package/dist/assets/lib.es2019.d-Bm-cqGUH.js.map +1 -0
  78. package/dist/assets/lib.es2019.full.d-CffTH14l.js +6 -0
  79. package/dist/assets/lib.es2019.full.d-CffTH14l.js.map +1 -0
  80. package/dist/assets/lib.es2019.intl.d-BwWDxo8Q.js +6 -0
  81. package/dist/assets/lib.es2019.intl.d-BwWDxo8Q.js.map +1 -0
  82. package/dist/assets/lib.es2019.object.d-DrUh3ccl.js +6 -0
  83. package/dist/assets/lib.es2019.object.d-DrUh3ccl.js.map +1 -0
  84. package/dist/assets/lib.es2019.string.d-BwcA52yE.js +6 -0
  85. package/dist/assets/lib.es2019.string.d-BwcA52yE.js.map +1 -0
  86. package/dist/assets/lib.es2019.symbol.d-D3ev_C6r.js +6 -0
  87. package/dist/assets/lib.es2019.symbol.d-D3ev_C6r.js.map +1 -0
  88. package/dist/assets/lib.es2020.bigint.d-CsEdGRdM.js +6 -0
  89. package/dist/assets/lib.es2020.bigint.d-CsEdGRdM.js.map +1 -0
  90. package/dist/assets/lib.es2020.d-BLkjC8-i.js +6 -0
  91. package/dist/assets/lib.es2020.d-BLkjC8-i.js.map +1 -0
  92. package/dist/assets/lib.es2020.date.d-DwjUBhDu.js +6 -0
  93. package/dist/assets/lib.es2020.date.d-DwjUBhDu.js.map +1 -0
  94. package/dist/assets/lib.es2020.full.d-HlsaXVND.js +6 -0
  95. package/dist/assets/lib.es2020.full.d-HlsaXVND.js.map +1 -0
  96. package/dist/assets/lib.es2020.intl.d-CDBQbuQi.js +6 -0
  97. package/dist/assets/lib.es2020.intl.d-CDBQbuQi.js.map +1 -0
  98. package/dist/assets/lib.es2020.number.d-CpXrxse_.js +6 -0
  99. package/dist/assets/lib.es2020.number.d-CpXrxse_.js.map +1 -0
  100. package/dist/assets/lib.es2020.promise.d-DR0sx4yx.js +6 -0
  101. package/dist/assets/lib.es2020.promise.d-DR0sx4yx.js.map +1 -0
  102. package/dist/assets/lib.es2020.sharedmemory.d-8MrR7EO9.js +6 -0
  103. package/dist/assets/lib.es2020.sharedmemory.d-8MrR7EO9.js.map +1 -0
  104. package/dist/assets/lib.es2020.string.d-BI6oDFA_.js +6 -0
  105. package/dist/assets/lib.es2020.string.d-BI6oDFA_.js.map +1 -0
  106. package/dist/assets/lib.es2020.symbol.wellknown.d-ORwr4Bzq.js +6 -0
  107. package/dist/assets/lib.es2020.symbol.wellknown.d-ORwr4Bzq.js.map +1 -0
  108. package/dist/assets/lib.es2021.d-CNcCFNpS.js +6 -0
  109. package/dist/assets/lib.es2021.d-CNcCFNpS.js.map +1 -0
  110. package/dist/assets/lib.es2021.full.d-DTy0Vh8p.js +6 -0
  111. package/dist/assets/lib.es2021.full.d-DTy0Vh8p.js.map +1 -0
  112. package/dist/assets/lib.es2021.intl.d-CrCTzh3D.js +6 -0
  113. package/dist/assets/lib.es2021.intl.d-CrCTzh3D.js.map +1 -0
  114. package/dist/assets/lib.es2021.promise.d-BzlY8AcN.js +6 -0
  115. package/dist/assets/lib.es2021.promise.d-BzlY8AcN.js.map +1 -0
  116. package/dist/assets/lib.es2021.string.d-DIlLhmID.js +6 -0
  117. package/dist/assets/lib.es2021.string.d-DIlLhmID.js.map +1 -0
  118. package/dist/assets/lib.es2021.weakref.d-QzlMigs1.js +6 -0
  119. package/dist/assets/lib.es2021.weakref.d-QzlMigs1.js.map +1 -0
  120. package/dist/assets/lib.es2022.array.d-D5QvdSDD.js +6 -0
  121. package/dist/assets/lib.es2022.array.d-D5QvdSDD.js.map +1 -0
  122. package/dist/assets/lib.es2022.d-B09f-wCO.js +6 -0
  123. package/dist/assets/lib.es2022.d-B09f-wCO.js.map +1 -0
  124. package/dist/assets/lib.es2022.error.d-ErJH7uZr.js +6 -0
  125. package/dist/assets/lib.es2022.error.d-ErJH7uZr.js.map +1 -0
  126. package/dist/assets/lib.es2022.full.d-BwSEmz18.js +6 -0
  127. package/dist/assets/lib.es2022.full.d-BwSEmz18.js.map +1 -0
  128. package/dist/assets/lib.es2022.intl.d-BEoK-I_u.js +6 -0
  129. package/dist/assets/lib.es2022.intl.d-BEoK-I_u.js.map +1 -0
  130. package/dist/assets/lib.es2022.object.d-DsEI5S2q.js +6 -0
  131. package/dist/assets/lib.es2022.object.d-DsEI5S2q.js.map +1 -0
  132. package/dist/assets/lib.es2022.regexp.d-CUlcf2UB.js +6 -0
  133. package/dist/assets/lib.es2022.regexp.d-CUlcf2UB.js.map +1 -0
  134. package/dist/assets/lib.es2022.string.d-ILMy0npm.js +6 -0
  135. package/dist/assets/lib.es2022.string.d-ILMy0npm.js.map +1 -0
  136. package/dist/assets/lib.es2023.array.d-GeAK2at2.js +6 -0
  137. package/dist/assets/lib.es2023.array.d-GeAK2at2.js.map +1 -0
  138. package/dist/assets/lib.es2023.collection.d-p3gBlGib.js +6 -0
  139. package/dist/assets/lib.es2023.collection.d-p3gBlGib.js.map +1 -0
  140. package/dist/assets/lib.es2023.d-4j237g35.js +6 -0
  141. package/dist/assets/lib.es2023.d-4j237g35.js.map +1 -0
  142. package/dist/assets/lib.es2023.full.d-oRGXreDe.js +6 -0
  143. package/dist/assets/lib.es2023.full.d-oRGXreDe.js.map +1 -0
  144. package/dist/assets/lib.es2023.intl.d-CtTPndlG.js +6 -0
  145. package/dist/assets/lib.es2023.intl.d-CtTPndlG.js.map +1 -0
  146. package/dist/assets/lib.es2024.arraybuffer.d-DimtN4hG.js +6 -0
  147. package/dist/assets/lib.es2024.arraybuffer.d-DimtN4hG.js.map +1 -0
  148. package/dist/assets/lib.es2024.collection.d-DuFWux5x.js +6 -0
  149. package/dist/assets/lib.es2024.collection.d-DuFWux5x.js.map +1 -0
  150. package/dist/assets/lib.es2024.d-Bc4hm-li.js +6 -0
  151. package/dist/assets/lib.es2024.d-Bc4hm-li.js.map +1 -0
  152. package/dist/assets/lib.es2024.full.d-NcbrywaK.js +6 -0
  153. package/dist/assets/lib.es2024.full.d-NcbrywaK.js.map +1 -0
  154. package/dist/assets/lib.es2024.object.d-Defz7Oqn.js +6 -0
  155. package/dist/assets/lib.es2024.object.d-Defz7Oqn.js.map +1 -0
  156. package/dist/assets/lib.es2024.promise.d-DOyC5VIh.js +6 -0
  157. package/dist/assets/lib.es2024.promise.d-DOyC5VIh.js.map +1 -0
  158. package/dist/assets/lib.es2024.regexp.d-DBmYnpDO.js +6 -0
  159. package/dist/assets/lib.es2024.regexp.d-DBmYnpDO.js.map +1 -0
  160. package/dist/assets/lib.es2024.sharedmemory.d-CM9RzBcy.js +6 -0
  161. package/dist/assets/lib.es2024.sharedmemory.d-CM9RzBcy.js.map +1 -0
  162. package/dist/assets/lib.es2024.string.d-CBDt9d69.js +6 -0
  163. package/dist/assets/lib.es2024.string.d-CBDt9d69.js.map +1 -0
  164. package/dist/assets/lib.es2025.collection.d-CsJViaMe.js +6 -0
  165. package/dist/assets/lib.es2025.collection.d-CsJViaMe.js.map +1 -0
  166. package/dist/assets/lib.es2025.d-De4KdpN7.js +6 -0
  167. package/dist/assets/lib.es2025.d-De4KdpN7.js.map +1 -0
  168. package/dist/assets/lib.es2025.float16.d-HHOhRN2_.js +6 -0
  169. package/dist/assets/lib.es2025.float16.d-HHOhRN2_.js.map +1 -0
  170. package/dist/assets/lib.es2025.full.d-BYMP75tw.js +6 -0
  171. package/dist/assets/lib.es2025.full.d-BYMP75tw.js.map +1 -0
  172. package/dist/assets/lib.es2025.intl.d-DOt7rg8n.js +6 -0
  173. package/dist/assets/lib.es2025.intl.d-DOt7rg8n.js.map +1 -0
  174. package/dist/assets/lib.es2025.iterator.d-u_YfGeZS.js +6 -0
  175. package/dist/assets/lib.es2025.iterator.d-u_YfGeZS.js.map +1 -0
  176. package/dist/assets/lib.es2025.promise.d-UjV5L1SF.js +6 -0
  177. package/dist/assets/lib.es2025.promise.d-UjV5L1SF.js.map +1 -0
  178. package/dist/assets/lib.es2025.regexp.d-Cbb7_cyW.js +6 -0
  179. package/dist/assets/lib.es2025.regexp.d-Cbb7_cyW.js.map +1 -0
  180. package/dist/assets/lib.es5.d-C0w_nusg.js +6 -0
  181. package/dist/assets/lib.es5.d-C0w_nusg.js.map +1 -0
  182. package/dist/assets/lib.es6.d-BQntavOa.js +6 -0
  183. package/dist/assets/lib.es6.d-BQntavOa.js.map +1 -0
  184. package/dist/assets/lib.esnext.array.d-BK-E6Aii.js +6 -0
  185. package/dist/assets/lib.esnext.array.d-BK-E6Aii.js.map +1 -0
  186. package/dist/assets/lib.esnext.collection.d-Caob5U_3.js +6 -0
  187. package/dist/assets/lib.esnext.collection.d-Caob5U_3.js.map +1 -0
  188. package/dist/assets/lib.esnext.d-9bo74I0B.js +6 -0
  189. package/dist/assets/lib.esnext.d-9bo74I0B.js.map +1 -0
  190. package/dist/assets/lib.esnext.date.d-Bkhf31hB.js +6 -0
  191. package/dist/assets/lib.esnext.date.d-Bkhf31hB.js.map +1 -0
  192. package/dist/assets/lib.esnext.decorators.d-CkUHBEKX.js +6 -0
  193. package/dist/assets/lib.esnext.decorators.d-CkUHBEKX.js.map +1 -0
  194. package/dist/assets/lib.esnext.disposable.d-CdKd172C.js +6 -0
  195. package/dist/assets/lib.esnext.disposable.d-CdKd172C.js.map +1 -0
  196. package/dist/assets/lib.esnext.error.d-hRElv0o-.js +6 -0
  197. package/dist/assets/lib.esnext.error.d-hRElv0o-.js.map +1 -0
  198. package/dist/assets/lib.esnext.full.d-C5FEqlya.js +6 -0
  199. package/dist/assets/lib.esnext.full.d-C5FEqlya.js.map +1 -0
  200. package/dist/assets/lib.esnext.intl.d-5-FhAVp5.js +6 -0
  201. package/dist/assets/lib.esnext.intl.d-5-FhAVp5.js.map +1 -0
  202. package/dist/assets/lib.esnext.sharedmemory.d-NLKdJiUE.js +6 -0
  203. package/dist/assets/lib.esnext.sharedmemory.d-NLKdJiUE.js.map +1 -0
  204. package/dist/assets/lib.esnext.temporal.d-DEDOXuwe.js +6 -0
  205. package/dist/assets/lib.esnext.temporal.d-DEDOXuwe.js.map +1 -0
  206. package/dist/assets/lib.esnext.typedarrays.d-BTYT-3iT.js +6 -0
  207. package/dist/assets/lib.esnext.typedarrays.d-BTYT-3iT.js.map +1 -0
  208. package/dist/assets/lib.scripthost.d-BoWSdGmL.js +6 -0
  209. package/dist/assets/lib.scripthost.d-BoWSdGmL.js.map +1 -0
  210. package/dist/assets/lib.webworker.asynciterable.d-CArLMv6Z.js +6 -0
  211. package/dist/assets/lib.webworker.asynciterable.d-CArLMv6Z.js.map +1 -0
  212. package/dist/assets/lib.webworker.d-BckFvR1K.js +6 -0
  213. package/dist/assets/lib.webworker.d-BckFvR1K.js.map +1 -0
  214. package/dist/assets/lib.webworker.importscripts.d-Dq_4ibTw.js +6 -0
  215. package/dist/assets/lib.webworker.importscripts.d-Dq_4ibTw.js.map +1 -0
  216. package/dist/assets/lib.webworker.iterable.d-BnZb0_R7.js +6 -0
  217. package/dist/assets/lib.webworker.iterable.d-BnZb0_R7.js.map +1 -0
  218. package/dist/assets/typescriptLsp.worker-Dv5GKuEN.js +150440 -0
  219. package/dist/assets/typescriptLsp.worker-Dv5GKuEN.js.map +1 -0
  220. package/dist/index.d.ts +9 -0
  221. package/dist/index.d.ts.map +1 -0
  222. package/dist/index.js +6 -0
  223. package/dist/paths.d.ts +4 -0
  224. package/dist/paths.d.ts.map +1 -0
  225. package/dist/paths.js +34 -0
  226. package/dist/paths.js.map +1 -0
  227. package/dist/plugin.d.ts +29 -0
  228. package/dist/plugin.d.ts.map +1 -0
  229. package/dist/plugin.js +140 -0
  230. package/dist/plugin.js.map +1 -0
  231. package/dist/pluginWithWorker.d.ts +3 -0
  232. package/dist/pluginWithWorker.d.ts.map +1 -0
  233. package/dist/pluginWithWorker.js +13 -0
  234. package/dist/pluginWithWorker.js.map +1 -0
  235. package/dist/server.d.ts +14 -0
  236. package/dist/server.d.ts.map +1 -0
  237. package/dist/server.js +50 -0
  238. package/dist/server.js.map +1 -0
  239. package/dist/tsDiagnostics.d.ts +5 -0
  240. package/dist/tsDiagnostics.d.ts.map +1 -0
  241. package/dist/tsDiagnostics.js +46 -0
  242. package/dist/tsDiagnostics.js.map +1 -0
  243. package/dist/types.d.ts +78 -0
  244. package/dist/types.d.ts.map +1 -0
  245. package/dist/typescriptLsp.worker.d.ts +2 -0
  246. package/dist/typescriptLsp.worker.d.ts.map +1 -0
  247. package/dist/worker/bundledLibraries.d.ts +4 -0
  248. package/dist/worker/bundledLibraries.d.ts.map +1 -0
  249. package/dist/worker/codeActions.d.ts +5 -0
  250. package/dist/worker/codeActions.d.ts.map +1 -0
  251. package/dist/worker/completion.d.ts +11 -0
  252. package/dist/worker/completion.d.ts.map +1 -0
  253. package/dist/worker/context.d.ts +39 -0
  254. package/dist/worker/context.d.ts.map +1 -0
  255. package/dist/worker/customMethods.d.ts +10 -0
  256. package/dist/worker/customMethods.d.ts.map +1 -0
  257. package/dist/worker/customMethods.js +14 -0
  258. package/dist/worker/customMethods.js.map +1 -0
  259. package/dist/worker/diagnostics.d.ts +11 -0
  260. package/dist/worker/diagnostics.d.ts.map +1 -0
  261. package/dist/worker/edits.d.ts +10 -0
  262. package/dist/worker/edits.d.ts.map +1 -0
  263. package/dist/worker/formatting.d.ts +16 -0
  264. package/dist/worker/formatting.d.ts.map +1 -0
  265. package/dist/worker/hover.d.ts +7 -0
  266. package/dist/worker/hover.d.ts.map +1 -0
  267. package/dist/worker/libraries.d.ts +16 -0
  268. package/dist/worker/libraries.d.ts.map +1 -0
  269. package/dist/worker/lineIndex.d.ts +21 -0
  270. package/dist/worker/lineIndex.d.ts.map +1 -0
  271. package/dist/worker/navigation.d.ts +9 -0
  272. package/dist/worker/navigation.d.ts.map +1 -0
  273. package/dist/worker/project.d.ts +26 -0
  274. package/dist/worker/project.d.ts.map +1 -0
  275. package/dist/worker/projectHost.d.ts +29 -0
  276. package/dist/worker/projectHost.d.ts.map +1 -0
  277. package/dist/worker/protocol.d.ts +29 -0
  278. package/dist/worker/protocol.d.ts.map +1 -0
  279. package/dist/worker/rename.d.ts +9 -0
  280. package/dist/worker/rename.d.ts.map +1 -0
  281. package/dist/worker/semanticTokens.d.ts +47 -0
  282. package/dist/worker/semanticTokens.d.ts.map +1 -0
  283. package/dist/worker/session.d.ts +14 -0
  284. package/dist/worker/session.d.ts.map +1 -0
  285. package/dist/worker/signatureHelp.d.ts +10 -0
  286. package/dist/worker/signatureHelp.d.ts.map +1 -0
  287. package/dist/worker/symbols.d.ts +10 -0
  288. package/dist/worker/symbols.d.ts.map +1 -0
  289. package/dist/workerOwner.d.ts +44 -0
  290. package/dist/workerOwner.d.ts.map +1 -0
  291. package/dist/workerOwner.js +143 -0
  292. package/dist/workerOwner.js.map +1 -0
  293. package/dist/workspace.d.ts +20 -0
  294. package/dist/workspace.d.ts.map +1 -0
  295. package/dist/workspace.js +74 -0
  296. package/dist/workspace.js.map +1 -0
  297. package/package.json +59 -0
@@ -0,0 +1,9 @@
1
+ export { TypeScriptLspWorkspace } from './workspace';
2
+ export { type TypeScriptLspResolvedOptions } from './plugin';
3
+ export { createTypeScriptLspPlugin } from './pluginWithWorker';
4
+ export { TypeScriptLspWorkerOwner, createTypeScriptLspWorkerOwner, type TypeScriptLspWorkerLifecycleState, type TypeScriptLspWorkerOwnerOptions, type TypeScriptLspWorkerOwnerSnapshot, } from './workerOwner';
5
+ export { diagnosticHighlightGroups, summarizeDiagnostics, type LanguageServerDiagnosticHighlightGroups as TypeScriptLspDiagnosticHighlightGroups, type LanguageServerDiagnosticSeverity as TypeScriptLspDiagnosticSeverity, } from '@singapore-editor/lsp-plugin/diagnostics';
6
+ export type { ApplyWorkspaceEditRequest as TypeScriptLspWorkspaceEditRequest, ApplyWorkspaceEditResult as TypeScriptLspWorkspaceEditResult, } from '@singapore-editor/lsp-plugin';
7
+ export { documentUriToFileName, fileNameToDocumentUri, isTypeScriptFileName, isTypeScriptLspSourceFileName, pathOrUriToDocumentUri, sourcePathToFileName, } from './paths';
8
+ export type { TypeScriptLspDiagnosticCounts, TypeScriptLspDefinitionTarget, TypeScriptLspDiagnosticSummary, TypeScriptLspLibraryLoader, TypeScriptLspLibrarySource, TypeScriptLspNavigationKind, TypeScriptLspNavigationOpenMode, TypeScriptLspNavigationOptions, TypeScriptLspPlugin, TypeScriptLspPluginOptions, TypeScriptLspReferencesResult, TypeScriptLspSourceFile, TypeScriptLspStatus, } from './types';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,UAAU,CAAA;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,EACL,wBAAwB,EACxB,8BAA8B,EAC9B,KAAK,iCAAiC,EACtC,KAAK,+BAA+B,EACpC,KAAK,gCAAgC,GACtC,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,KAAK,uCAAuC,IAAI,sCAAsC,EACtF,KAAK,gCAAgC,IAAI,+BAA+B,GACzE,MAAM,0CAA0C,CAAA;AACjD,YAAY,EACV,yBAAyB,IAAI,iCAAiC,EAC9D,wBAAwB,IAAI,gCAAgC,GAC7D,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,6BAA6B,EAC7B,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,SAAS,CAAA;AAChB,YAAY,EACV,6BAA6B,EAC7B,6BAA6B,EAC7B,8BAA8B,EAC9B,0BAA0B,EAC1B,0BAA0B,EAC1B,2BAA2B,EAC3B,+BAA+B,EAC/B,8BAA8B,EAC9B,mBAAmB,EACnB,0BAA0B,EAC1B,6BAA6B,EAC7B,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,SAAS,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,6 @@
1
+ import { TypeScriptLspWorkspace } from "./workspace.js";
2
+ import { documentUriToFileName, fileNameToDocumentUri, isTypeScriptFileName, isTypeScriptLspSourceFileName, pathOrUriToDocumentUri, sourcePathToFileName } from "./paths.js";
3
+ import { TypeScriptLspWorkerOwner, createTypeScriptLspWorkerOwner } from "./workerOwner.js";
4
+ import { createTypeScriptLspPlugin } from "./pluginWithWorker.js";
5
+ import { diagnosticHighlightGroups, summarizeDiagnostics } from "@singapore-editor/lsp-plugin/diagnostics";
6
+ export { TypeScriptLspWorkerOwner, TypeScriptLspWorkspace, createTypeScriptLspPlugin, createTypeScriptLspWorkerOwner, diagnosticHighlightGroups, documentUriToFileName, fileNameToDocumentUri, isTypeScriptFileName, isTypeScriptLspSourceFileName, pathOrUriToDocumentUri, sourcePathToFileName, summarizeDiagnostics };
@@ -0,0 +1,4 @@
1
+ export { documentUriToFileName, fileNameToDocumentUri, pathOrUriToDocumentUri, sourcePathToFileName, } from '@singapore-editor/lsp-plugin/paths';
2
+ export declare function isTypeScriptFileName(fileName: string): boolean;
3
+ export declare function isTypeScriptLspSourceFileName(fileName: string): boolean;
4
+ //# sourceMappingURL=paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,oCAAoC,CAAA;AAc3C,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEvE"}
package/dist/paths.js ADDED
@@ -0,0 +1,34 @@
1
+ import { documentUriToFileName, fileNameToDocumentUri, pathOrUriToDocumentUri, sourcePathToFileName } from "@singapore-editor/lsp-plugin/paths";
2
+ //#region src/paths.ts
3
+ var TYPE_SCRIPT_EXTENSIONS = /* @__PURE__ */ new Set([
4
+ ".cts",
5
+ ".mts",
6
+ ".ts",
7
+ ".tsx"
8
+ ]);
9
+ var TYPE_SCRIPT_LSP_SOURCE_EXTENSIONS = /* @__PURE__ */ new Set([
10
+ ".cjs",
11
+ ".cts",
12
+ ".js",
13
+ ".jsx",
14
+ ".mjs",
15
+ ".mts",
16
+ ".ts",
17
+ ".tsx"
18
+ ]);
19
+ function isTypeScriptFileName(fileName) {
20
+ return TYPE_SCRIPT_EXTENSIONS.has(extensionForPath(fileName));
21
+ }
22
+ function isTypeScriptLspSourceFileName(fileName) {
23
+ return TYPE_SCRIPT_LSP_SOURCE_EXTENSIONS.has(extensionForPath(fileName));
24
+ }
25
+ function extensionForPath(path) {
26
+ const fileName = path.slice(path.lastIndexOf("/") + 1);
27
+ const dotIndex = fileName.lastIndexOf(".");
28
+ if (dotIndex === -1) return "";
29
+ return fileName.slice(dotIndex).toLowerCase();
30
+ }
31
+ //#endregion
32
+ export { documentUriToFileName, fileNameToDocumentUri, isTypeScriptFileName, isTypeScriptLspSourceFileName, pathOrUriToDocumentUri, sourcePathToFileName };
33
+
34
+ //# sourceMappingURL=paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.js","names":[],"sources":["../src/paths.ts"],"sourcesContent":["export {\n documentUriToFileName,\n fileNameToDocumentUri,\n pathOrUriToDocumentUri,\n sourcePathToFileName,\n} from '@singapore-editor/lsp-plugin/paths'\n\nconst TYPE_SCRIPT_EXTENSIONS = new Set(['.cts', '.mts', '.ts', '.tsx'])\nconst TYPE_SCRIPT_LSP_SOURCE_EXTENSIONS = new Set([\n '.cjs',\n '.cts',\n '.js',\n '.jsx',\n '.mjs',\n '.mts',\n '.ts',\n '.tsx',\n])\n\nexport function isTypeScriptFileName(fileName: string): boolean {\n return TYPE_SCRIPT_EXTENSIONS.has(extensionForPath(fileName))\n}\n\nexport function isTypeScriptLspSourceFileName(fileName: string): boolean {\n return TYPE_SCRIPT_LSP_SOURCE_EXTENSIONS.has(extensionForPath(fileName))\n}\n\nfunction extensionForPath(path: string): string {\n const fileName = path.slice(path.lastIndexOf('/') + 1)\n const dotIndex = fileName.lastIndexOf('.')\n if (dotIndex === -1) return ''\n return fileName.slice(dotIndex).toLowerCase()\n}\n"],"mappings":";;AAOA,IAAM,yCAAyB,IAAI,IAAI;CAAC;CAAQ;CAAQ;CAAO;AAAM,CAAC;AACtE,IAAM,oDAAoC,IAAI,IAAI;CAChD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AAED,SAAgB,qBAAqB,UAA2B;CAC9D,OAAO,uBAAuB,IAAI,iBAAiB,QAAQ,CAAC;AAC9D;AAEA,SAAgB,8BAA8B,UAA2B;CACvE,OAAO,kCAAkC,IAAI,iBAAiB,QAAQ,CAAC;AACzE;AAEA,SAAS,iBAAiB,MAAsB;CAC9C,MAAM,WAAW,KAAK,MAAM,KAAK,YAAY,GAAG,IAAI,CAAC;CACrD,MAAM,WAAW,SAAS,YAAY,GAAG;CACzC,IAAI,aAAa,IAAI,OAAO;CAC5B,OAAO,SAAS,MAAM,QAAQ,CAAC,CAAC,YAAY;AAC9C"}
@@ -0,0 +1,29 @@
1
+ import type { LspWebSocketTransportOptions, LspWorkerLike } from '@singapore-editor/lsp';
2
+ import type { TypeScriptLspPlugin, TypeScriptLspPluginOptions } from './types';
3
+ export type TypeScriptLspResolvedOptions = {
4
+ readonly connectionProvider: TypeScriptLspPluginOptions['connectionProvider'];
5
+ readonly documentSync: TypeScriptLspPluginOptions['documentSync'];
6
+ readonly rootUri: string | null;
7
+ readonly canonicalPaths: TypeScriptLspPluginOptions['canonicalPaths'];
8
+ readonly compilerOptions: TypeScriptLspPluginOptions['compilerOptions'];
9
+ readonly diagnosticDelayMs: number;
10
+ readonly libraryFiles: TypeScriptLspPluginOptions['libraryFiles'];
11
+ readonly timeoutMs: number;
12
+ readonly capabilities: TypeScriptLspPluginOptions['capabilities'];
13
+ readonly clientInfo: TypeScriptLspPluginOptions['clientInfo'];
14
+ readonly semanticTokens: TypeScriptLspPluginOptions['semanticTokens'];
15
+ readonly onConnectionCreated: TypeScriptLspPluginOptions['onConnectionCreated'];
16
+ readonly workerFactory?: () => LspWorkerLike;
17
+ readonly webSocketRoute?: string | URL;
18
+ readonly webSocketTransportOptions?: LspWebSocketTransportOptions;
19
+ readonly onStatusChange: TypeScriptLspPluginOptions['onStatusChange'];
20
+ readonly onDiagnostics: TypeScriptLspPluginOptions['onDiagnostics'];
21
+ readonly onOpenDefinition: TypeScriptLspPluginOptions['onOpenDefinition'];
22
+ readonly onOpenReferences: TypeScriptLspPluginOptions['onOpenReferences'];
23
+ readonly onApplyWorkspaceEdit: TypeScriptLspPluginOptions['onApplyWorkspaceEdit'];
24
+ readonly getDiagnosticActions: TypeScriptLspPluginOptions['getDiagnosticActions'];
25
+ readonly onRequestError: TypeScriptLspPluginOptions['onRequestError'];
26
+ readonly onError: TypeScriptLspPluginOptions['onError'];
27
+ };
28
+ export declare function createTypeScriptLspPlugin(options?: TypeScriptLspPluginOptions): TypeScriptLspPlugin;
29
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAGV,4BAA4B,EAC5B,aAAa,EACd,MAAM,uBAAuB,CAAA;AAY9B,OAAO,KAAK,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAU9E,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,CAAC,kBAAkB,EAAE,0BAA0B,CAAC,oBAAoB,CAAC,CAAA;IAC7E,QAAQ,CAAC,YAAY,EAAE,0BAA0B,CAAC,cAAc,CAAC,CAAA;IACjE,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,QAAQ,CAAC,cAAc,EAAE,0BAA0B,CAAC,gBAAgB,CAAC,CAAA;IACrE,QAAQ,CAAC,eAAe,EAAE,0BAA0B,CAAC,iBAAiB,CAAC,CAAA;IACvE,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,YAAY,EAAE,0BAA0B,CAAC,cAAc,CAAC,CAAA;IACjE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,YAAY,EAAE,0BAA0B,CAAC,cAAc,CAAC,CAAA;IACjE,QAAQ,CAAC,UAAU,EAAE,0BAA0B,CAAC,YAAY,CAAC,CAAA;IAC7D,QAAQ,CAAC,cAAc,EAAE,0BAA0B,CAAC,gBAAgB,CAAC,CAAA;IACrE,QAAQ,CAAC,mBAAmB,EAAE,0BAA0B,CAAC,qBAAqB,CAAC,CAAA;IAC/E,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,aAAa,CAAA;IAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;IACtC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,4BAA4B,CAAA;IACjE,QAAQ,CAAC,cAAc,EAAE,0BAA0B,CAAC,gBAAgB,CAAC,CAAA;IACrE,QAAQ,CAAC,aAAa,EAAE,0BAA0B,CAAC,eAAe,CAAC,CAAA;IACnE,QAAQ,CAAC,gBAAgB,EAAE,0BAA0B,CAAC,kBAAkB,CAAC,CAAA;IACzE,QAAQ,CAAC,gBAAgB,EAAE,0BAA0B,CAAC,kBAAkB,CAAC,CAAA;IACzE,QAAQ,CAAC,oBAAoB,EAAE,0BAA0B,CAAC,sBAAsB,CAAC,CAAA;IACjF,QAAQ,CAAC,oBAAoB,EAAE,0BAA0B,CAAC,sBAAsB,CAAC,CAAA;IACjF,QAAQ,CAAC,cAAc,EAAE,0BAA0B,CAAC,gBAAgB,CAAC,CAAA;IACrE,QAAQ,CAAC,OAAO,EAAE,0BAA0B,CAAC,SAAS,CAAC,CAAA;CACxD,CAAA;AAED,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,0BAA+B,GACvC,mBAAmB,CA0DrB"}
package/dist/plugin.js ADDED
@@ -0,0 +1,140 @@
1
+ import { LIBRARY_FILES_REQUEST } from "./worker/customMethods.js";
2
+ import { TypeScriptLspWorkspace } from "./workspace.js";
3
+ import { isTypeScriptLspSourceFileName } from "./paths.js";
4
+ import { createEditorCapabilityToken } from "@singapore-editor/core/extensions";
5
+ import { createLanguageServerAdapterPlugin, createWebSocketLspTransportFactory, createWorkerLspTransportFactory } from "@singapore-editor/lsp-plugin";
6
+ //#region src/plugin.ts
7
+ var DEFAULT_DIAGNOSTIC_DELAY_MS = 150;
8
+ var DEFAULT_TIMEOUT_MS = 15e3;
9
+ var TYPESCRIPT_LSP_COMPLETION_EDIT_FEATURE = createEditorCapabilityToken("editor.typescript-lsp.completion-edit");
10
+ function createTypeScriptLspPlugin(options = {}) {
11
+ const resolved = resolveOptions(options);
12
+ const workspaceFiles = options.workspace ?? new TypeScriptLspWorkspace();
13
+ return {
14
+ ...createLanguageServerAdapterPlugin({
15
+ name: "editor.typescript-lsp",
16
+ rootUri: resolved.rootUri,
17
+ initializationOptions: typeScriptInitializationOptions(resolved),
18
+ serverRequestHandlers: libraryRequestHandlers(resolved.libraryFiles),
19
+ timeoutMs: resolved.timeoutMs,
20
+ capabilities: resolved.capabilities,
21
+ clientInfo: resolved.clientInfo,
22
+ semanticTokens: resolved.semanticTokens,
23
+ createTransport: typeScriptTransportFactory(resolved),
24
+ connectionProvider: resolved.connectionProvider,
25
+ documentSync: {
26
+ ...resolved.documentSync,
27
+ languageIdForDocument: resolved.documentSync?.languageIdForDocument ?? protocolLanguageId,
28
+ shouldSyncLanguageId: resolved.documentSync?.shouldSyncLanguageId ?? isTypeScriptLspLanguage,
29
+ shouldSyncUri: resolved.documentSync?.shouldSyncUri ?? isTypeScriptLspSourceFileName
30
+ },
31
+ diagnostics: {
32
+ minimapSourceId: "editor.typescript-lsp.diagnostics",
33
+ highlightNameNamespace: "typescript-lsp",
34
+ markerTimingNamePrefix: "typescriptLsp.marker"
35
+ },
36
+ completion: {
37
+ editFeature: TYPESCRIPT_LSP_COMPLETION_EDIT_FEATURE,
38
+ acceptTimingName: "typescriptLsp.completion.accept",
39
+ widgetClassNamespace: "typescript-lsp",
40
+ acceptOnCommitCharacter: true
41
+ },
42
+ hoverDefinition: {
43
+ linkHighlightNameNamespace: "typescript-lsp",
44
+ tooltipClassNamespace: "typescript-lsp",
45
+ navigationTimingNamePrefix: "typescriptLsp"
46
+ },
47
+ onConnectionCreated: (context) => registerTypeScriptConnection(context, workspaceFiles, resolved),
48
+ onConnected: (context) => workspaceFiles.syncClient(context.client),
49
+ onStatusChange: resolved.onStatusChange,
50
+ onDiagnostics: resolved.onDiagnostics,
51
+ onOpenDefinition: resolved.onOpenDefinition,
52
+ onOpenReferences: resolved.onOpenReferences,
53
+ getDiagnosticActions: resolved.getDiagnosticActions,
54
+ onApplyWorkspaceEdit: resolved.onApplyWorkspaceEdit,
55
+ onRequestError: (_serverId, method, error) => resolved.onRequestError?.(method, error),
56
+ onError: resolved.onError
57
+ }),
58
+ setWorkspaceFiles: (files) => workspaceFiles.setWorkspaceFiles(files),
59
+ upsertWorkspaceFiles: (files) => workspaceFiles.upsertWorkspaceFiles(files),
60
+ deleteWorkspaceFiles: (paths) => workspaceFiles.deleteWorkspaceFiles(paths),
61
+ clearWorkspaceFiles: () => workspaceFiles.setWorkspaceFiles([])
62
+ };
63
+ }
64
+ function registerTypeScriptConnection(context, workspaceFiles, options) {
65
+ const registration = workspaceFiles.registerClient(context.client, options.onError);
66
+ const hostRegistration = options.onConnectionCreated?.(context) ?? null;
67
+ return { dispose: () => {
68
+ hostRegistration?.dispose();
69
+ registration.dispose();
70
+ } };
71
+ }
72
+ function typeScriptTransportFactory(options) {
73
+ if (options.webSocketRoute) return createWebSocketLspTransportFactory(options.webSocketRoute, options.webSocketTransportOptions);
74
+ if (options.workerFactory) return createWorkerLspTransportFactory(options.workerFactory);
75
+ return missingWorkerTransportFactory;
76
+ }
77
+ function missingWorkerTransportFactory() {
78
+ throw new Error("TypeScript LSP worker factory was not configured");
79
+ }
80
+ function typeScriptInitializationOptions(options) {
81
+ return {
82
+ canonicalPaths: options.canonicalPaths,
83
+ compilerOptions: options.compilerOptions,
84
+ diagnosticDelayMs: options.diagnosticDelayMs,
85
+ libraryFiles: librarySource(options.libraryFiles)
86
+ };
87
+ }
88
+ function librarySource(libraryFiles) {
89
+ if (typeof libraryFiles === "function") return "host";
90
+ return libraryFiles ?? "bundled";
91
+ }
92
+ /** A host loader answers the worker's request for library files by name. */
93
+ function libraryRequestHandlers(libraryFiles) {
94
+ if (typeof libraryFiles !== "function") return {};
95
+ return { [LIBRARY_FILES_REQUEST]: async (_client, params) => ({ files: await libraryFiles(libraryNames(params)) }) };
96
+ }
97
+ function libraryNames(params) {
98
+ if (typeof params !== "object" || params === null || !("names" in params)) return [];
99
+ const names = params.names;
100
+ return Array.isArray(names) ? names.filter((name) => typeof name === "string") : [];
101
+ }
102
+ function resolveOptions(options) {
103
+ return {
104
+ documentSync: options.documentSync,
105
+ connectionProvider: options.connectionProvider,
106
+ rootUri: options.rootUri ?? "file:///",
107
+ canonicalPaths: options.canonicalPaths,
108
+ compilerOptions: options.compilerOptions,
109
+ diagnosticDelayMs: options.diagnosticDelayMs ?? DEFAULT_DIAGNOSTIC_DELAY_MS,
110
+ libraryFiles: options.libraryFiles,
111
+ timeoutMs: options.timeoutMs ?? DEFAULT_TIMEOUT_MS,
112
+ capabilities: options.capabilities,
113
+ clientInfo: options.clientInfo,
114
+ semanticTokens: options.semanticTokens,
115
+ onConnectionCreated: options.onConnectionCreated,
116
+ workerFactory: options.workerFactory,
117
+ webSocketRoute: options.webSocketRoute,
118
+ webSocketTransportOptions: options.webSocketTransportOptions,
119
+ onStatusChange: options.onStatusChange,
120
+ onDiagnostics: options.onDiagnostics,
121
+ onOpenDefinition: options.onOpenDefinition,
122
+ onOpenReferences: options.onOpenReferences,
123
+ getDiagnosticActions: options.getDiagnosticActions,
124
+ onApplyWorkspaceEdit: options.onApplyWorkspaceEdit,
125
+ onRequestError: options.onRequestError,
126
+ onError: options.onError
127
+ };
128
+ }
129
+ function isTypeScriptLspLanguage(languageId) {
130
+ return languageId === "tsx" || languageId === "jsx" || languageId === "javascript" || languageId === "javascriptreact" || languageId === "typescript" || languageId === "typescriptreact";
131
+ }
132
+ function protocolLanguageId(languageId) {
133
+ if (languageId === "tsx") return "typescriptreact";
134
+ if (languageId === "jsx") return "javascriptreact";
135
+ return languageId;
136
+ }
137
+ //#endregion
138
+ export { createTypeScriptLspPlugin };
139
+
140
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","names":[],"sources":["../src/plugin.ts"],"sourcesContent":["import { TypeScriptLspWorkspace } from './workspace'\nimport type { EditorDisposable } from '@singapore-editor/core/extensions'\nimport { createEditorCapabilityToken } from '@singapore-editor/core/extensions'\nimport type {\n LspClient,\n LspServerRequestHandler,\n LspWebSocketTransportOptions,\n LspWorkerLike,\n} from '@singapore-editor/lsp'\nimport {\n createLanguageServerAdapterPlugin,\n createWebSocketLspTransportFactory,\n createWorkerLspTransportFactory,\n type LanguageServerConnectionContext,\n type LspConnectionTransportFactory,\n} from '@singapore-editor/lsp-plugin'\nimport type { LanguageServerCompletionEditFeature } from '@singapore-editor/lsp-plugin/completion'\n\nimport { isTypeScriptLspSourceFileName } from './paths'\nimport { LIBRARY_FILES_REQUEST } from './worker/customMethods'\nimport type { TypeScriptLspPlugin, TypeScriptLspPluginOptions } from './types'\n\nconst DEFAULT_DIAGNOSTIC_DELAY_MS = 150\nconst DEFAULT_TIMEOUT_MS = 15000\nconst TYPESCRIPT_LSP_COMPLETION_EDIT_FEATURE_ID = 'editor.typescript-lsp.completion-edit'\nconst TYPESCRIPT_LSP_COMPLETION_EDIT_FEATURE =\n createEditorCapabilityToken<LanguageServerCompletionEditFeature>(\n TYPESCRIPT_LSP_COMPLETION_EDIT_FEATURE_ID,\n )\n\nexport type TypeScriptLspResolvedOptions = {\n readonly connectionProvider: TypeScriptLspPluginOptions['connectionProvider']\n readonly documentSync: TypeScriptLspPluginOptions['documentSync']\n readonly rootUri: string | null\n readonly canonicalPaths: TypeScriptLspPluginOptions['canonicalPaths']\n readonly compilerOptions: TypeScriptLspPluginOptions['compilerOptions']\n readonly diagnosticDelayMs: number\n readonly libraryFiles: TypeScriptLspPluginOptions['libraryFiles']\n readonly timeoutMs: number\n readonly capabilities: TypeScriptLspPluginOptions['capabilities']\n readonly clientInfo: TypeScriptLspPluginOptions['clientInfo']\n readonly semanticTokens: TypeScriptLspPluginOptions['semanticTokens']\n readonly onConnectionCreated: TypeScriptLspPluginOptions['onConnectionCreated']\n readonly workerFactory?: () => LspWorkerLike\n readonly webSocketRoute?: string | URL\n readonly webSocketTransportOptions?: LspWebSocketTransportOptions\n readonly onStatusChange: TypeScriptLspPluginOptions['onStatusChange']\n readonly onDiagnostics: TypeScriptLspPluginOptions['onDiagnostics']\n readonly onOpenDefinition: TypeScriptLspPluginOptions['onOpenDefinition']\n readonly onOpenReferences: TypeScriptLspPluginOptions['onOpenReferences']\n readonly onApplyWorkspaceEdit: TypeScriptLspPluginOptions['onApplyWorkspaceEdit']\n readonly getDiagnosticActions: TypeScriptLspPluginOptions['getDiagnosticActions']\n readonly onRequestError: TypeScriptLspPluginOptions['onRequestError']\n readonly onError: TypeScriptLspPluginOptions['onError']\n}\n\nexport function createTypeScriptLspPlugin(\n options: TypeScriptLspPluginOptions = {},\n): TypeScriptLspPlugin {\n const resolved = resolveOptions(options)\n const workspaceFiles = options.workspace ?? new TypeScriptLspWorkspace()\n const plugin = createLanguageServerAdapterPlugin({\n name: 'editor.typescript-lsp',\n rootUri: resolved.rootUri,\n initializationOptions: typeScriptInitializationOptions(resolved),\n serverRequestHandlers: libraryRequestHandlers(resolved.libraryFiles),\n timeoutMs: resolved.timeoutMs,\n capabilities: resolved.capabilities,\n clientInfo: resolved.clientInfo,\n semanticTokens: resolved.semanticTokens,\n createTransport: typeScriptTransportFactory(resolved),\n connectionProvider: resolved.connectionProvider,\n documentSync: {\n ...resolved.documentSync,\n languageIdForDocument: resolved.documentSync?.languageIdForDocument ?? protocolLanguageId,\n shouldSyncLanguageId: resolved.documentSync?.shouldSyncLanguageId ?? isTypeScriptLspLanguage,\n shouldSyncUri: resolved.documentSync?.shouldSyncUri ?? isTypeScriptLspSourceFileName,\n },\n diagnostics: {\n minimapSourceId: 'editor.typescript-lsp.diagnostics',\n highlightNameNamespace: 'typescript-lsp',\n markerTimingNamePrefix: 'typescriptLsp.marker',\n },\n completion: {\n editFeature: TYPESCRIPT_LSP_COMPLETION_EDIT_FEATURE,\n acceptTimingName: 'typescriptLsp.completion.accept',\n widgetClassNamespace: 'typescript-lsp',\n // The worker sends TypeScript's own per-item sets, so the sets this turns on are the ones the\n // language service vouches for rather than a guess made in the editor.\n acceptOnCommitCharacter: true,\n },\n hoverDefinition: {\n linkHighlightNameNamespace: 'typescript-lsp',\n tooltipClassNamespace: 'typescript-lsp',\n navigationTimingNamePrefix: 'typescriptLsp',\n },\n onConnectionCreated: (context) =>\n registerTypeScriptConnection(context, workspaceFiles, resolved),\n onConnected: (context) => workspaceFiles.syncClient(context.client),\n onStatusChange: resolved.onStatusChange,\n onDiagnostics: resolved.onDiagnostics,\n onOpenDefinition: resolved.onOpenDefinition,\n onOpenReferences: resolved.onOpenReferences,\n getDiagnosticActions: resolved.getDiagnosticActions,\n onApplyWorkspaceEdit: resolved.onApplyWorkspaceEdit,\n onRequestError: (_serverId, method, error) => resolved.onRequestError?.(method, error),\n onError: resolved.onError,\n })\n\n return {\n ...plugin,\n setWorkspaceFiles: (files) => workspaceFiles.setWorkspaceFiles(files),\n upsertWorkspaceFiles: (files) => workspaceFiles.upsertWorkspaceFiles(files),\n deleteWorkspaceFiles: (paths) => workspaceFiles.deleteWorkspaceFiles(paths),\n clearWorkspaceFiles: () => workspaceFiles.setWorkspaceFiles([]),\n }\n}\n\n// The host's callback runs alongside the workspace-file registration rather than instead of it: the\n// handle it is being given is the only way to reach the `LspClient`, and taking the workspace sync\n// away as the price of holding it would be a trade nobody asked for.\nfunction registerTypeScriptConnection(\n context: LanguageServerConnectionContext,\n workspaceFiles: TypeScriptLspWorkspace,\n options: TypeScriptLspResolvedOptions,\n): EditorDisposable {\n const registration = workspaceFiles.registerClient(context.client, options.onError)\n const hostRegistration = options.onConnectionCreated?.(context) ?? null\n\n return {\n dispose: () => {\n hostRegistration?.dispose()\n registration.dispose()\n },\n }\n}\n\nfunction typeScriptTransportFactory(\n options: TypeScriptLspResolvedOptions,\n): LspConnectionTransportFactory {\n if (options.webSocketRoute) {\n return createWebSocketLspTransportFactory(\n options.webSocketRoute,\n options.webSocketTransportOptions,\n )\n }\n if (options.workerFactory) return createWorkerLspTransportFactory(options.workerFactory)\n\n return missingWorkerTransportFactory\n}\n\nfunction missingWorkerTransportFactory(): never {\n throw new Error('TypeScript LSP worker factory was not configured')\n}\n\nfunction typeScriptInitializationOptions(options: TypeScriptLspResolvedOptions): unknown {\n return {\n canonicalPaths: options.canonicalPaths,\n compilerOptions: options.compilerOptions,\n diagnosticDelayMs: options.diagnosticDelayMs,\n libraryFiles: librarySource(options.libraryFiles),\n }\n}\n\nfunction librarySource(libraryFiles: TypeScriptLspPluginOptions['libraryFiles']): string {\n if (typeof libraryFiles === 'function') return 'host'\n return libraryFiles ?? 'bundled'\n}\n\n/** A host loader answers the worker's request for library files by name. */\nfunction libraryRequestHandlers(\n libraryFiles: TypeScriptLspPluginOptions['libraryFiles'],\n): Readonly<Record<string, LspServerRequestHandler<LspClient>>> {\n if (typeof libraryFiles !== 'function') return {}\n return {\n [LIBRARY_FILES_REQUEST]: async (_client, params) => ({\n files: await libraryFiles(libraryNames(params)),\n }),\n }\n}\n\nfunction libraryNames(params: unknown): readonly string[] {\n if (typeof params !== 'object' || params === null || !('names' in params)) return []\n const names = params.names\n return Array.isArray(names) ? names.filter((name) => typeof name === 'string') : []\n}\n\nfunction resolveOptions(options: TypeScriptLspPluginOptions): TypeScriptLspResolvedOptions {\n return {\n documentSync: options.documentSync,\n connectionProvider: options.connectionProvider,\n rootUri: options.rootUri ?? 'file:///',\n canonicalPaths: options.canonicalPaths,\n compilerOptions: options.compilerOptions,\n diagnosticDelayMs: options.diagnosticDelayMs ?? DEFAULT_DIAGNOSTIC_DELAY_MS,\n libraryFiles: options.libraryFiles,\n timeoutMs: options.timeoutMs ?? DEFAULT_TIMEOUT_MS,\n capabilities: options.capabilities,\n clientInfo: options.clientInfo,\n semanticTokens: options.semanticTokens,\n onConnectionCreated: options.onConnectionCreated,\n workerFactory: options.workerFactory,\n webSocketRoute: options.webSocketRoute,\n webSocketTransportOptions: options.webSocketTransportOptions,\n onStatusChange: options.onStatusChange,\n onDiagnostics: options.onDiagnostics,\n onOpenDefinition: options.onOpenDefinition,\n onOpenReferences: options.onOpenReferences,\n getDiagnosticActions: options.getDiagnosticActions,\n onApplyWorkspaceEdit: options.onApplyWorkspaceEdit,\n onRequestError: options.onRequestError,\n onError: options.onError,\n }\n}\n\nfunction isTypeScriptLspLanguage(languageId: string): boolean {\n return (\n languageId === 'tsx' ||\n languageId === 'jsx' ||\n languageId === 'javascript' ||\n languageId === 'javascriptreact' ||\n languageId === 'typescript' ||\n languageId === 'typescriptreact'\n )\n}\n\nfunction protocolLanguageId(languageId: string): string {\n if (languageId === 'tsx') return 'typescriptreact'\n if (languageId === 'jsx') return 'javascriptreact'\n return languageId\n}\n"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { TypeScriptLspPlugin, TypeScriptLspPluginOptions } from './types';
2
+ export declare function createTypeScriptLspPlugin(options?: TypeScriptLspPluginOptions): TypeScriptLspPlugin;
3
+ //# sourceMappingURL=pluginWithWorker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pluginWithWorker.d.ts","sourceRoot":"","sources":["../src/pluginWithWorker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAI9E,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,0BAA+B,GACvC,mBAAmB,CAMrB"}
@@ -0,0 +1,13 @@
1
+ import { createTypeScriptLspPlugin as createTypeScriptLspPlugin$1 } from "./plugin.js";
2
+ import { createTypeScriptLspWorkerOwner } from "./workerOwner.js";
3
+ //#region src/pluginWithWorker.ts
4
+ function createTypeScriptLspPlugin(options = {}) {
5
+ return createTypeScriptLspPlugin$1({
6
+ ...options,
7
+ workerFactory: () => createTypeScriptLspWorkerOwner({ workerFactory: options.workerFactory })
8
+ });
9
+ }
10
+ //#endregion
11
+ export { createTypeScriptLspPlugin };
12
+
13
+ //# sourceMappingURL=pluginWithWorker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pluginWithWorker.js","names":["createBaseTypeScriptLspPlugin"],"sources":["../src/pluginWithWorker.ts"],"sourcesContent":["import type { TypeScriptLspPlugin, TypeScriptLspPluginOptions } from './types'\nimport { createTypeScriptLspPlugin as createBaseTypeScriptLspPlugin } from './plugin'\nimport { createTypeScriptLspWorkerOwner } from './workerOwner'\n\nexport function createTypeScriptLspPlugin(\n options: TypeScriptLspPluginOptions = {},\n): TypeScriptLspPlugin {\n return createBaseTypeScriptLspPlugin({\n ...options,\n // The owner's own onError stays unset: the connection reports the crash, with its reason.\n workerFactory: () => createTypeScriptLspWorkerOwner({ workerFactory: options.workerFactory }),\n })\n}\n"],"mappings":";;;AAIA,SAAgB,0BACd,UAAsC,CAAC,GAClB;CACrB,OAAOA,4BAA8B;EACnC,GAAG;EAEH,qBAAqB,+BAA+B,EAAE,eAAe,QAAQ,cAAc,CAAC;CAC9F,CAAC;AACH"}
@@ -0,0 +1,14 @@
1
+ import type { LspWorkerLike } from '@singapore-editor/lsp';
2
+ import { type TypeScriptLspWorkerOwnerSnapshot } from './workerOwner';
3
+ export type TypeScriptLspServerSession = {
4
+ receive(message: string | ArrayBuffer | ArrayBufferView | unknown): void;
5
+ inspectWorker(): TypeScriptLspWorkerOwnerSnapshot;
6
+ dispose(): void;
7
+ };
8
+ export type TypeScriptLspServerSessionOptions = {
9
+ send(message: string): void;
10
+ workerFactory?: () => LspWorkerLike;
11
+ onError?: (error: unknown) => void;
12
+ };
13
+ export declare function createTypeScriptLspServerSession(options: TypeScriptLspServerSessionOptions): TypeScriptLspServerSession;
14
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAGL,KAAK,gCAAgC,EACtC,MAAM,eAAe,CAAA;AAEtB,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,eAAe,GAAG,OAAO,GAAG,IAAI,CAAA;IACxE,aAAa,IAAI,gCAAgC,CAAA;IACjD,OAAO,IAAI,IAAI,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,iCAAiC,GAAG;IAC9C,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,aAAa,CAAA;IACnC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CACnC,CAAA;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,iCAAiC,GACzC,0BAA0B,CA2B5B"}
package/dist/server.js ADDED
@@ -0,0 +1,50 @@
1
+ import { createTypeScriptLspWorkerOwner, workerEventError } from "./workerOwner.js";
2
+ //#region src/server.ts
3
+ function createTypeScriptLspServerSession(options) {
4
+ const worker = createTypeScriptLspWorkerOwner({ workerFactory: options.workerFactory });
5
+ const handleMessage = (event) => {
6
+ const message = messageEventData(event);
7
+ if (message === null) return;
8
+ options.send(message);
9
+ };
10
+ const handleError = (event) => {
11
+ options.onError?.(workerEventError(event));
12
+ };
13
+ worker.addEventListener("message", handleMessage);
14
+ worker.addEventListener("error", handleError);
15
+ return {
16
+ receive(message) {
17
+ worker.postMessage(decodeSocketMessage(message));
18
+ },
19
+ inspectWorker() {
20
+ return worker.inspect();
21
+ },
22
+ dispose() {
23
+ worker.removeEventListener("message", handleMessage);
24
+ worker.removeEventListener("error", handleError);
25
+ worker.terminate();
26
+ }
27
+ };
28
+ }
29
+ function decodeSocketMessage(message) {
30
+ if (typeof message === "string") return message;
31
+ if (message instanceof ArrayBuffer) return textFromBytes(new Uint8Array(message));
32
+ if (ArrayBuffer.isView(message)) return textFromBytes(viewBytes(message));
33
+ return message;
34
+ }
35
+ function viewBytes(view) {
36
+ return new Uint8Array(view.buffer, view.byteOffset, view.byteLength);
37
+ }
38
+ function textFromBytes(bytes) {
39
+ return new TextDecoder().decode(bytes);
40
+ }
41
+ function messageEventData(event) {
42
+ const data = event.data;
43
+ if (typeof data === "string") return data;
44
+ if (data === void 0) return null;
45
+ return JSON.stringify(data);
46
+ }
47
+ //#endregion
48
+ export { createTypeScriptLspServerSession };
49
+
50
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","names":[],"sources":["../src/server.ts"],"sourcesContent":["import type { LspWorkerLike } from '@singapore-editor/lsp'\nimport {\n createTypeScriptLspWorkerOwner,\n workerEventError,\n type TypeScriptLspWorkerOwnerSnapshot,\n} from './workerOwner'\n\nexport type TypeScriptLspServerSession = {\n receive(message: string | ArrayBuffer | ArrayBufferView | unknown): void\n inspectWorker(): TypeScriptLspWorkerOwnerSnapshot\n dispose(): void\n}\n\nexport type TypeScriptLspServerSessionOptions = {\n send(message: string): void\n workerFactory?: () => LspWorkerLike\n onError?: (error: unknown) => void\n}\n\nexport function createTypeScriptLspServerSession(\n options: TypeScriptLspServerSessionOptions,\n): TypeScriptLspServerSession {\n const worker = createTypeScriptLspWorkerOwner({ workerFactory: options.workerFactory })\n const handleMessage = (event: Event): void => {\n const message = messageEventData(event)\n if (message === null) return\n options.send(message)\n }\n const handleError = (event: Event): void => {\n options.onError?.(workerEventError(event))\n }\n\n worker.addEventListener('message', handleMessage)\n worker.addEventListener('error', handleError)\n\n return {\n receive(message) {\n worker.postMessage(decodeSocketMessage(message))\n },\n inspectWorker() {\n return worker.inspect()\n },\n dispose() {\n worker.removeEventListener('message', handleMessage)\n worker.removeEventListener('error', handleError)\n worker.terminate()\n },\n }\n}\n\nfunction decodeSocketMessage(message: string | ArrayBuffer | ArrayBufferView | unknown): unknown {\n if (typeof message === 'string') return message\n if (message instanceof ArrayBuffer) return textFromBytes(new Uint8Array(message))\n if (ArrayBuffer.isView(message)) return textFromBytes(viewBytes(message))\n return message\n}\n\nfunction viewBytes(view: ArrayBufferView): Uint8Array {\n return new Uint8Array(view.buffer, view.byteOffset, view.byteLength)\n}\n\nfunction textFromBytes(bytes: Uint8Array): string {\n return new TextDecoder().decode(bytes)\n}\n\nfunction messageEventData(event: Event): string | null {\n const data = (event as MessageEvent).data\n if (typeof data === 'string') return data\n if (data === undefined) return null\n return JSON.stringify(data)\n}\n"],"mappings":";;AAmBA,SAAgB,iCACd,SAC4B;CAC5B,MAAM,SAAS,+BAA+B,EAAE,eAAe,QAAQ,cAAc,CAAC;CACtF,MAAM,iBAAiB,UAAuB;EAC5C,MAAM,UAAU,iBAAiB,KAAK;EACtC,IAAI,YAAY,MAAM;EACtB,QAAQ,KAAK,OAAO;CACtB;CACA,MAAM,eAAe,UAAuB;EAC1C,QAAQ,UAAU,iBAAiB,KAAK,CAAC;CAC3C;CAEA,OAAO,iBAAiB,WAAW,aAAa;CAChD,OAAO,iBAAiB,SAAS,WAAW;CAE5C,OAAO;EACL,QAAQ,SAAS;GACf,OAAO,YAAY,oBAAoB,OAAO,CAAC;EACjD;EACA,gBAAgB;GACd,OAAO,OAAO,QAAQ;EACxB;EACA,UAAU;GACR,OAAO,oBAAoB,WAAW,aAAa;GACnD,OAAO,oBAAoB,SAAS,WAAW;GAC/C,OAAO,UAAU;EACnB;CACF;AACF;AAEA,SAAS,oBAAoB,SAAoE;CAC/F,IAAI,OAAO,YAAY,UAAU,OAAO;CACxC,IAAI,mBAAmB,aAAa,OAAO,cAAc,IAAI,WAAW,OAAO,CAAC;CAChF,IAAI,YAAY,OAAO,OAAO,GAAG,OAAO,cAAc,UAAU,OAAO,CAAC;CACxE,OAAO;AACT;AAEA,SAAS,UAAU,MAAmC;CACpD,OAAO,IAAI,WAAW,KAAK,QAAQ,KAAK,YAAY,KAAK,UAAU;AACrE;AAEA,SAAS,cAAc,OAA2B;CAChD,OAAO,IAAI,YAAY,CAAC,CAAC,OAAO,KAAK;AACvC;AAEA,SAAS,iBAAiB,OAA6B;CACrD,MAAM,OAAQ,MAAuB;CACrC,IAAI,OAAO,SAAS,UAAU,OAAO;CACrC,IAAI,SAAS,KAAA,GAAW,OAAO;CAC/B,OAAO,KAAK,UAAU,IAAI;AAC5B"}
@@ -0,0 +1,5 @@
1
+ import ts from 'typescript';
2
+ import type * as lsp from 'vscode-languageserver-protocol';
3
+ export declare function tsDiagnosticToLspDiagnostic(diagnostic: ts.Diagnostic, text?: string): lsp.Diagnostic;
4
+ export declare function tsDiagnosticMessageText(diagnostic: ts.Diagnostic): string;
5
+ //# sourceMappingURL=tsDiagnostics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tsDiagnostics.d.ts","sourceRoot":"","sources":["../src/tsDiagnostics.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,KAAK,KAAK,GAAG,MAAM,gCAAgC,CAAA;AAS1D,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,IAAI,SAA8B,GACjC,GAAG,CAAC,UAAU,CAgBhB;AAED,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAEzE"}
@@ -0,0 +1,46 @@
1
+ import { offsetToLspPosition } from "@singapore-editor/lsp/positions";
2
+ import ts from "typescript";
3
+ //#region src/tsDiagnostics.ts
4
+ var WARNING = 2;
5
+ var INFORMATION = 3;
6
+ var HINT = 4;
7
+ var DIAGNOSTIC_TAG_UNNECESSARY = 1;
8
+ var DIAGNOSTIC_TAG_DEPRECATED = 2;
9
+ function tsDiagnosticToLspDiagnostic(diagnostic, text = diagnostic.file?.text ?? "") {
10
+ const start = clampDiagnosticOffset(diagnostic.start ?? 0, text);
11
+ const end = clampDiagnosticOffset(start + (diagnostic.length ?? 0), text);
12
+ const tags = lspTagsForTsDiagnostic(diagnostic);
13
+ return {
14
+ range: {
15
+ start: offsetToLspPosition(text, start),
16
+ end: offsetToLspPosition(text, end)
17
+ },
18
+ severity: lspSeverityForTsDiagnostic(diagnostic),
19
+ code: diagnostic.code,
20
+ source: "typescript",
21
+ message: tsDiagnosticMessageText(diagnostic),
22
+ ...tags.length > 0 && { tags }
23
+ };
24
+ }
25
+ function tsDiagnosticMessageText(diagnostic) {
26
+ return ts.flattenDiagnosticMessageText(diagnostic.messageText, "\n");
27
+ }
28
+ function lspSeverityForTsDiagnostic(diagnostic) {
29
+ if (diagnostic.category === ts.DiagnosticCategory.Warning) return WARNING;
30
+ if (diagnostic.category === ts.DiagnosticCategory.Suggestion) return HINT;
31
+ if (diagnostic.category === ts.DiagnosticCategory.Message) return INFORMATION;
32
+ return 1;
33
+ }
34
+ function lspTagsForTsDiagnostic(diagnostic) {
35
+ const tags = [];
36
+ if (diagnostic.reportsUnnecessary) tags.push(DIAGNOSTIC_TAG_UNNECESSARY);
37
+ if (diagnostic.reportsDeprecated) tags.push(DIAGNOSTIC_TAG_DEPRECATED);
38
+ return tags;
39
+ }
40
+ function clampDiagnosticOffset(offset, text) {
41
+ return Math.min(text.length, Math.max(0, offset));
42
+ }
43
+ //#endregion
44
+ export { tsDiagnosticMessageText, tsDiagnosticToLspDiagnostic };
45
+
46
+ //# sourceMappingURL=tsDiagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tsDiagnostics.js","names":[],"sources":["../src/tsDiagnostics.ts"],"sourcesContent":["import { offsetToLspPosition } from '@singapore-editor/lsp/positions'\nimport ts from 'typescript'\nimport type * as lsp from 'vscode-languageserver-protocol'\n\nconst WARNING = 2\nconst INFORMATION = 3\nconst HINT = 4\n\nconst DIAGNOSTIC_TAG_UNNECESSARY = 1\nconst DIAGNOSTIC_TAG_DEPRECATED = 2\n\nexport function tsDiagnosticToLspDiagnostic(\n diagnostic: ts.Diagnostic,\n text = diagnostic.file?.text ?? '',\n): lsp.Diagnostic {\n const start = clampDiagnosticOffset(diagnostic.start ?? 0, text)\n const end = clampDiagnosticOffset(start + (diagnostic.length ?? 0), text)\n\n const tags = lspTagsForTsDiagnostic(diagnostic)\n return {\n range: {\n start: offsetToLspPosition(text, start),\n end: offsetToLspPosition(text, end),\n },\n severity: lspSeverityForTsDiagnostic(diagnostic),\n code: diagnostic.code,\n source: 'typescript',\n message: tsDiagnosticMessageText(diagnostic),\n ...(tags.length > 0 && { tags }),\n }\n}\n\nexport function tsDiagnosticMessageText(diagnostic: ts.Diagnostic): string {\n return ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n')\n}\n\nfunction lspSeverityForTsDiagnostic(diagnostic: ts.Diagnostic): lsp.DiagnosticSeverity {\n if (diagnostic.category === ts.DiagnosticCategory.Warning) return WARNING\n if (diagnostic.category === ts.DiagnosticCategory.Suggestion) return HINT\n if (diagnostic.category === ts.DiagnosticCategory.Message) return INFORMATION\n return 1\n}\n\nfunction lspTagsForTsDiagnostic(diagnostic: ts.Diagnostic): lsp.DiagnosticTag[] {\n const tags: lsp.DiagnosticTag[] = []\n if (diagnostic.reportsUnnecessary) tags.push(DIAGNOSTIC_TAG_UNNECESSARY)\n if (diagnostic.reportsDeprecated) tags.push(DIAGNOSTIC_TAG_DEPRECATED)\n return tags\n}\n\nfunction clampDiagnosticOffset(offset: number, text: string): number {\n return Math.min(text.length, Math.max(0, offset))\n}\n"],"mappings":";;;AAIA,IAAM,UAAU;AAChB,IAAM,cAAc;AACpB,IAAM,OAAO;AAEb,IAAM,6BAA6B;AACnC,IAAM,4BAA4B;AAElC,SAAgB,4BACd,YACA,OAAO,WAAW,MAAM,QAAQ,IAChB;CAChB,MAAM,QAAQ,sBAAsB,WAAW,SAAS,GAAG,IAAI;CAC/D,MAAM,MAAM,sBAAsB,SAAS,WAAW,UAAU,IAAI,IAAI;CAExE,MAAM,OAAO,uBAAuB,UAAU;CAC9C,OAAO;EACL,OAAO;GACL,OAAO,oBAAoB,MAAM,KAAK;GACtC,KAAK,oBAAoB,MAAM,GAAG;EACpC;EACA,UAAU,2BAA2B,UAAU;EAC/C,MAAM,WAAW;EACjB,QAAQ;EACR,SAAS,wBAAwB,UAAU;EAC3C,GAAI,KAAK,SAAS,KAAK,EAAE,KAAK;CAChC;AACF;AAEA,SAAgB,wBAAwB,YAAmC;CACzE,OAAO,GAAG,6BAA6B,WAAW,aAAa,IAAI;AACrE;AAEA,SAAS,2BAA2B,YAAmD;CACrF,IAAI,WAAW,aAAa,GAAG,mBAAmB,SAAS,OAAO;CAClE,IAAI,WAAW,aAAa,GAAG,mBAAmB,YAAY,OAAO;CACrE,IAAI,WAAW,aAAa,GAAG,mBAAmB,SAAS,OAAO;CAClE,OAAO;AACT;AAEA,SAAS,uBAAuB,YAAgD;CAC9E,MAAM,OAA4B,CAAC;CACnC,IAAI,WAAW,oBAAoB,KAAK,KAAK,0BAA0B;CACvE,IAAI,WAAW,mBAAmB,KAAK,KAAK,yBAAyB;CACrE,OAAO;AACT;AAEA,SAAS,sBAAsB,QAAgB,MAAsB;CACnE,OAAO,KAAK,IAAI,KAAK,QAAQ,KAAK,IAAI,GAAG,MAAM,CAAC;AAClD"}
@@ -0,0 +1,78 @@
1
+ import type { TypeScriptLspWorkspace, TypeScriptLspSourceFile } from './workspace';
2
+ export type { TypeScriptLspSourceFile } from './workspace';
3
+ import type { EditorDisposable, EditorPlugin } from '@singapore-editor/core/extensions';
4
+ import type { LspWebSocketTransportOptions, LspWorkerLike } from '@singapore-editor/lsp';
5
+ import type { LanguageServerConnectionContext, LspConnectionProvider, LanguageServerDiagnosticActions, LanguageServerDocumentSyncOptions, LanguageServerDefinitionTarget, LanguageServerDiagnosticCounts, LanguageServerDiagnosticSummary, LanguageServerNavigationKind, LanguageServerNavigationOpenMode, LanguageServerNavigationOptions, LanguageServerReferencesResult, LanguageServerSemanticTokensOptions, LanguageServerStatus, OnApplyWorkspaceEdit } from '@singapore-editor/lsp-plugin';
6
+ import type ts from 'typescript';
7
+ import type * as lsp from 'vscode-languageserver-protocol';
8
+ /**
9
+ * Where the worker's standard library comes from. `bundled`, the default, ships with this package
10
+ * and needs no network; `cdn` fetches TypeScript's playground copy; `host` asks the plugin's
11
+ * `libraryFiles` loader.
12
+ */
13
+ export type TypeScriptLspLibrarySource = 'bundled' | 'cdn' | 'host';
14
+ /** Reads library files by name (`lib.es5.d.ts`); a name left out of the answer does not exist. */
15
+ export type TypeScriptLspLibraryLoader = (names: readonly string[]) => Promise<Readonly<Record<string, string>>>;
16
+ export type TypeScriptLspStatus = LanguageServerStatus;
17
+ export type TypeScriptLspDiagnosticCounts = LanguageServerDiagnosticCounts;
18
+ export type TypeScriptLspDiagnosticSummary = LanguageServerDiagnosticSummary;
19
+ export type TypeScriptLspDefinitionTarget = LanguageServerDefinitionTarget;
20
+ export type TypeScriptLspNavigationKind = LanguageServerNavigationKind;
21
+ export type TypeScriptLspNavigationOpenMode = LanguageServerNavigationOpenMode;
22
+ export type TypeScriptLspNavigationOptions = LanguageServerNavigationOptions;
23
+ export type TypeScriptLspReferencesResult = LanguageServerReferencesResult;
24
+ export type TypeScriptLspPluginOptions = {
25
+ readonly workspace?: TypeScriptLspWorkspace;
26
+ readonly connectionProvider?: LspConnectionProvider;
27
+ readonly documentSync?: LanguageServerDocumentSyncOptions;
28
+ readonly rootUri?: lsp.DocumentUri | null;
29
+ /** Logical filesystem names mapped to their canonical source identity. */
30
+ readonly canonicalPaths?: Readonly<Record<string, string>>;
31
+ readonly compilerOptions?: ts.CompilerOptions;
32
+ readonly diagnosticDelayMs?: number;
33
+ /** The standard library: bundled with this package unless the host opts into the CDN or its own. */
34
+ readonly libraryFiles?: 'bundled' | 'cdn' | TypeScriptLspLibraryLoader;
35
+ readonly timeoutMs?: number;
36
+ /**
37
+ * Merged over `defaultClientCapabilities()`. Build a semantic-tokens block with
38
+ * `semanticTokensClientCapability()` from `@singapore-editor/lsp` rather than by hand — the worker
39
+ * advertises `semanticTokensProvider`, but a server only answers a client that asked.
40
+ */
41
+ readonly capabilities?: lsp.ClientCapabilities;
42
+ readonly clientInfo?: lsp.InitializeParams['clientInfo'];
43
+ /**
44
+ * Turns on the semantic token layer and is how a host gets hold of one. Supplying nothing creates
45
+ * no layer and fires no demand signal, so an app that paints no semantic colour pays nothing.
46
+ */
47
+ readonly semanticTokens?: LanguageServerSemanticTokensOptions;
48
+ /**
49
+ * Hands the host the connection the moment it exists, which is the only way to reach the
50
+ * `LspClient` — and therefore to issue a token request, cancel one, or override its timeout. Runs
51
+ * alongside this plugin's own registration rather than replacing it.
52
+ */
53
+ onConnectionCreated?(context: LanguageServerConnectionContext): EditorDisposable | void;
54
+ readonly workerFactory?: () => LspWorkerLike;
55
+ readonly webSocketRoute?: string | URL;
56
+ readonly webSocketTransportOptions?: LspWebSocketTransportOptions;
57
+ readonly onStatusChange?: (status: TypeScriptLspStatus) => void;
58
+ readonly onDiagnostics?: (summary: TypeScriptLspDiagnosticSummary) => void;
59
+ readonly onOpenDefinition?: (target: TypeScriptLspDefinitionTarget, options?: TypeScriptLspNavigationOptions) => void | boolean;
60
+ readonly onOpenReferences?: (result: TypeScriptLspReferencesResult) => void | boolean;
61
+ /**
62
+ * Applies rename and code-action edits. Without it, an edit that spans files cannot land and
63
+ * reports that instead.
64
+ */
65
+ readonly onApplyWorkspaceEdit?: OnApplyWorkspaceEdit;
66
+ readonly getDiagnosticActions?: LanguageServerDiagnosticActions;
67
+ readonly onRequestError?: (method: string, error: unknown) => void;
68
+ readonly onError?: (error: unknown) => void;
69
+ };
70
+ export type TypeScriptLspPlugin = EditorPlugin & {
71
+ /** Replaces every workspace file; the worker rebuilds its program from them. */
72
+ setWorkspaceFiles(files: readonly TypeScriptLspSourceFile[]): void;
73
+ /** Adds or changes files in place; only a tsconfig or package.json rebuilds the program. */
74
+ upsertWorkspaceFiles(files: readonly TypeScriptLspSourceFile[]): void;
75
+ deleteWorkspaceFiles(paths: readonly string[]): void;
76
+ clearWorkspaceFiles(): void;
77
+ };
78
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=typescriptLsp.worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescriptLsp.worker.d.ts","sourceRoot":"","sources":["../src/typescriptLsp.worker.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export declare const BUNDLED_LIBRARY_FILES: Readonly<Record<string, () => Promise<{
2
+ readonly default: string;
3
+ }>>>;
4
+ //# sourceMappingURL=bundledLibraries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundledLibraries.d.ts","sourceRoot":"","sources":["../../src/worker/bundledLibraries.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAC1C,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAmH5D,CAAA"}
@@ -0,0 +1,5 @@
1
+ import type * as lsp from 'vscode-languageserver-protocol';
2
+ import type { DocumentContext, ServiceContext } from './context';
3
+ export declare function codeActions(ctx: DocumentContext, params: unknown): lsp.CodeAction[];
4
+ export declare function resolveCodeAction(ctx: ServiceContext, params: unknown): lsp.CodeAction;
5
+ //# sourceMappingURL=codeActions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codeActions.d.ts","sourceRoot":"","sources":["../../src/worker/codeActions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,GAAG,MAAM,gCAAgC,CAAA;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAgDhE,wBAAgB,WAAW,CAAC,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,GAAG,GAAG,CAAC,UAAU,EAAE,CAcnF;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,GAAG,GAAG,CAAC,UAAU,CAmBtF"}
@@ -0,0 +1,11 @@
1
+ import type * as lsp from 'vscode-languageserver-protocol';
2
+ import type { DocumentContext, ServiceContext } from './context';
3
+ export declare const COMPLETION_TRIGGER_CHARACTERS: readonly [".", "\"", "'", "`", "/", "@", "<", "#", " "];
4
+ export declare function emptyCompletionList(): lsp.CompletionList;
5
+ export declare function completion(ctx: DocumentContext, params: unknown): lsp.CompletionList;
6
+ /**
7
+ * Fills in what an item left out: its signature, its documentation and — the one that changes the
8
+ * document — the import an auto-import entry needs.
9
+ */
10
+ export declare function resolveCompletionItem(ctx: ServiceContext, params: unknown): lsp.CompletionItem;
11
+ //# sourceMappingURL=completion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../src/worker/completion.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,GAAG,MAAM,gCAAgC,CAAA;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAiBhE,eAAO,MAAM,6BAA6B,yDAAyD,CAAA;AAYnG,wBAAgB,mBAAmB,IAAI,GAAG,CAAC,cAAc,CAExD;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,GAAG,GAAG,CAAC,cAAc,CAwBpF;AA0CD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,GAAG,GAAG,CAAC,cAAc,CA2B9F"}