@stylelint/language-server 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +39 -0
  3. package/bin/stylelint-language-server.mjs +25 -0
  4. package/build/di/container.d.ts +12 -0
  5. package/build/di/container.js +76 -0
  6. package/build/di/container.js.map +1 -0
  7. package/build/di/hooks.d.ts +16 -0
  8. package/build/di/hooks.js +25 -0
  9. package/build/di/hooks.js.map +1 -0
  10. package/build/di/index.d.ts +7 -0
  11. package/build/di/index.js +8 -0
  12. package/build/di/index.js.map +1 -0
  13. package/build/di/inject.d.ts +48 -0
  14. package/build/di/inject.js +55 -0
  15. package/build/di/inject.js.map +1 -0
  16. package/build/di/module.d.ts +51 -0
  17. package/build/di/module.js +93 -0
  18. package/build/di/module.js.map +1 -0
  19. package/build/di/runtime/application.d.ts +17 -0
  20. package/build/di/runtime/application.js +209 -0
  21. package/build/di/runtime/application.js.map +1 -0
  22. package/build/di/runtime/decorators.d.ts +14 -0
  23. package/build/di/runtime/decorators.js +26 -0
  24. package/build/di/runtime/decorators.js.map +1 -0
  25. package/build/di/runtime/index.d.ts +3 -0
  26. package/build/di/runtime/index.js +4 -0
  27. package/build/di/runtime/index.js.map +1 -0
  28. package/build/di/runtime/symbols.d.ts +1 -0
  29. package/build/di/runtime/symbols.js +2 -0
  30. package/build/di/runtime/symbols.js.map +1 -0
  31. package/build/di/runtime/types.d.ts +20 -0
  32. package/build/di/runtime/types.js +2 -0
  33. package/build/di/runtime/types.js.map +1 -0
  34. package/build/di/tokens.d.ts +8 -0
  35. package/build/di/tokens.js +7 -0
  36. package/build/di/tokens.js.map +1 -0
  37. package/build/di/types.d.ts +16 -0
  38. package/build/di/types.js +2 -0
  39. package/build/di/types.js.map +1 -0
  40. package/build/server/config/default-options.d.ts +2 -0
  41. package/build/server/config/default-options.js +29 -0
  42. package/build/server/config/default-options.js.map +1 -0
  43. package/build/server/decorators.d.ts +121 -0
  44. package/build/server/decorators.js +272 -0
  45. package/build/server/decorators.js.map +1 -0
  46. package/build/server/index.d.ts +2 -0
  47. package/build/server/index.js +3 -0
  48. package/build/server/index.js.map +1 -0
  49. package/build/server/modules/documents.module.d.ts +1 -0
  50. package/build/server/modules/documents.module.js +12 -0
  51. package/build/server/modules/documents.module.js.map +1 -0
  52. package/build/server/modules/index.d.ts +6 -0
  53. package/build/server/modules/index.js +7 -0
  54. package/build/server/modules/index.js.map +1 -0
  55. package/build/server/modules/infrastructure.module.d.ts +1 -0
  56. package/build/server/modules/infrastructure.module.js +7 -0
  57. package/build/server/modules/infrastructure.module.js.map +1 -0
  58. package/build/server/modules/lsp.module.d.ts +1 -0
  59. package/build/server/modules/lsp.module.js +18 -0
  60. package/build/server/modules/lsp.module.js.map +1 -0
  61. package/build/server/modules/platform.module.d.ts +4 -0
  62. package/build/server/modules/platform.module.js +33 -0
  63. package/build/server/modules/platform.module.js.map +1 -0
  64. package/build/server/modules/stylelint-runtime.module.d.ts +1 -0
  65. package/build/server/modules/stylelint-runtime.module.js +19 -0
  66. package/build/server/modules/stylelint-runtime.module.js.map +1 -0
  67. package/build/server/modules/workspace.module.d.ts +1 -0
  68. package/build/server/modules/workspace.module.js +7 -0
  69. package/build/server/modules/workspace.module.js.map +1 -0
  70. package/build/server/runtime/application.d.ts +19 -0
  71. package/build/server/runtime/application.js +22 -0
  72. package/build/server/runtime/application.js.map +1 -0
  73. package/build/server/runtime/language-server-feature.d.ts +13 -0
  74. package/build/server/runtime/language-server-feature.js +142 -0
  75. package/build/server/runtime/language-server-feature.js.map +1 -0
  76. package/build/server/runtime/lsp-service-runtime.d.ts +15 -0
  77. package/build/server/runtime/lsp-service-runtime.js +133 -0
  78. package/build/server/runtime/lsp-service-runtime.js.map +1 -0
  79. package/build/server/server.d.ts +13 -0
  80. package/build/server/server.js +38 -0
  81. package/build/server/server.js.map +1 -0
  82. package/build/server/server.module.d.ts +1 -0
  83. package/build/server/server.module.js +13 -0
  84. package/build/server/server.module.js.map +1 -0
  85. package/build/server/services/documents/document-diagnostics.service.d.ts +15 -0
  86. package/build/server/services/documents/document-diagnostics.service.js +88 -0
  87. package/build/server/services/documents/document-diagnostics.service.js.map +1 -0
  88. package/build/server/services/documents/document-fixes.service.d.ts +14 -0
  89. package/build/server/services/documents/document-fixes.service.js +94 -0
  90. package/build/server/services/documents/document-fixes.service.js.map +1 -0
  91. package/build/server/services/documents/index.d.ts +2 -0
  92. package/build/server/services/documents/index.js +3 -0
  93. package/build/server/services/documents/index.js.map +1 -0
  94. package/build/server/services/index.d.ts +5 -0
  95. package/build/server/services/index.js +6 -0
  96. package/build/server/services/index.js.map +1 -0
  97. package/build/server/services/infrastructure/command.service.d.ts +22 -0
  98. package/build/server/services/infrastructure/command.service.js +151 -0
  99. package/build/server/services/infrastructure/command.service.js.map +1 -0
  100. package/build/server/services/infrastructure/index.d.ts +4 -0
  101. package/build/server/services/infrastructure/index.js +5 -0
  102. package/build/server/services/infrastructure/index.js.map +1 -0
  103. package/build/server/services/infrastructure/logging.service.d.ts +6 -0
  104. package/build/server/services/infrastructure/logging.service.js +4 -0
  105. package/build/server/services/infrastructure/logging.service.js.map +1 -0
  106. package/build/server/services/infrastructure/notification.service.d.ts +24 -0
  107. package/build/server/services/infrastructure/notification.service.js +142 -0
  108. package/build/server/services/infrastructure/notification.service.js.map +1 -0
  109. package/build/server/services/infrastructure/winston-logging.service.d.ts +10 -0
  110. package/build/server/services/infrastructure/winston-logging.service.js +48 -0
  111. package/build/server/services/infrastructure/winston-logging.service.js.map +1 -0
  112. package/build/server/services/lsp/auto-fix.service.d.ts +15 -0
  113. package/build/server/services/lsp/auto-fix.service.js +142 -0
  114. package/build/server/services/lsp/auto-fix.service.js.map +1 -0
  115. package/build/server/services/lsp/code-actions/code-action.service.d.ts +18 -0
  116. package/build/server/services/lsp/code-actions/code-action.service.js +288 -0
  117. package/build/server/services/lsp/code-actions/code-action.service.js.map +1 -0
  118. package/build/server/services/lsp/code-actions/disable-rule-file-code-action.service.d.ts +11 -0
  119. package/build/server/services/lsp/code-actions/disable-rule-file-code-action.service.js +72 -0
  120. package/build/server/services/lsp/code-actions/disable-rule-file-code-action.service.js.map +1 -0
  121. package/build/server/services/lsp/code-actions/disable-rule-line-code-action.service.d.ts +12 -0
  122. package/build/server/services/lsp/code-actions/disable-rule-line-code-action.service.js +80 -0
  123. package/build/server/services/lsp/code-actions/disable-rule-line-code-action.service.js.map +1 -0
  124. package/build/server/services/lsp/code-actions/index.d.ts +3 -0
  125. package/build/server/services/lsp/code-actions/index.js +4 -0
  126. package/build/server/services/lsp/code-actions/index.js.map +1 -0
  127. package/build/server/services/lsp/completion.service.d.ts +12 -0
  128. package/build/server/services/lsp/completion.service.js +183 -0
  129. package/build/server/services/lsp/completion.service.js.map +1 -0
  130. package/build/server/services/lsp/empty-config-warning.service.d.ts +17 -0
  131. package/build/server/services/lsp/empty-config-warning.service.js +149 -0
  132. package/build/server/services/lsp/empty-config-warning.service.js.map +1 -0
  133. package/build/server/services/lsp/formatter.service.d.ts +16 -0
  134. package/build/server/services/lsp/formatter.service.js +215 -0
  135. package/build/server/services/lsp/formatter.service.js.map +1 -0
  136. package/build/server/services/lsp/index.d.ts +8 -0
  137. package/build/server/services/lsp/index.js +9 -0
  138. package/build/server/services/lsp/index.js.map +1 -0
  139. package/build/server/services/lsp/old-stylelint-warning.service.d.ts +13 -0
  140. package/build/server/services/lsp/old-stylelint-warning.service.js +186 -0
  141. package/build/server/services/lsp/old-stylelint-warning.service.js.map +1 -0
  142. package/build/server/services/lsp/validator.service.d.ts +19 -0
  143. package/build/server/services/lsp/validator.service.js +273 -0
  144. package/build/server/services/lsp/validator.service.js.map +1 -0
  145. package/build/server/services/lsp/workspace-activity.service.d.ts +10 -0
  146. package/build/server/services/lsp/workspace-activity.service.js +76 -0
  147. package/build/server/services/lsp/workspace-activity.service.js.map +1 -0
  148. package/build/server/services/services.module.d.ts +1 -0
  149. package/build/server/services/services.module.js +19 -0
  150. package/build/server/services/services.module.js.map +1 -0
  151. package/build/server/services/stylelint-runtime/global-path-resolver.service.d.ts +38 -0
  152. package/build/server/services/stylelint-runtime/global-path-resolver.service.js +223 -0
  153. package/build/server/services/stylelint-runtime/global-path-resolver.service.js.map +1 -0
  154. package/build/server/services/stylelint-runtime/index.d.ts +11 -0
  155. package/build/server/services/stylelint-runtime/index.js +12 -0
  156. package/build/server/services/stylelint-runtime/index.js.map +1 -0
  157. package/build/server/services/stylelint-runtime/package-root-cache.service.d.ts +9 -0
  158. package/build/server/services/stylelint-runtime/package-root-cache.service.js +141 -0
  159. package/build/server/services/stylelint-runtime/package-root-cache.service.js.map +1 -0
  160. package/build/server/services/stylelint-runtime/package-root.service.d.ts +8 -0
  161. package/build/server/services/stylelint-runtime/package-root.service.js +119 -0
  162. package/build/server/services/stylelint-runtime/package-root.service.js.map +1 -0
  163. package/build/server/services/stylelint-runtime/pnp-configuration-cache.service.d.ts +16 -0
  164. package/build/server/services/stylelint-runtime/pnp-configuration-cache.service.js +195 -0
  165. package/build/server/services/stylelint-runtime/pnp-configuration-cache.service.js.map +1 -0
  166. package/build/server/services/stylelint-runtime/process-runner.service.d.ts +30 -0
  167. package/build/server/services/stylelint-runtime/process-runner.service.js +149 -0
  168. package/build/server/services/stylelint-runtime/process-runner.service.js.map +1 -0
  169. package/build/server/services/stylelint-runtime/stylelint-options.service.d.ts +12 -0
  170. package/build/server/services/stylelint-runtime/stylelint-options.service.js +185 -0
  171. package/build/server/services/stylelint-runtime/stylelint-options.service.js.map +1 -0
  172. package/build/server/services/stylelint-runtime/stylelint-runner.service.d.ts +42 -0
  173. package/build/server/services/stylelint-runtime/stylelint-runner.service.js +478 -0
  174. package/build/server/services/stylelint-runtime/stylelint-runner.service.js.map +1 -0
  175. package/build/server/services/stylelint-runtime/worker-environment.service.d.ts +17 -0
  176. package/build/server/services/stylelint-runtime/worker-environment.service.js +135 -0
  177. package/build/server/services/stylelint-runtime/worker-environment.service.js.map +1 -0
  178. package/build/server/services/stylelint-runtime/worker-process.service.d.ts +8 -0
  179. package/build/server/services/stylelint-runtime/worker-process.service.js +66 -0
  180. package/build/server/services/stylelint-runtime/worker-process.service.js.map +1 -0
  181. package/build/server/services/stylelint-runtime/worker-registry.service.d.ts +19 -0
  182. package/build/server/services/stylelint-runtime/worker-registry.service.js +289 -0
  183. package/build/server/services/stylelint-runtime/worker-registry.service.js.map +1 -0
  184. package/build/server/services/stylelint-runtime/workspace-stylelint.service.d.ts +37 -0
  185. package/build/server/services/stylelint-runtime/workspace-stylelint.service.js +185 -0
  186. package/build/server/services/stylelint-runtime/workspace-stylelint.service.js.map +1 -0
  187. package/build/server/services/workspace/index.d.ts +2 -0
  188. package/build/server/services/workspace/index.js +3 -0
  189. package/build/server/services/workspace/index.js.map +1 -0
  190. package/build/server/services/workspace/workspace-folder.service.d.ts +18 -0
  191. package/build/server/services/workspace/workspace-folder.service.js +101 -0
  192. package/build/server/services/workspace/workspace-folder.service.js.map +1 -0
  193. package/build/server/services/workspace/workspace-options.service.d.ts +12 -0
  194. package/build/server/services/workspace/workspace-options.service.js +125 -0
  195. package/build/server/services/workspace/workspace-options.service.js.map +1 -0
  196. package/build/server/stylelint/disable-metadata-lookup-table.d.ts +20 -0
  197. package/build/server/stylelint/disable-metadata-lookup-table.js +68 -0
  198. package/build/server/stylelint/disable-metadata-lookup-table.js.map +1 -0
  199. package/build/server/stylelint/formatting-options-to-rules.d.ts +12 -0
  200. package/build/server/stylelint/formatting-options-to-rules.js +19 -0
  201. package/build/server/stylelint/formatting-options-to-rules.js.map +1 -0
  202. package/build/server/stylelint/get-disable-diagnostic-rule.d.ts +7 -0
  203. package/build/server/stylelint/get-disable-diagnostic-rule.js +22 -0
  204. package/build/server/stylelint/get-disable-diagnostic-rule.js.map +1 -0
  205. package/build/server/stylelint/index.d.ts +7 -0
  206. package/build/server/stylelint/index.js +8 -0
  207. package/build/server/stylelint/index.js.map +1 -0
  208. package/build/server/stylelint/is-disable-report-rule.d.ts +6 -0
  209. package/build/server/stylelint/is-disable-report-rule.js +17 -0
  210. package/build/server/stylelint/is-disable-report-rule.js.map +1 -0
  211. package/build/server/stylelint/load-stylelint.d.ts +23 -0
  212. package/build/server/stylelint/load-stylelint.js +173 -0
  213. package/build/server/stylelint/load-stylelint.js.map +1 -0
  214. package/build/server/stylelint/process-linter-result.d.ts +32 -0
  215. package/build/server/stylelint/process-linter-result.js +129 -0
  216. package/build/server/stylelint/process-linter-result.js.map +1 -0
  217. package/build/server/stylelint/types.d.ts +143 -0
  218. package/build/server/stylelint/types.js +47 -0
  219. package/build/server/stylelint/types.js.map +1 -0
  220. package/build/server/stylelint/warning-to-diagnostic.d.ts +46 -0
  221. package/build/server/stylelint/warning-to-diagnostic.js +143 -0
  222. package/build/server/stylelint/warning-to-diagnostic.js.map +1 -0
  223. package/build/server/tokens.d.ts +20 -0
  224. package/build/server/tokens.js +16 -0
  225. package/build/server/tokens.js.map +1 -0
  226. package/build/server/types.d.ts +74 -0
  227. package/build/server/types.js +18 -0
  228. package/build/server/types.js.map +1 -0
  229. package/build/server/utils/documents/create-text-edits.d.ts +10 -0
  230. package/build/server/utils/documents/create-text-edits.js +31 -0
  231. package/build/server/utils/documents/create-text-edits.js.map +1 -0
  232. package/build/server/utils/documents/get-disable-type.d.ts +26 -0
  233. package/build/server/utils/documents/get-disable-type.js +32 -0
  234. package/build/server/utils/documents/get-disable-type.js.map +1 -0
  235. package/build/server/utils/documents/get-edit-info.d.ts +14 -0
  236. package/build/server/utils/documents/get-edit-info.js +31 -0
  237. package/build/server/utils/documents/get-edit-info.js.map +1 -0
  238. package/build/server/utils/documents/get-fixes.d.ts +12 -0
  239. package/build/server/utils/documents/get-fixes.js +18 -0
  240. package/build/server/utils/documents/get-fixes.js.map +1 -0
  241. package/build/server/utils/documents/index.d.ts +4 -0
  242. package/build/server/utils/documents/index.js +5 -0
  243. package/build/server/utils/documents/index.js.map +1 -0
  244. package/build/server/utils/errors.d.ts +10 -0
  245. package/build/server/utils/errors.js +89 -0
  246. package/build/server/utils/errors.js.map +1 -0
  247. package/build/server/utils/fs.d.ts +4 -0
  248. package/build/server/utils/fs.js +11 -0
  249. package/build/server/utils/fs.js.map +1 -0
  250. package/build/server/utils/functions/get-first-return-value.d.ts +11 -0
  251. package/build/server/utils/functions/get-first-return-value.js +28 -0
  252. package/build/server/utils/functions/get-first-return-value.js.map +1 -0
  253. package/build/server/utils/functions/index.d.ts +2 -0
  254. package/build/server/utils/functions/index.js +3 -0
  255. package/build/server/utils/functions/index.js.map +1 -0
  256. package/build/server/utils/functions/lazy-call.d.ts +12 -0
  257. package/build/server/utils/functions/lazy-call.js +33 -0
  258. package/build/server/utils/functions/lazy-call.js.map +1 -0
  259. package/build/server/utils/index.d.ts +11 -0
  260. package/build/server/utils/index.js +12 -0
  261. package/build/server/utils/index.js.map +1 -0
  262. package/build/server/utils/iterables.d.ts +8 -0
  263. package/build/server/utils/iterables.js +15 -0
  264. package/build/server/utils/iterables.js.map +1 -0
  265. package/build/server/utils/logging/error-formatter.d.ts +7 -0
  266. package/build/server/utils/logging/error-formatter.js +14 -0
  267. package/build/server/utils/logging/error-formatter.js.map +1 -0
  268. package/build/server/utils/logging/get-log-function.d.ts +8 -0
  269. package/build/server/utils/logging/get-log-function.js +11 -0
  270. package/build/server/utils/logging/get-log-function.js.map +1 -0
  271. package/build/server/utils/logging/index.d.ts +4 -0
  272. package/build/server/utils/logging/index.js +5 -0
  273. package/build/server/utils/logging/index.js.map +1 -0
  274. package/build/server/utils/logging/language-server-formatter.d.ts +19 -0
  275. package/build/server/utils/logging/language-server-formatter.js +55 -0
  276. package/build/server/utils/logging/language-server-formatter.js.map +1 -0
  277. package/build/server/utils/logging/language-server-transport.d.ts +19 -0
  278. package/build/server/utils/logging/language-server-transport.js +39 -0
  279. package/build/server/utils/logging/language-server-transport.js.map +1 -0
  280. package/build/server/utils/lsp/create-disable-completion-item.d.ts +7 -0
  281. package/build/server/utils/lsp/create-disable-completion-item.js +32 -0
  282. package/build/server/utils/lsp/create-disable-completion-item.js.map +1 -0
  283. package/build/server/utils/lsp/display-error.d.ts +7 -0
  284. package/build/server/utils/lsp/display-error.js +24 -0
  285. package/build/server/utils/lsp/display-error.js.map +1 -0
  286. package/build/server/utils/lsp/index.d.ts +4 -0
  287. package/build/server/utils/lsp/index.js +5 -0
  288. package/build/server/utils/lsp/index.js.map +1 -0
  289. package/build/server/utils/lsp/rule-code-actions-collection.d.ts +29 -0
  290. package/build/server/utils/lsp/rule-code-actions-collection.js +61 -0
  291. package/build/server/utils/lsp/rule-code-actions-collection.js.map +1 -0
  292. package/build/server/utils/lsp/types.d.ts +22 -0
  293. package/build/server/utils/lsp/types.js +2 -0
  294. package/build/server/utils/lsp/types.js.map +1 -0
  295. package/build/server/utils/objects/index.d.ts +3 -0
  296. package/build/server/utils/objects/index.js +4 -0
  297. package/build/server/utils/objects/index.js.map +1 -0
  298. package/build/server/utils/objects/is-object.d.ts +8 -0
  299. package/build/server/utils/objects/is-object.js +13 -0
  300. package/build/server/utils/objects/is-object.js.map +1 -0
  301. package/build/server/utils/objects/merge-assign.d.ts +8 -0
  302. package/build/server/utils/objects/merge-assign.js +38 -0
  303. package/build/server/utils/objects/merge-assign.js.map +1 -0
  304. package/build/server/utils/objects/merge-options-with-defaults.d.ts +5 -0
  305. package/build/server/utils/objects/merge-options-with-defaults.js +56 -0
  306. package/build/server/utils/objects/merge-options-with-defaults.js.map +1 -0
  307. package/build/server/utils/sets.d.ts +6 -0
  308. package/build/server/utils/sets.js +22 -0
  309. package/build/server/utils/sets.js.map +1 -0
  310. package/build/server/utils/strings.d.ts +12 -0
  311. package/build/server/utils/strings.js +20 -0
  312. package/build/server/utils/strings.js.map +1 -0
  313. package/build/server/utils/types.d.ts +27 -0
  314. package/build/server/utils/types.js +2 -0
  315. package/build/server/utils/types.js.map +1 -0
  316. package/build/server/worker/types.d.ts +63 -0
  317. package/build/server/worker/types.js +2 -0
  318. package/build/server/worker/types.js.map +1 -0
  319. package/build/server/worker/worker-entry.d.ts +1 -0
  320. package/build/server/worker/worker-entry.js +320 -0
  321. package/build/server/worker/worker-entry.js.map +1 -0
  322. package/build/server/worker/worker-logging.service.d.ts +18 -0
  323. package/build/server/worker/worker-logging.service.js +61 -0
  324. package/build/server/worker/worker-logging.service.js.map +1 -0
  325. package/build/server/worker/worker-process.d.ts +54 -0
  326. package/build/server/worker/worker-process.js +266 -0
  327. package/build/server/worker/worker-process.js.map +1 -0
  328. package/build/shared/log-level.d.ts +5 -0
  329. package/build/shared/log-level.js +11 -0
  330. package/build/shared/log-level.js.map +1 -0
  331. package/build/shared/types.d.ts +9 -0
  332. package/build/shared/types.js +3 -0
  333. package/build/shared/types.js.map +1 -0
  334. package/package.json +89 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-environment.service.js","sourceRoot":"","sources":["../../../../src/server/services/stylelint-runtime/worker-environment.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;IAc9D,wBAAwB;4BAHpC,MAAM,CAAC;YACP,MAAM,EAAE,CAAC,qBAAqB,EAAE,eAAe,EAAE,kBAAkB,CAAC;SACpE,CAAC;;;;;;;;YACF,6KAsGC;;;YAtGY,uDAAwB;;QAC3B,GAAG,CAAW;QACd,KAAK,CAAa;QAClB,mBAAmB,CAAqB;QAEjD,YAAY,QAAkB,EAAE,UAAsB,EAAE,kBAAsC;YAC7F,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC;YACpB,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;YACxB,IAAI,CAAC,mBAAmB,GAAG,kBAAkB,CAAC;QAC/C,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,KAA0B;YACzC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC7D,MAAM,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;YAC9F,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,qBAAqB,CAAC,CAAC;YAEtF,MAAM,CACL,WAAW,EACX,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,WAAW,EACX,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACrB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;gBAChE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;gBACrE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;gBAC7D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;gBAClE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;gBAC5D,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;gBACzF,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;gBACrF,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC1E,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS;aAClE,CAAC,CAAC;YAEH,OAAO;gBACN,QAAQ,cAAc,EAAE;gBACxB,OAAO,WAAW,IAAI,GAAG,EAAE;gBAC3B,WAAW,WAAW,IAAI,GAAG,EAAE;gBAC/B,YAAY,QAAQ,IAAI,GAAG,EAAE;gBAC7B,YAAY,QAAQ,IAAI,GAAG,EAAE;gBAC7B,WAAW,OAAO,IAAI,GAAG,EAAE;gBAC3B,OAAO,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;gBAC7C,eAAe,WAAW,IAAI,GAAG,EAAE;gBACnC,aAAa,SAAS,IAAI,GAAG,EAAE;gBAC/B,iBAAiB,qBAAqB,IAAI,GAAG,EAAE;gBAC/C,kBAAkB,cAAc,IAAI,GAAG,EAAE;gBACzC,gBAAgB,gBAAgB,IAAI,GAAG,EAAE;aACzC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,CAAC;QAED,KAAK,CAAC,yBAAyB,CAAC,aAAiC;YAChE,IAAI,CAAC,aAAa,EAAE,CAAC;gBACpB,OAAO,SAAS,CAAC;YAClB,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;YAC3D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAExE,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/E,CAAC;QAED,eAAe,CAAC,MAAc;YAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAE7C,IAAI,SAAS,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC;YAED,OAAO,MAAM,CAAC;QACf,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,QAAgB;YAChC,IAAI,CAAC;gBACJ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAE5C,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;oBACrB,OAAO,SAAS,CAAC;gBAClB,CAAC;gBAED,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACR,OAAO,SAAS,CAAC;YAClB,CAAC;QACF,CAAC;QAED,qBAAqB,CAAC,MAA0B,EAAE,IAAY;YAC7D,IAAI,CAAC,MAAM,EAAE,CAAC;gBACb,OAAO,SAAS,CAAC;YAClB,CAAC;YAED,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClF,CAAC;QAED,cAAc,CAAC,KAAa;YAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAElF,OAAO,eAAe,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC;QAC9C,CAAC;;;;SArGW,wBAAwB"}
@@ -0,0 +1,8 @@
1
+ import { PnPConfiguration } from '../../types.js';
2
+ import { StylelintWorkerProcess } from '../../worker/worker-process.js';
3
+ import { LoggingService } from '../infrastructure/logging.service.js';
4
+ export declare class WorkerProcessService {
5
+ #private;
6
+ constructor(loggingService: LoggingService);
7
+ createWorkerProcess(workerRoot: string, idleTimeoutMs?: number, pnpConfig?: PnPConfiguration): StylelintWorkerProcess;
8
+ }
@@ -0,0 +1,66 @@
1
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
+ var _, done = false;
7
+ for (var i = decorators.length - 1; i >= 0; i--) {
8
+ var context = {};
9
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
+ if (kind === "accessor") {
14
+ if (result === void 0) continue;
15
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
+ if (_ = accept(result.get)) descriptor.get = _;
17
+ if (_ = accept(result.set)) descriptor.set = _;
18
+ if (_ = accept(result.init)) initializers.unshift(_);
19
+ }
20
+ else if (_ = accept(result)) {
21
+ if (kind === "field") initializers.unshift(_);
22
+ else descriptor[key] = _;
23
+ }
24
+ }
25
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
+ done = true;
27
+ };
28
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
+ var useValue = arguments.length > 2;
30
+ for (var i = 0; i < initializers.length; i++) {
31
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
+ }
33
+ return useValue ? value : void 0;
34
+ };
35
+ import { inject } from '../../../di/index.js';
36
+ import { defaultWorkerIdleTimeoutMs, StylelintWorkerProcess } from '../../worker/worker-process.js';
37
+ import { loggingServiceToken } from '../infrastructure/logging.service.js';
38
+ let WorkerProcessService = (() => {
39
+ let _classDecorators = [inject({
40
+ inject: [loggingServiceToken],
41
+ })];
42
+ let _classDescriptor;
43
+ let _classExtraInitializers = [];
44
+ let _classThis;
45
+ var WorkerProcessService = class {
46
+ static { _classThis = this; }
47
+ static {
48
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
49
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
50
+ WorkerProcessService = _classThis = _classDescriptor.value;
51
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
52
+ __runInitializers(_classThis, _classExtraInitializers);
53
+ }
54
+ #logger;
55
+ constructor(loggingService) {
56
+ this.#logger = loggingService.createLogger(WorkerProcessService);
57
+ }
58
+ createWorkerProcess(workerRoot, idleTimeoutMs = defaultWorkerIdleTimeoutMs, pnpConfig) {
59
+ this.#logger.debug('Creating Stylelint worker process', { workerRoot });
60
+ return new StylelintWorkerProcess(workerRoot, this.#logger.child({ workerRoot }), idleTimeoutMs, pnpConfig);
61
+ }
62
+ };
63
+ return WorkerProcessService = _classThis;
64
+ })();
65
+ export { WorkerProcessService };
66
+ //# sourceMappingURL=worker-process.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-process.service.js","sourceRoot":"","sources":["../../../../src/server/services/stylelint-runtime/worker-process.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACpG,OAAO,EAAkB,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;IAK9E,oBAAoB;4BAHhC,MAAM,CAAC;YACP,MAAM,EAAE,CAAC,mBAAmB,CAAC;SAC7B,CAAC;;;;;;;;YACF,6KAqBC;;;YArBY,uDAAoB;;QAChC,OAAO,CAAiB;QAExB,YAAY,cAA8B;YACzC,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;QAClE,CAAC;QAED,mBAAmB,CAClB,UAAkB,EAClB,aAAa,GAAG,0BAA0B,EAC1C,SAA4B;YAE5B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YAExE,OAAO,IAAI,sBAAsB,CAChC,UAAU,EACV,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC,EAClC,aAAa,EACb,SAAS,CACT,CAAC;QACH,CAAC;;;;SApBW,oBAAoB"}
@@ -0,0 +1,19 @@
1
+ import type { PnPConfiguration } from '../../types.js';
2
+ import { StylelintWorkerProcess } from '../../worker/worker-process.js';
3
+ import { type LoggingService } from '../infrastructure/logging.service.js';
4
+ import { WorkerProcessService } from './worker-process.service.js';
5
+ export type WorkerContext = {
6
+ workspaceFolder: string;
7
+ workerRoot: string;
8
+ pnpConfig?: PnPConfiguration;
9
+ environmentKey?: string;
10
+ };
11
+ export declare class WorkerRegistryService {
12
+ #private;
13
+ constructor(loggingService: LoggingService, workerFactory: WorkerProcessService);
14
+ runWithWorker<T>(context: WorkerContext, executor: (worker: StylelintWorkerProcess) => Promise<T>): Promise<T>;
15
+ notifyWorkspaceActivity(workspaceFolder: string): void;
16
+ notifyFileActivity(filePath: string | undefined): void;
17
+ dispose(workspaceFolder: string): void;
18
+ disposeAll(): void;
19
+ }
@@ -0,0 +1,289 @@
1
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
+ var _, done = false;
7
+ for (var i = decorators.length - 1; i >= 0; i--) {
8
+ var context = {};
9
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
+ if (kind === "accessor") {
14
+ if (result === void 0) continue;
15
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
+ if (_ = accept(result.get)) descriptor.get = _;
17
+ if (_ = accept(result.set)) descriptor.set = _;
18
+ if (_ = accept(result.init)) initializers.unshift(_);
19
+ }
20
+ else if (_ = accept(result)) {
21
+ if (kind === "field") initializers.unshift(_);
22
+ else descriptor[key] = _;
23
+ }
24
+ }
25
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
+ done = true;
27
+ };
28
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
+ var useValue = arguments.length > 2;
30
+ for (var i = 0; i < initializers.length; i++) {
31
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
+ }
33
+ return useValue ? value : void 0;
34
+ };
35
+ import path from 'node:path';
36
+ import process from 'node:process';
37
+ import { inject } from '../../../di/index.js';
38
+ import { normalizeFsPath } from '../../utils/index.js';
39
+ import { StylelintWorkerCrashedError, StylelintWorkerUnavailableError, } from '../../worker/worker-process.js';
40
+ import { loggingServiceToken } from '../infrastructure/logging.service.js';
41
+ import { resolvePnPConfigKey } from './pnp-configuration-cache.service.js';
42
+ import { WorkerProcessService } from './worker-process.service.js';
43
+ const maxConsecutiveCrashes = 3;
44
+ const workerRecoveryCooldownMs = 30 * 1000;
45
+ const suppressionNotificationIntervalMs = 60 * 1000;
46
+ const resolvePathKey = (folderPath) => {
47
+ const normalized = normalizeFsPath(folderPath);
48
+ return normalized ?? path.resolve(folderPath);
49
+ };
50
+ let WorkerRegistryService = (() => {
51
+ let _classDecorators = [inject({
52
+ inject: [loggingServiceToken, WorkerProcessService],
53
+ })];
54
+ let _classDescriptor;
55
+ let _classExtraInitializers = [];
56
+ let _classThis;
57
+ var WorkerRegistryService = class {
58
+ static { _classThis = this; }
59
+ static {
60
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
61
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
62
+ WorkerRegistryService = _classThis = _classDescriptor.value;
63
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
64
+ __runInitializers(_classThis, _classExtraInitializers);
65
+ }
66
+ #logger;
67
+ #idleTimeoutMs;
68
+ #workers = new Map();
69
+ #workerProcessFactory;
70
+ constructor(loggingService, workerFactory) {
71
+ this.#logger = loggingService.createLogger(WorkerRegistryService);
72
+ this.#workerProcessFactory = workerFactory;
73
+ }
74
+ async runWithWorker(context, executor) {
75
+ const record = this.#getWorker(context);
76
+ const suppressedError = this.#maybeCreateSuppressedError(context.workspaceFolder, context.workerRoot, record.state);
77
+ if (suppressedError) {
78
+ throw suppressedError;
79
+ }
80
+ try {
81
+ const result = await executor(record.process);
82
+ this.#markWorkerHealthy(record.state);
83
+ return result;
84
+ }
85
+ catch (error) {
86
+ if (error instanceof StylelintWorkerCrashedError) {
87
+ throw this.#handleWorkerCrash(context.workspaceFolder, context.workerRoot, record.state, error);
88
+ }
89
+ throw error;
90
+ }
91
+ }
92
+ notifyWorkspaceActivity(workspaceFolder) {
93
+ const workspaceKey = resolvePathKey(workspaceFolder);
94
+ this.#resetWorkspaceWorkers(workspaceKey);
95
+ }
96
+ notifyFileActivity(filePath) {
97
+ const normalized = normalizeFsPath(filePath);
98
+ if (!normalized) {
99
+ return;
100
+ }
101
+ const absolute = path.isAbsolute(normalized) ? normalized : path.resolve(normalized);
102
+ for (const workspaceKey of this.#workers.keys()) {
103
+ if (this.#pathWithinWorkspace(workspaceKey, absolute)) {
104
+ this.#resetWorkspaceWorkers(workspaceKey);
105
+ }
106
+ }
107
+ }
108
+ dispose(workspaceFolder) {
109
+ const workspaceKey = resolvePathKey(workspaceFolder);
110
+ const workers = this.#workers.get(workspaceKey);
111
+ if (!workers) {
112
+ return;
113
+ }
114
+ for (const packageWorkers of workers.values()) {
115
+ for (const record of packageWorkers.values()) {
116
+ record.process.dispose();
117
+ }
118
+ }
119
+ this.#workers.delete(workspaceKey);
120
+ }
121
+ disposeAll() {
122
+ for (const workers of this.#workers.values()) {
123
+ for (const packageWorkers of workers.values()) {
124
+ for (const record of packageWorkers.values()) {
125
+ record.process.dispose();
126
+ }
127
+ }
128
+ }
129
+ this.#workers.clear();
130
+ }
131
+ #getWorker(context) {
132
+ const workspaceKey = resolvePathKey(context.workspaceFolder);
133
+ let workspaceWorkers = this.#workers.get(workspaceKey);
134
+ if (!workspaceWorkers) {
135
+ workspaceWorkers = new Map();
136
+ this.#workers.set(workspaceKey, workspaceWorkers);
137
+ }
138
+ const packageKey = resolvePathKey(context.workerRoot);
139
+ let packageWorkers = workspaceWorkers.get(packageKey);
140
+ if (!packageWorkers) {
141
+ packageWorkers = new Map();
142
+ workspaceWorkers.set(packageKey, packageWorkers);
143
+ }
144
+ const pnpKey = resolvePnPConfigKey(context.pnpConfig);
145
+ const existing = packageWorkers.get(pnpKey);
146
+ if (existing) {
147
+ if (existing.process.isDisposed()) {
148
+ existing.process.dispose();
149
+ const replacement = this.#createWorkerRecord(context);
150
+ packageWorkers.set(pnpKey, replacement);
151
+ return replacement;
152
+ }
153
+ if (context.environmentKey &&
154
+ existing.environmentKey &&
155
+ existing.environmentKey !== context.environmentKey) {
156
+ existing.process.dispose();
157
+ const replacement = this.#createWorkerRecord(context);
158
+ packageWorkers.set(pnpKey, replacement);
159
+ return replacement;
160
+ }
161
+ if (context.environmentKey && !existing.environmentKey) {
162
+ existing.environmentKey = context.environmentKey;
163
+ }
164
+ return existing;
165
+ }
166
+ const record = this.#createWorkerRecord(context);
167
+ packageWorkers.set(pnpKey, record);
168
+ return record;
169
+ }
170
+ #createWorkerRecord(context) {
171
+ const worker = this.#workerProcessFactory.createWorkerProcess(context.workerRoot, this.#idleTimeoutMs, context.pnpConfig);
172
+ return {
173
+ process: worker,
174
+ environmentKey: context.environmentKey,
175
+ state: {
176
+ consecutiveCrashes: 0,
177
+ },
178
+ };
179
+ }
180
+ #markWorkerHealthy(state) {
181
+ if (state.consecutiveCrashes === 0 &&
182
+ state.cooldownExpiresAt === undefined &&
183
+ state.lastCrashError === undefined) {
184
+ return;
185
+ }
186
+ state.consecutiveCrashes = 0;
187
+ state.cooldownExpiresAt = undefined;
188
+ state.lastCrashError = undefined;
189
+ state.lastNotificationAt = undefined;
190
+ }
191
+ #handleWorkerCrash(workspaceFolder, workerRoot, state, error) {
192
+ state.consecutiveCrashes += 1;
193
+ state.lastCrashError = error;
194
+ if (state.consecutiveCrashes < maxConsecutiveCrashes) {
195
+ return error;
196
+ }
197
+ const now = Date.now();
198
+ if (!state.cooldownExpiresAt || now >= state.cooldownExpiresAt) {
199
+ state.cooldownExpiresAt = now + workerRecoveryCooldownMs;
200
+ state.lastNotificationAt = undefined;
201
+ this.#logger?.warn('Stylelint worker entered cooldown after repeated crashes', {
202
+ workspaceFolder,
203
+ packageRoot: workerRoot,
204
+ consecutiveCrashes: state.consecutiveCrashes,
205
+ });
206
+ }
207
+ return this.#buildUnavailableError(workspaceFolder, workerRoot, state, now);
208
+ }
209
+ #maybeCreateSuppressedError(workspaceFolder, workerRoot, state) {
210
+ const cooldown = state.cooldownExpiresAt;
211
+ if (!cooldown) {
212
+ return undefined;
213
+ }
214
+ const now = Date.now();
215
+ if (now >= cooldown) {
216
+ state.cooldownExpiresAt = undefined;
217
+ state.consecutiveCrashes = 0;
218
+ state.lastNotificationAt = undefined;
219
+ return undefined;
220
+ }
221
+ return this.#buildUnavailableError(workspaceFolder, workerRoot, state, now);
222
+ }
223
+ #buildUnavailableError(workspaceFolder, workerRoot, state, now) {
224
+ const retryInMs = Math.max(0, (state.cooldownExpiresAt ?? now) - now);
225
+ const notifyUser = this.#shouldNotifySuppression(state, now);
226
+ return new StylelintWorkerUnavailableError({
227
+ workspaceFolder,
228
+ packageRoot: workerRoot,
229
+ retryInMs,
230
+ notifyUser,
231
+ lastCrashError: state.lastCrashError,
232
+ });
233
+ }
234
+ #shouldNotifySuppression(state, now) {
235
+ if (!state.lastNotificationAt) {
236
+ state.lastNotificationAt = now;
237
+ return true;
238
+ }
239
+ if (now - state.lastNotificationAt >= suppressionNotificationIntervalMs) {
240
+ state.lastNotificationAt = now;
241
+ return true;
242
+ }
243
+ return false;
244
+ }
245
+ #resetWorkspaceWorkers(workspaceKey) {
246
+ const workers = this.#workers.get(workspaceKey);
247
+ if (!workers) {
248
+ return;
249
+ }
250
+ for (const [packageKey, packageWorkers] of workers.entries()) {
251
+ for (const [pnpKey, record] of packageWorkers.entries()) {
252
+ if (this.#releaseSuppressedWorker(record.state)) {
253
+ this.#logger?.debug('Resetting Stylelint worker after workspace activity', {
254
+ workspaceFolder: workspaceKey,
255
+ packageRoot: packageKey,
256
+ pnpKey,
257
+ });
258
+ }
259
+ }
260
+ }
261
+ }
262
+ #releaseSuppressedWorker(state) {
263
+ if (!state.cooldownExpiresAt) {
264
+ return false;
265
+ }
266
+ state.cooldownExpiresAt = undefined;
267
+ state.consecutiveCrashes = 0;
268
+ state.lastNotificationAt = undefined;
269
+ return true;
270
+ }
271
+ #pathWithinWorkspace(workspaceKey, targetPath) {
272
+ const normalizedTarget = normalizeFsPath(path.resolve(targetPath));
273
+ if (!normalizedTarget) {
274
+ return false;
275
+ }
276
+ const normalizedWorkspace = normalizeFsPath(workspaceKey) ?? workspaceKey;
277
+ const normalizeValue = (value) => process.platform === 'win32' ? value.toLowerCase() : value;
278
+ const comparableWorkspace = normalizeValue(normalizedWorkspace);
279
+ const comparableTarget = normalizeValue(normalizedTarget);
280
+ if (comparableTarget === comparableWorkspace) {
281
+ return true;
282
+ }
283
+ return comparableTarget.startsWith(`${comparableWorkspace}${path.sep}`);
284
+ }
285
+ };
286
+ return WorkerRegistryService = _classThis;
287
+ })();
288
+ export { WorkerRegistryService };
289
+ //# sourceMappingURL=worker-registry.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-registry.service.js","sourceRoot":"","sources":["../../../../src/server/services/stylelint-runtime/worker-registry.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type stylelint from 'stylelint';
2
+ import type { RunnerOptions } from '../../stylelint/types.js';
3
+ import type { WorkerLintResult, WorkerResolveConfigResult, WorkerResolveResult } from '../../worker/types.js';
4
+ import { type LoggingService } from '../infrastructure/logging.service.js';
5
+ import { PackageRootCacheService } from './package-root-cache.service.js';
6
+ import { PnPConfigurationCacheService } from './pnp-configuration-cache.service.js';
7
+ import { WorkerEnvironmentService } from './worker-environment.service.js';
8
+ import { WorkerRegistryService } from './worker-registry.service.js';
9
+ export type WorkspaceLintRequest = {
10
+ workspaceFolder: string;
11
+ options: stylelint.LinterOptions;
12
+ stylelintPath?: string;
13
+ runnerOptions: RunnerOptions;
14
+ };
15
+ export type WorkspaceResolveRequest = {
16
+ workspaceFolder: string;
17
+ stylelintPath?: string;
18
+ codeFilename?: string;
19
+ runnerOptions?: RunnerOptions;
20
+ };
21
+ export type WorkspaceResolveConfigRequest = {
22
+ workspaceFolder: string;
23
+ filePath: string;
24
+ stylelintPath?: string;
25
+ runnerOptions?: RunnerOptions;
26
+ };
27
+ export declare class WorkspaceStylelintService {
28
+ #private;
29
+ constructor(loggingService: LoggingService, packageRootCache: PackageRootCacheService, pnpConfigurationCache: PnPConfigurationCacheService, workerEnvironment: WorkerEnvironmentService, workerRegistry: WorkerRegistryService);
30
+ lint(request: WorkspaceLintRequest): Promise<WorkerLintResult | undefined>;
31
+ resolve(request: WorkspaceResolveRequest): Promise<WorkerResolveResult | undefined>;
32
+ resolveConfig(request: WorkspaceResolveConfigRequest): Promise<WorkerResolveConfigResult | undefined>;
33
+ dispose(workspaceFolder: string): void;
34
+ disposeAll(): void;
35
+ notifyWorkspaceActivity(workspaceFolder: string): void;
36
+ notifyFileActivity(filePath: string | undefined): void;
37
+ }
@@ -0,0 +1,185 @@
1
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
+ var _, done = false;
7
+ for (var i = decorators.length - 1; i >= 0; i--) {
8
+ var context = {};
9
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
+ if (kind === "accessor") {
14
+ if (result === void 0) continue;
15
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
+ if (_ = accept(result.get)) descriptor.get = _;
17
+ if (_ = accept(result.set)) descriptor.set = _;
18
+ if (_ = accept(result.init)) initializers.unshift(_);
19
+ }
20
+ else if (_ = accept(result)) {
21
+ if (kind === "field") initializers.unshift(_);
22
+ else descriptor[key] = _;
23
+ }
24
+ }
25
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
+ done = true;
27
+ };
28
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
+ var useValue = arguments.length > 2;
30
+ for (var i = 0; i < initializers.length; i++) {
31
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
+ }
33
+ return useValue ? value : void 0;
34
+ };
35
+ import { inject } from '../../../di/index.js';
36
+ import { StylelintNotFoundError } from '../../worker/worker-process.js';
37
+ import { loggingServiceToken } from '../infrastructure/logging.service.js';
38
+ import { PackageRootCacheService } from './package-root-cache.service.js';
39
+ import { PnPConfigurationCacheService } from './pnp-configuration-cache.service.js';
40
+ import { WorkerEnvironmentService } from './worker-environment.service.js';
41
+ import { WorkerRegistryService } from './worker-registry.service.js';
42
+ let WorkspaceStylelintService = (() => {
43
+ let _classDecorators = [inject({
44
+ inject: [
45
+ loggingServiceToken,
46
+ PackageRootCacheService,
47
+ PnPConfigurationCacheService,
48
+ WorkerEnvironmentService,
49
+ WorkerRegistryService,
50
+ ],
51
+ })];
52
+ let _classDescriptor;
53
+ let _classExtraInitializers = [];
54
+ let _classThis;
55
+ var WorkspaceStylelintService = class {
56
+ static { _classThis = this; }
57
+ static {
58
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
59
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
60
+ WorkspaceStylelintService = _classThis = _classDescriptor.value;
61
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
62
+ __runInitializers(_classThis, _classExtraInitializers);
63
+ }
64
+ #logger;
65
+ #packageRootCache;
66
+ #pnpConfigurationCache;
67
+ #workerEnvironment;
68
+ #workerRegistry;
69
+ constructor(loggingService, packageRootCache, pnpConfigurationCache, workerEnvironment, workerRegistry) {
70
+ this.#logger = loggingService.createLogger(WorkspaceStylelintService);
71
+ this.#packageRootCache = packageRootCache;
72
+ this.#pnpConfigurationCache = pnpConfigurationCache;
73
+ this.#workerEnvironment = workerEnvironment;
74
+ this.#workerRegistry = workerRegistry;
75
+ }
76
+ async lint(request) {
77
+ const pnpConfig = await this.#pnpConfigurationCache.findConfiguration(request.options.codeFilename);
78
+ const workerRoot = await this.#packageRootCache.determineWorkerRoot(request.workspaceFolder, request.options.codeFilename, request.stylelintPath);
79
+ const environmentKey = await this.#workerEnvironment.createKey({
80
+ workerRoot,
81
+ stylelintPath: request.stylelintPath,
82
+ pnpConfig,
83
+ });
84
+ try {
85
+ return await this.#workerRegistry.runWithWorker({
86
+ workspaceFolder: request.workspaceFolder,
87
+ workerRoot,
88
+ pnpConfig,
89
+ environmentKey,
90
+ }, async (worker) => await worker.lint({
91
+ options: request.options,
92
+ stylelintPath: request.stylelintPath,
93
+ runnerOptions: request.runnerOptions,
94
+ }));
95
+ }
96
+ catch (error) {
97
+ if (error instanceof StylelintNotFoundError) {
98
+ this.#logger?.debug('Workspace Stylelint not found', {
99
+ workspaceFolder: request.workspaceFolder,
100
+ });
101
+ }
102
+ throw error;
103
+ }
104
+ }
105
+ async resolve(request) {
106
+ const pnpConfig = await this.#pnpConfigurationCache.findConfiguration(request.codeFilename);
107
+ const workerRoot = await this.#packageRootCache.determineWorkerRoot(request.workspaceFolder, request.codeFilename, request.stylelintPath);
108
+ const environmentKey = await this.#workerEnvironment.createKey({
109
+ workerRoot,
110
+ stylelintPath: request.stylelintPath,
111
+ pnpConfig,
112
+ });
113
+ try {
114
+ return await this.#workerRegistry.runWithWorker({
115
+ workspaceFolder: request.workspaceFolder,
116
+ workerRoot,
117
+ pnpConfig,
118
+ environmentKey,
119
+ }, async (worker) => await worker.resolve({
120
+ stylelintPath: request.stylelintPath,
121
+ codeFilename: request.codeFilename,
122
+ runnerOptions: request.runnerOptions,
123
+ }));
124
+ }
125
+ catch (error) {
126
+ if (error instanceof StylelintNotFoundError) {
127
+ this.#logger?.debug('Workspace Stylelint not found during resolve', {
128
+ workspaceFolder: request.workspaceFolder,
129
+ });
130
+ }
131
+ throw error;
132
+ }
133
+ }
134
+ async resolveConfig(request) {
135
+ const pnpConfig = await this.#pnpConfigurationCache.findConfiguration(request.filePath);
136
+ const workerRoot = await this.#packageRootCache.determineWorkerRoot(request.workspaceFolder, request.filePath, request.stylelintPath);
137
+ const environmentKey = await this.#workerEnvironment.createKey({
138
+ workerRoot,
139
+ stylelintPath: request.stylelintPath,
140
+ pnpConfig,
141
+ });
142
+ try {
143
+ return await this.#workerRegistry.runWithWorker({
144
+ workspaceFolder: request.workspaceFolder,
145
+ workerRoot,
146
+ pnpConfig,
147
+ environmentKey,
148
+ }, async (worker) => await worker.resolveConfig({
149
+ filePath: request.filePath,
150
+ stylelintPath: request.stylelintPath,
151
+ runnerOptions: request.runnerOptions,
152
+ }));
153
+ }
154
+ catch (error) {
155
+ if (error instanceof StylelintNotFoundError) {
156
+ this.#logger?.debug('Workspace Stylelint not found during resolveConfig', {
157
+ workspaceFolder: request.workspaceFolder,
158
+ });
159
+ }
160
+ throw error;
161
+ }
162
+ }
163
+ dispose(workspaceFolder) {
164
+ this.#workerRegistry.dispose(workspaceFolder);
165
+ this.#packageRootCache.clearForWorkspace(workspaceFolder);
166
+ this.#pnpConfigurationCache.clearForWorkspace(workspaceFolder);
167
+ }
168
+ disposeAll() {
169
+ this.#workerRegistry.disposeAll();
170
+ this.#packageRootCache.clear();
171
+ this.#pnpConfigurationCache.clear();
172
+ }
173
+ notifyWorkspaceActivity(workspaceFolder) {
174
+ this.#workerRegistry.notifyWorkspaceActivity(workspaceFolder);
175
+ }
176
+ notifyFileActivity(filePath) {
177
+ this.#workerRegistry.notifyFileActivity(filePath);
178
+ this.#packageRootCache.invalidateForFile(filePath);
179
+ this.#pnpConfigurationCache.invalidateForFile(filePath);
180
+ }
181
+ };
182
+ return WorkspaceStylelintService = _classThis;
183
+ })();
184
+ export { WorkspaceStylelintService };
185
+ //# sourceMappingURL=workspace-stylelint.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-stylelint.service.js","sourceRoot":"","sources":["../../../../src/server/services/stylelint-runtime/workspace-stylelint.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './workspace-folder.service.js';
2
+ export * from './workspace-options.service.js';