repoburg 1.3.87 → 1.3.88

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 (544) hide show
  1. package/backend/.env +20 -0
  2. package/backend/.repoburg/hooks/README.md +53 -0
  3. package/backend/.repoburg/hooks/eslint-hook.ts +46 -0
  4. package/backend/.repoburg/hooks/example-hook.ts +62 -0
  5. package/backend/dist/src/ai-actions/ai-actions.controller.js +67 -0
  6. package/backend/dist/src/ai-actions/ai-actions.controller.js.map +1 -1
  7. package/backend/dist/src/application-state/application-state.controller.js +123 -0
  8. package/backend/dist/src/application-state/application-state.controller.js.map +1 -1
  9. package/backend/dist/src/application-state/dto/set-alibaba-config.dto.js +2 -0
  10. package/backend/dist/src/application-state/dto/set-alibaba-config.dto.js.map +1 -1
  11. package/backend/dist/src/application-state/dto/set-auto-context-fetch-enabled.dto.js +4 -0
  12. package/backend/dist/src/application-state/dto/set-auto-context-fetch-enabled.dto.js.map +1 -1
  13. package/backend/dist/src/application-state/dto/set-auto-send-to-ai-studio-enabled.dto.js +2 -0
  14. package/backend/dist/src/application-state/dto/set-auto-send-to-ai-studio-enabled.dto.js.map +1 -1
  15. package/backend/dist/src/application-state/dto/set-context-token-limit.dto.js +6 -0
  16. package/backend/dist/src/application-state/dto/set-context-token-limit.dto.js.map +1 -1
  17. package/backend/dist/src/application-state/dto/set-execution-strategy.dto.js +6 -0
  18. package/backend/dist/src/application-state/dto/set-execution-strategy.dto.js.map +1 -1
  19. package/backend/dist/src/application-state/dto/set-followup-token-limit.dto.js +5 -0
  20. package/backend/dist/src/application-state/dto/set-followup-token-limit.dto.js.map +1 -1
  21. package/backend/dist/src/application-state/dto/set-history-compression-enabled.dto.js +4 -0
  22. package/backend/dist/src/application-state/dto/set-history-compression-enabled.dto.js.map +1 -1
  23. package/backend/dist/src/application-state/dto/set-llm-retry-enabled.dto.js +4 -0
  24. package/backend/dist/src/application-state/dto/set-llm-retry-enabled.dto.js.map +1 -1
  25. package/backend/dist/src/application-state/dto/set-llm-retry-max-attempts.dto.js +6 -0
  26. package/backend/dist/src/application-state/dto/set-llm-retry-max-attempts.dto.js.map +1 -1
  27. package/backend/dist/src/application-state/dto/set-manual-llm-enabled.dto.js +4 -0
  28. package/backend/dist/src/application-state/dto/set-manual-llm-enabled.dto.js.map +1 -1
  29. package/backend/dist/src/application-state/dto/set-openrouter-config.dto.js +2 -0
  30. package/backend/dist/src/application-state/dto/set-openrouter-config.dto.js.map +1 -1
  31. package/backend/dist/src/application-state/dto/set-streaming-enabled.dto.js +2 -0
  32. package/backend/dist/src/application-state/dto/set-streaming-enabled.dto.js.map +1 -1
  33. package/backend/dist/src/application-state/dto/set-syntax-validation-enabled.dto.js +4 -0
  34. package/backend/dist/src/application-state/dto/set-syntax-validation-enabled.dto.js.map +1 -1
  35. package/backend/dist/src/application-state/dto/set-theme.dto.js +6 -0
  36. package/backend/dist/src/application-state/dto/set-theme.dto.js.map +1 -1
  37. package/backend/dist/src/application-state/dto/set-tools-enabled.dto.js +4 -0
  38. package/backend/dist/src/application-state/dto/set-tools-enabled.dto.js.map +1 -1
  39. package/backend/dist/src/application-state/dto/set-websocket-enabled.dto.js +2 -0
  40. package/backend/dist/src/application-state/dto/set-websocket-enabled.dto.js.map +1 -1
  41. package/backend/dist/src/application-state/dto/set-yolo-mode-message.dto.js +5 -0
  42. package/backend/dist/src/application-state/dto/set-yolo-mode-message.dto.js.map +1 -1
  43. package/backend/dist/src/application-state/dto/set-yolo-mode.dto.js +4 -0
  44. package/backend/dist/src/application-state/dto/set-yolo-mode.dto.js.map +1 -1
  45. package/backend/dist/src/application-state/dto/set-zai-config.dto.js +2 -0
  46. package/backend/dist/src/application-state/dto/set-zai-config.dto.js.map +1 -1
  47. package/backend/dist/src/context-snippets/context-snippets.controller.js +38 -0
  48. package/backend/dist/src/context-snippets/context-snippets.controller.js.map +1 -1
  49. package/backend/dist/src/context-templates/context-templates.controller.js +104 -0
  50. package/backend/dist/src/context-templates/context-templates.controller.js.map +1 -1
  51. package/backend/dist/src/context-templates/dto/context-template.dto.d.ts +1 -1
  52. package/backend/dist/src/context-templates/dto/context-template.dto.js +44 -1
  53. package/backend/dist/src/context-templates/dto/context-template.dto.js.map +1 -1
  54. package/backend/dist/src/core-entities/ai-action.entity.js +73 -0
  55. package/backend/dist/src/core-entities/ai-action.entity.js.map +1 -1
  56. package/backend/dist/src/core-entities/base.entity.js +18 -0
  57. package/backend/dist/src/core-entities/base.entity.js.map +1 -1
  58. package/backend/dist/src/core-entities/context-snippet.entity.js +12 -0
  59. package/backend/dist/src/core-entities/context-snippet.entity.js.map +1 -1
  60. package/backend/dist/src/core-entities/context-template.entity.d.ts +2 -4
  61. package/backend/dist/src/core-entities/context-template.entity.js +50 -7
  62. package/backend/dist/src/core-entities/context-template.entity.js.map +1 -1
  63. package/backend/dist/src/core-entities/custom-snippet.entity.js +16 -0
  64. package/backend/dist/src/core-entities/custom-snippet.entity.js.map +1 -1
  65. package/backend/dist/src/core-entities/custom-variable.entity.js +24 -0
  66. package/backend/dist/src/core-entities/custom-variable.entity.js.map +1 -1
  67. package/backend/dist/src/core-entities/enums.d.ts +64 -0
  68. package/backend/dist/src/core-entities/enums.js +77 -0
  69. package/backend/dist/src/core-entities/enums.js.map +1 -0
  70. package/backend/dist/src/core-entities/execution-log.entity.js +15 -0
  71. package/backend/dist/src/core-entities/execution-log.entity.js.map +1 -1
  72. package/backend/dist/src/core-entities/index.d.ts +1 -2
  73. package/backend/dist/src/core-entities/index.js +1 -2
  74. package/backend/dist/src/core-entities/index.js.map +1 -1
  75. package/backend/dist/src/core-entities/llm-call-log.entity.js +43 -0
  76. package/backend/dist/src/core-entities/llm-call-log.entity.js.map +1 -1
  77. package/backend/dist/src/core-entities/mcp-config.entity.js +27 -0
  78. package/backend/dist/src/core-entities/mcp-config.entity.js.map +1 -1
  79. package/backend/dist/src/core-entities/mcp-tool.entity.js +26 -0
  80. package/backend/dist/src/core-entities/mcp-tool.entity.js.map +1 -1
  81. package/backend/dist/src/core-entities/project.entity.js +13 -0
  82. package/backend/dist/src/core-entities/project.entity.js.map +1 -1
  83. package/backend/dist/src/core-entities/session-input.entity.js +94 -0
  84. package/backend/dist/src/core-entities/session-input.entity.js.map +1 -1
  85. package/backend/dist/src/core-entities/session.entity.d.ts +1 -1
  86. package/backend/dist/src/core-entities/session.entity.js +96 -1
  87. package/backend/dist/src/core-entities/session.entity.js.map +1 -1
  88. package/backend/dist/src/core-entities/system-prompt.entity.js +29 -0
  89. package/backend/dist/src/core-entities/system-prompt.entity.js.map +1 -1
  90. package/backend/dist/src/core-entities/tool-hook.entity.js +21 -0
  91. package/backend/dist/src/core-entities/tool-hook.entity.js.map +1 -1
  92. package/backend/dist/src/custom-snippets/custom-snippets.controller.js +48 -0
  93. package/backend/dist/src/custom-snippets/custom-snippets.controller.js.map +1 -1
  94. package/backend/dist/src/custom-variables/custom-variables.controller.js +46 -0
  95. package/backend/dist/src/custom-variables/custom-variables.controller.js.map +1 -1
  96. package/backend/dist/src/global-config/global-config.controller.js +12 -0
  97. package/backend/dist/src/global-config/global-config.controller.js.map +1 -1
  98. package/backend/dist/src/interactive-chat/streaming.controller.js +38 -0
  99. package/backend/dist/src/interactive-chat/streaming.controller.js.map +1 -1
  100. package/backend/dist/src/llm-call-logs/llm-call-logs.controller.js +96 -0
  101. package/backend/dist/src/llm-call-logs/llm-call-logs.controller.js.map +1 -1
  102. package/backend/dist/src/llm-provider/llm-provider.controller.js +18 -0
  103. package/backend/dist/src/llm-provider/llm-provider.controller.js.map +1 -1
  104. package/backend/dist/src/llm-provider/zai-llm.provider.js +0 -1
  105. package/backend/dist/src/llm-provider/zai-llm.provider.js.map +1 -1
  106. package/backend/dist/src/llm-responses/dto/submit-llm-response.dto.js +45 -0
  107. package/backend/dist/src/llm-responses/dto/submit-llm-response.dto.js.map +1 -1
  108. package/backend/dist/src/llm-responses/dto/sync-conversation.dto.js +24 -0
  109. package/backend/dist/src/llm-responses/dto/sync-conversation.dto.js.map +1 -1
  110. package/backend/dist/src/llm-responses/llm-responses.controller.js +32 -0
  111. package/backend/dist/src/llm-responses/llm-responses.controller.js.map +1 -1
  112. package/backend/dist/src/main.js +9 -0
  113. package/backend/dist/src/main.js.map +1 -1
  114. package/backend/dist/src/mcp/dto/batch-update-mcp-tools.dto.js +8 -0
  115. package/backend/dist/src/mcp/dto/batch-update-mcp-tools.dto.js.map +1 -1
  116. package/backend/dist/src/mcp/dto/create-mcp-config.dto.js +5 -0
  117. package/backend/dist/src/mcp/dto/create-mcp-config.dto.js.map +1 -1
  118. package/backend/dist/src/mcp/dto/update-mcp-config.dto.js +2 -0
  119. package/backend/dist/src/mcp/dto/update-mcp-config.dto.js.map +1 -1
  120. package/backend/dist/src/mcp/mcp.controller.js +21 -0
  121. package/backend/dist/src/mcp/mcp.controller.js.map +1 -1
  122. package/backend/dist/src/projects/dto/project.dto.js +14 -0
  123. package/backend/dist/src/projects/dto/project.dto.js.map +1 -1
  124. package/backend/dist/src/projects/projects.controller.js +31 -0
  125. package/backend/dist/src/projects/projects.controller.js.map +1 -1
  126. package/backend/dist/src/session-inputs/dto/session-input.dto.d.ts +12 -1
  127. package/backend/dist/src/session-inputs/dto/session-input.dto.js +103 -1
  128. package/backend/dist/src/session-inputs/dto/session-input.dto.js.map +1 -1
  129. package/backend/dist/src/session-inputs/session-input.subscriber.js.map +1 -1
  130. package/backend/dist/src/session-inputs/session-inputs.controller.d.ts +2 -1
  131. package/backend/dist/src/session-inputs/session-inputs.controller.js +84 -0
  132. package/backend/dist/src/session-inputs/session-inputs.controller.js.map +1 -1
  133. package/backend/dist/src/session-inputs/session-inputs.module.js +1 -0
  134. package/backend/dist/src/session-inputs/session-inputs.module.js.map +1 -1
  135. package/backend/dist/src/session-inputs/session-inputs.service.d.ts +7 -3
  136. package/backend/dist/src/session-inputs/session-inputs.service.js +51 -4
  137. package/backend/dist/src/session-inputs/session-inputs.service.js.map +1 -1
  138. package/backend/dist/src/sessions/dto/session.dto.js +91 -0
  139. package/backend/dist/src/sessions/dto/session.dto.js.map +1 -1
  140. package/backend/dist/src/sessions/sessions.controller.js +112 -0
  141. package/backend/dist/src/sessions/sessions.controller.js.map +1 -1
  142. package/backend/dist/src/sub-agents/dto/create-sub-agent.dto.js +26 -0
  143. package/backend/dist/src/sub-agents/dto/create-sub-agent.dto.js.map +1 -1
  144. package/backend/dist/src/sub-agents/dto/update-sub-agent.dto.js +22 -0
  145. package/backend/dist/src/sub-agents/dto/update-sub-agent.dto.js.map +1 -1
  146. package/backend/dist/src/sub-agents/sub-agent-run.entity.d.ts +2 -7
  147. package/backend/dist/src/sub-agents/sub-agent-run.entity.js +63 -9
  148. package/backend/dist/src/sub-agents/sub-agent-run.entity.js.map +1 -1
  149. package/backend/dist/src/sub-agents/sub-agent-runs.controller.js +63 -0
  150. package/backend/dist/src/sub-agents/sub-agent-runs.controller.js.map +1 -1
  151. package/backend/dist/src/sub-agents/sub-agent.entity.js +47 -0
  152. package/backend/dist/src/sub-agents/sub-agent.entity.js.map +1 -1
  153. package/backend/dist/src/sub-agents/sub-agents.controller.js +25 -0
  154. package/backend/dist/src/sub-agents/sub-agents.controller.js.map +1 -1
  155. package/backend/dist/src/system-prompts/dto/set-enabled-tools.dto.js +9 -0
  156. package/backend/dist/src/system-prompts/dto/set-enabled-tools.dto.js.map +1 -1
  157. package/backend/dist/src/system-prompts/dto/system-prompt.dto.js +43 -0
  158. package/backend/dist/src/system-prompts/dto/system-prompt.dto.js.map +1 -1
  159. package/backend/dist/src/system-prompts/dto/toggle-tool.dto.js +5 -0
  160. package/backend/dist/src/system-prompts/dto/toggle-tool.dto.js.map +1 -1
  161. package/backend/dist/src/system-prompts/system-prompts.controller.js +80 -0
  162. package/backend/dist/src/system-prompts/system-prompts.controller.js.map +1 -1
  163. package/backend/dist/src/tool-hooks/dto/create-tool-hook.dto.js +14 -0
  164. package/backend/dist/src/tool-hooks/dto/create-tool-hook.dto.js.map +1 -1
  165. package/backend/dist/src/tool-hooks/dto/update-tool-hook.dto.js +11 -0
  166. package/backend/dist/src/tool-hooks/dto/update-tool-hook.dto.js.map +1 -1
  167. package/backend/dist/src/tool-hooks/tool-hooks.controller.js +52 -0
  168. package/backend/dist/src/tool-hooks/tool-hooks.controller.js.map +1 -1
  169. package/backend/dist/src/visual-editor/visual-editor.controller.js +15 -0
  170. package/backend/dist/src/visual-editor/visual-editor.controller.js.map +1 -1
  171. package/backend/dist/src/workspace/workspace.controller.js +41 -0
  172. package/backend/dist/src/workspace/workspace.controller.js.map +1 -1
  173. package/backend/dist/tsconfig.build.tsbuildinfo +1 -1
  174. package/{daemon/node_modules/undici-types → backend/node_modules/@eslint/eslintrc}/LICENSE +5 -7
  175. package/backend/node_modules/@eslint/eslintrc/README.md +115 -0
  176. package/backend/node_modules/@eslint/eslintrc/conf/config-schema.js +79 -0
  177. package/backend/node_modules/@eslint/eslintrc/conf/environments.js +215 -0
  178. package/backend/node_modules/@eslint/eslintrc/dist/eslintrc-universal.cjs +1104 -0
  179. package/backend/node_modules/@eslint/eslintrc/dist/eslintrc-universal.cjs.map +1 -0
  180. package/backend/node_modules/@eslint/eslintrc/dist/eslintrc.cjs +4344 -0
  181. package/backend/node_modules/@eslint/eslintrc/dist/eslintrc.cjs.map +1 -0
  182. package/backend/node_modules/@eslint/eslintrc/lib/cascading-config-array-factory.js +532 -0
  183. package/backend/node_modules/@eslint/eslintrc/lib/config-array/config-array.js +523 -0
  184. package/backend/node_modules/@eslint/eslintrc/lib/config-array/config-dependency.js +124 -0
  185. package/backend/node_modules/@eslint/eslintrc/lib/config-array/extracted-config.js +145 -0
  186. package/backend/node_modules/@eslint/eslintrc/lib/config-array/ignore-pattern.js +238 -0
  187. package/backend/node_modules/@eslint/eslintrc/lib/config-array/index.js +19 -0
  188. package/backend/node_modules/@eslint/eslintrc/lib/config-array/override-tester.js +225 -0
  189. package/backend/node_modules/@eslint/eslintrc/lib/config-array-factory.js +1151 -0
  190. package/backend/node_modules/@eslint/eslintrc/lib/flat-compat.js +318 -0
  191. package/backend/node_modules/@eslint/eslintrc/lib/index-universal.js +29 -0
  192. package/backend/node_modules/@eslint/eslintrc/lib/index.js +56 -0
  193. package/backend/node_modules/@eslint/eslintrc/lib/shared/ajv.js +191 -0
  194. package/backend/node_modules/@eslint/eslintrc/lib/shared/config-ops.js +135 -0
  195. package/backend/node_modules/@eslint/eslintrc/lib/shared/config-validator.js +325 -0
  196. package/backend/node_modules/@eslint/eslintrc/lib/shared/deprecation-warnings.js +63 -0
  197. package/backend/node_modules/@eslint/eslintrc/lib/shared/naming.js +96 -0
  198. package/backend/node_modules/@eslint/eslintrc/lib/shared/relative-module-resolver.js +42 -0
  199. package/backend/node_modules/@eslint/eslintrc/lib/shared/types.js +149 -0
  200. package/backend/node_modules/@eslint/eslintrc/package.json +82 -0
  201. package/backend/node_modules/@eslint/eslintrc/universal.js +9 -0
  202. package/backend/package.json +1 -3
  203. package/daemon/dist/api/system.js +25 -0
  204. package/daemon/dist/daemon.blob +0 -0
  205. package/daemon/dist/index.js +0 -0
  206. package/package.json +3 -1
  207. package/visual-editor-proxy/.repoburg/data.sqlite +0 -0
  208. package/visual-editor-proxy/dist/tsconfig.tsbuildinfo +1 -1
  209. package/backend/node_modules/@types/node/LICENSE +0 -21
  210. package/backend/node_modules/@types/node/README.md +0 -15
  211. package/backend/node_modules/@types/node/assert/strict.d.ts +0 -8
  212. package/backend/node_modules/@types/node/assert.d.ts +0 -1044
  213. package/backend/node_modules/@types/node/async_hooks.d.ts +0 -605
  214. package/backend/node_modules/@types/node/buffer.buffer.d.ts +0 -462
  215. package/backend/node_modules/@types/node/buffer.d.ts +0 -1932
  216. package/backend/node_modules/@types/node/child_process.d.ts +0 -1452
  217. package/backend/node_modules/@types/node/cluster.d.ts +0 -578
  218. package/backend/node_modules/@types/node/compatibility/disposable.d.ts +0 -16
  219. package/backend/node_modules/@types/node/compatibility/index.d.ts +0 -9
  220. package/backend/node_modules/@types/node/compatibility/indexable.d.ts +0 -20
  221. package/backend/node_modules/@types/node/compatibility/iterators.d.ts +0 -21
  222. package/backend/node_modules/@types/node/console.d.ts +0 -452
  223. package/backend/node_modules/@types/node/constants.d.ts +0 -21
  224. package/backend/node_modules/@types/node/crypto.d.ts +0 -4570
  225. package/backend/node_modules/@types/node/dgram.d.ts +0 -596
  226. package/backend/node_modules/@types/node/diagnostics_channel.d.ts +0 -578
  227. package/backend/node_modules/@types/node/dns/promises.d.ts +0 -479
  228. package/backend/node_modules/@types/node/dns.d.ts +0 -871
  229. package/backend/node_modules/@types/node/domain.d.ts +0 -170
  230. package/backend/node_modules/@types/node/events.d.ts +0 -931
  231. package/backend/node_modules/@types/node/fs/promises.d.ts +0 -1248
  232. package/backend/node_modules/@types/node/fs.d.ts +0 -4362
  233. package/backend/node_modules/@types/node/globals.d.ts +0 -170
  234. package/backend/node_modules/@types/node/globals.typedarray.d.ts +0 -21
  235. package/backend/node_modules/@types/node/http.d.ts +0 -2031
  236. package/backend/node_modules/@types/node/http2.d.ts +0 -2623
  237. package/backend/node_modules/@types/node/https.d.ts +0 -549
  238. package/backend/node_modules/@types/node/index.d.ts +0 -93
  239. package/backend/node_modules/@types/node/inspector.generated.d.ts +0 -3966
  240. package/backend/node_modules/@types/node/module.d.ts +0 -539
  241. package/backend/node_modules/@types/node/net.d.ts +0 -1011
  242. package/backend/node_modules/@types/node/os.d.ts +0 -495
  243. package/backend/node_modules/@types/node/package.json +0 -140
  244. package/backend/node_modules/@types/node/path.d.ts +0 -200
  245. package/backend/node_modules/@types/node/perf_hooks.d.ts +0 -963
  246. package/backend/node_modules/@types/node/process.d.ts +0 -1956
  247. package/backend/node_modules/@types/node/punycode.d.ts +0 -117
  248. package/backend/node_modules/@types/node/querystring.d.ts +0 -152
  249. package/backend/node_modules/@types/node/readline/promises.d.ts +0 -162
  250. package/backend/node_modules/@types/node/readline.d.ts +0 -589
  251. package/backend/node_modules/@types/node/repl.d.ts +0 -430
  252. package/backend/node_modules/@types/node/sea.d.ts +0 -153
  253. package/backend/node_modules/@types/node/stream/consumers.d.ts +0 -38
  254. package/backend/node_modules/@types/node/stream/promises.d.ts +0 -90
  255. package/backend/node_modules/@types/node/stream/web.d.ts +0 -533
  256. package/backend/node_modules/@types/node/stream.d.ts +0 -1668
  257. package/backend/node_modules/@types/node/string_decoder.d.ts +0 -67
  258. package/backend/node_modules/@types/node/test.d.ts +0 -1807
  259. package/backend/node_modules/@types/node/timers/promises.d.ts +0 -108
  260. package/backend/node_modules/@types/node/timers.d.ts +0 -286
  261. package/backend/node_modules/@types/node/tls.d.ts +0 -1231
  262. package/backend/node_modules/@types/node/trace_events.d.ts +0 -197
  263. package/backend/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -460
  264. package/backend/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -19
  265. package/backend/node_modules/@types/node/ts5.6/index.d.ts +0 -93
  266. package/backend/node_modules/@types/node/tty.d.ts +0 -208
  267. package/backend/node_modules/@types/node/url.d.ts +0 -964
  268. package/backend/node_modules/@types/node/util.d.ts +0 -2331
  269. package/backend/node_modules/@types/node/v8.d.ts +0 -808
  270. package/backend/node_modules/@types/node/vm.d.ts +0 -1030
  271. package/backend/node_modules/@types/node/wasi.d.ts +0 -181
  272. package/backend/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -34
  273. package/backend/node_modules/@types/node/web-globals/domexception.d.ts +0 -68
  274. package/backend/node_modules/@types/node/web-globals/events.d.ts +0 -94
  275. package/backend/node_modules/@types/node/web-globals/fetch.d.ts +0 -46
  276. package/backend/node_modules/@types/node/worker_threads.d.ts +0 -743
  277. package/backend/node_modules/@types/node/zlib.d.ts +0 -539
  278. package/backend/node_modules/debug/LICENSE +0 -20
  279. package/backend/node_modules/debug/README.md +0 -481
  280. package/backend/node_modules/debug/package.json +0 -64
  281. package/backend/node_modules/debug/src/browser.js +0 -272
  282. package/backend/node_modules/debug/src/common.js +0 -292
  283. package/backend/node_modules/debug/src/index.js +0 -10
  284. package/backend/node_modules/debug/src/node.js +0 -263
  285. package/backend/node_modules/undici-types/LICENSE +0 -21
  286. package/backend/node_modules/undici-types/README.md +0 -6
  287. package/backend/node_modules/undici-types/agent.d.ts +0 -31
  288. package/backend/node_modules/undici-types/api.d.ts +0 -43
  289. package/backend/node_modules/undici-types/balanced-pool.d.ts +0 -29
  290. package/backend/node_modules/undici-types/cache.d.ts +0 -36
  291. package/backend/node_modules/undici-types/client.d.ts +0 -108
  292. package/backend/node_modules/undici-types/connector.d.ts +0 -34
  293. package/backend/node_modules/undici-types/content-type.d.ts +0 -21
  294. package/backend/node_modules/undici-types/cookies.d.ts +0 -28
  295. package/backend/node_modules/undici-types/diagnostics-channel.d.ts +0 -66
  296. package/backend/node_modules/undici-types/dispatcher.d.ts +0 -256
  297. package/backend/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -21
  298. package/backend/node_modules/undici-types/errors.d.ts +0 -149
  299. package/backend/node_modules/undici-types/eventsource.d.ts +0 -61
  300. package/backend/node_modules/undici-types/fetch.d.ts +0 -209
  301. package/backend/node_modules/undici-types/file.d.ts +0 -39
  302. package/backend/node_modules/undici-types/filereader.d.ts +0 -54
  303. package/backend/node_modules/undici-types/formdata.d.ts +0 -108
  304. package/backend/node_modules/undici-types/global-dispatcher.d.ts +0 -9
  305. package/backend/node_modules/undici-types/global-origin.d.ts +0 -7
  306. package/backend/node_modules/undici-types/handlers.d.ts +0 -15
  307. package/backend/node_modules/undici-types/header.d.ts +0 -4
  308. package/backend/node_modules/undici-types/index.d.ts +0 -71
  309. package/backend/node_modules/undici-types/interceptors.d.ts +0 -17
  310. package/backend/node_modules/undici-types/mock-agent.d.ts +0 -50
  311. package/backend/node_modules/undici-types/mock-client.d.ts +0 -25
  312. package/backend/node_modules/undici-types/mock-errors.d.ts +0 -12
  313. package/backend/node_modules/undici-types/mock-interceptor.d.ts +0 -93
  314. package/backend/node_modules/undici-types/mock-pool.d.ts +0 -25
  315. package/backend/node_modules/undici-types/package.json +0 -55
  316. package/backend/node_modules/undici-types/patch.d.ts +0 -33
  317. package/backend/node_modules/undici-types/pool-stats.d.ts +0 -19
  318. package/backend/node_modules/undici-types/pool.d.ts +0 -39
  319. package/backend/node_modules/undici-types/proxy-agent.d.ts +0 -28
  320. package/backend/node_modules/undici-types/readable.d.ts +0 -65
  321. package/backend/node_modules/undici-types/retry-agent.d.ts +0 -8
  322. package/backend/node_modules/undici-types/retry-handler.d.ts +0 -116
  323. package/backend/node_modules/undici-types/util.d.ts +0 -18
  324. package/backend/node_modules/undici-types/webidl.d.ts +0 -228
  325. package/backend/node_modules/undici-types/websocket.d.ts +0 -150
  326. package/daemon/node_modules/@types/node/LICENSE +0 -21
  327. package/daemon/node_modules/@types/node/README.md +0 -15
  328. package/daemon/node_modules/@types/node/assert/strict.d.ts +0 -8
  329. package/daemon/node_modules/@types/node/assert.d.ts +0 -1044
  330. package/daemon/node_modules/@types/node/async_hooks.d.ts +0 -605
  331. package/daemon/node_modules/@types/node/buffer.buffer.d.ts +0 -462
  332. package/daemon/node_modules/@types/node/buffer.d.ts +0 -1932
  333. package/daemon/node_modules/@types/node/child_process.d.ts +0 -1452
  334. package/daemon/node_modules/@types/node/cluster.d.ts +0 -578
  335. package/daemon/node_modules/@types/node/compatibility/disposable.d.ts +0 -16
  336. package/daemon/node_modules/@types/node/compatibility/index.d.ts +0 -9
  337. package/daemon/node_modules/@types/node/compatibility/indexable.d.ts +0 -20
  338. package/daemon/node_modules/@types/node/compatibility/iterators.d.ts +0 -21
  339. package/daemon/node_modules/@types/node/console.d.ts +0 -452
  340. package/daemon/node_modules/@types/node/constants.d.ts +0 -21
  341. package/daemon/node_modules/@types/node/crypto.d.ts +0 -4570
  342. package/daemon/node_modules/@types/node/dgram.d.ts +0 -596
  343. package/daemon/node_modules/@types/node/diagnostics_channel.d.ts +0 -578
  344. package/daemon/node_modules/@types/node/dns/promises.d.ts +0 -479
  345. package/daemon/node_modules/@types/node/dns.d.ts +0 -871
  346. package/daemon/node_modules/@types/node/domain.d.ts +0 -170
  347. package/daemon/node_modules/@types/node/events.d.ts +0 -931
  348. package/daemon/node_modules/@types/node/fs/promises.d.ts +0 -1248
  349. package/daemon/node_modules/@types/node/fs.d.ts +0 -4362
  350. package/daemon/node_modules/@types/node/globals.d.ts +0 -170
  351. package/daemon/node_modules/@types/node/globals.typedarray.d.ts +0 -21
  352. package/daemon/node_modules/@types/node/http.d.ts +0 -2031
  353. package/daemon/node_modules/@types/node/http2.d.ts +0 -2623
  354. package/daemon/node_modules/@types/node/https.d.ts +0 -549
  355. package/daemon/node_modules/@types/node/index.d.ts +0 -93
  356. package/daemon/node_modules/@types/node/inspector.generated.d.ts +0 -3966
  357. package/daemon/node_modules/@types/node/module.d.ts +0 -539
  358. package/daemon/node_modules/@types/node/net.d.ts +0 -1011
  359. package/daemon/node_modules/@types/node/os.d.ts +0 -495
  360. package/daemon/node_modules/@types/node/package.json +0 -140
  361. package/daemon/node_modules/@types/node/path.d.ts +0 -200
  362. package/daemon/node_modules/@types/node/perf_hooks.d.ts +0 -963
  363. package/daemon/node_modules/@types/node/process.d.ts +0 -1956
  364. package/daemon/node_modules/@types/node/punycode.d.ts +0 -117
  365. package/daemon/node_modules/@types/node/querystring.d.ts +0 -152
  366. package/daemon/node_modules/@types/node/readline/promises.d.ts +0 -162
  367. package/daemon/node_modules/@types/node/readline.d.ts +0 -589
  368. package/daemon/node_modules/@types/node/repl.d.ts +0 -430
  369. package/daemon/node_modules/@types/node/sea.d.ts +0 -153
  370. package/daemon/node_modules/@types/node/stream/consumers.d.ts +0 -38
  371. package/daemon/node_modules/@types/node/stream/promises.d.ts +0 -90
  372. package/daemon/node_modules/@types/node/stream/web.d.ts +0 -533
  373. package/daemon/node_modules/@types/node/stream.d.ts +0 -1668
  374. package/daemon/node_modules/@types/node/string_decoder.d.ts +0 -67
  375. package/daemon/node_modules/@types/node/test.d.ts +0 -1807
  376. package/daemon/node_modules/@types/node/timers/promises.d.ts +0 -108
  377. package/daemon/node_modules/@types/node/timers.d.ts +0 -286
  378. package/daemon/node_modules/@types/node/tls.d.ts +0 -1231
  379. package/daemon/node_modules/@types/node/trace_events.d.ts +0 -197
  380. package/daemon/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -460
  381. package/daemon/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -19
  382. package/daemon/node_modules/@types/node/ts5.6/index.d.ts +0 -93
  383. package/daemon/node_modules/@types/node/tty.d.ts +0 -208
  384. package/daemon/node_modules/@types/node/url.d.ts +0 -964
  385. package/daemon/node_modules/@types/node/util.d.ts +0 -2331
  386. package/daemon/node_modules/@types/node/v8.d.ts +0 -808
  387. package/daemon/node_modules/@types/node/vm.d.ts +0 -1030
  388. package/daemon/node_modules/@types/node/wasi.d.ts +0 -181
  389. package/daemon/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -34
  390. package/daemon/node_modules/@types/node/web-globals/domexception.d.ts +0 -68
  391. package/daemon/node_modules/@types/node/web-globals/events.d.ts +0 -94
  392. package/daemon/node_modules/@types/node/web-globals/fetch.d.ts +0 -46
  393. package/daemon/node_modules/@types/node/worker_threads.d.ts +0 -743
  394. package/daemon/node_modules/@types/node/zlib.d.ts +0 -539
  395. package/daemon/node_modules/undici-types/README.md +0 -6
  396. package/daemon/node_modules/undici-types/agent.d.ts +0 -31
  397. package/daemon/node_modules/undici-types/api.d.ts +0 -43
  398. package/daemon/node_modules/undici-types/balanced-pool.d.ts +0 -29
  399. package/daemon/node_modules/undici-types/cache.d.ts +0 -36
  400. package/daemon/node_modules/undici-types/client.d.ts +0 -108
  401. package/daemon/node_modules/undici-types/connector.d.ts +0 -34
  402. package/daemon/node_modules/undici-types/content-type.d.ts +0 -21
  403. package/daemon/node_modules/undici-types/cookies.d.ts +0 -28
  404. package/daemon/node_modules/undici-types/diagnostics-channel.d.ts +0 -66
  405. package/daemon/node_modules/undici-types/dispatcher.d.ts +0 -256
  406. package/daemon/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -21
  407. package/daemon/node_modules/undici-types/errors.d.ts +0 -149
  408. package/daemon/node_modules/undici-types/eventsource.d.ts +0 -61
  409. package/daemon/node_modules/undici-types/fetch.d.ts +0 -209
  410. package/daemon/node_modules/undici-types/file.d.ts +0 -39
  411. package/daemon/node_modules/undici-types/filereader.d.ts +0 -54
  412. package/daemon/node_modules/undici-types/formdata.d.ts +0 -108
  413. package/daemon/node_modules/undici-types/global-dispatcher.d.ts +0 -9
  414. package/daemon/node_modules/undici-types/global-origin.d.ts +0 -7
  415. package/daemon/node_modules/undici-types/handlers.d.ts +0 -15
  416. package/daemon/node_modules/undici-types/header.d.ts +0 -4
  417. package/daemon/node_modules/undici-types/index.d.ts +0 -71
  418. package/daemon/node_modules/undici-types/interceptors.d.ts +0 -17
  419. package/daemon/node_modules/undici-types/mock-agent.d.ts +0 -50
  420. package/daemon/node_modules/undici-types/mock-client.d.ts +0 -25
  421. package/daemon/node_modules/undici-types/mock-errors.d.ts +0 -12
  422. package/daemon/node_modules/undici-types/mock-interceptor.d.ts +0 -93
  423. package/daemon/node_modules/undici-types/mock-pool.d.ts +0 -25
  424. package/daemon/node_modules/undici-types/package.json +0 -55
  425. package/daemon/node_modules/undici-types/patch.d.ts +0 -33
  426. package/daemon/node_modules/undici-types/pool-stats.d.ts +0 -19
  427. package/daemon/node_modules/undici-types/pool.d.ts +0 -39
  428. package/daemon/node_modules/undici-types/proxy-agent.d.ts +0 -28
  429. package/daemon/node_modules/undici-types/readable.d.ts +0 -65
  430. package/daemon/node_modules/undici-types/retry-agent.d.ts +0 -8
  431. package/daemon/node_modules/undici-types/retry-handler.d.ts +0 -116
  432. package/daemon/node_modules/undici-types/util.d.ts +0 -18
  433. package/daemon/node_modules/undici-types/webidl.d.ts +0 -228
  434. package/daemon/node_modules/undici-types/websocket.d.ts +0 -150
  435. package/visual-editor-proxy/node_modules/@types/node/LICENSE +0 -21
  436. package/visual-editor-proxy/node_modules/@types/node/README.md +0 -15
  437. package/visual-editor-proxy/node_modules/@types/node/assert/strict.d.ts +0 -8
  438. package/visual-editor-proxy/node_modules/@types/node/assert.d.ts +0 -1062
  439. package/visual-editor-proxy/node_modules/@types/node/async_hooks.d.ts +0 -605
  440. package/visual-editor-proxy/node_modules/@types/node/buffer.buffer.d.ts +0 -462
  441. package/visual-editor-proxy/node_modules/@types/node/buffer.d.ts +0 -1932
  442. package/visual-editor-proxy/node_modules/@types/node/child_process.d.ts +0 -1458
  443. package/visual-editor-proxy/node_modules/@types/node/cluster.d.ts +0 -577
  444. package/visual-editor-proxy/node_modules/@types/node/compatibility/disposable.d.ts +0 -16
  445. package/visual-editor-proxy/node_modules/@types/node/compatibility/index.d.ts +0 -9
  446. package/visual-editor-proxy/node_modules/@types/node/compatibility/indexable.d.ts +0 -20
  447. package/visual-editor-proxy/node_modules/@types/node/compatibility/iterators.d.ts +0 -21
  448. package/visual-editor-proxy/node_modules/@types/node/console.d.ts +0 -452
  449. package/visual-editor-proxy/node_modules/@types/node/constants.d.ts +0 -21
  450. package/visual-editor-proxy/node_modules/@types/node/crypto.d.ts +0 -4570
  451. package/visual-editor-proxy/node_modules/@types/node/dgram.d.ts +0 -596
  452. package/visual-editor-proxy/node_modules/@types/node/diagnostics_channel.d.ts +0 -578
  453. package/visual-editor-proxy/node_modules/@types/node/dns/promises.d.ts +0 -479
  454. package/visual-editor-proxy/node_modules/@types/node/dns.d.ts +0 -871
  455. package/visual-editor-proxy/node_modules/@types/node/domain.d.ts +0 -170
  456. package/visual-editor-proxy/node_modules/@types/node/events.d.ts +0 -977
  457. package/visual-editor-proxy/node_modules/@types/node/fs/promises.d.ts +0 -1248
  458. package/visual-editor-proxy/node_modules/@types/node/fs.d.ts +0 -4362
  459. package/visual-editor-proxy/node_modules/@types/node/globals.d.ts +0 -172
  460. package/visual-editor-proxy/node_modules/@types/node/globals.typedarray.d.ts +0 -21
  461. package/visual-editor-proxy/node_modules/@types/node/http.d.ts +0 -2030
  462. package/visual-editor-proxy/node_modules/@types/node/http2.d.ts +0 -2624
  463. package/visual-editor-proxy/node_modules/@types/node/https.d.ts +0 -546
  464. package/visual-editor-proxy/node_modules/@types/node/index.d.ts +0 -93
  465. package/visual-editor-proxy/node_modules/@types/node/inspector.generated.d.ts +0 -3966
  466. package/visual-editor-proxy/node_modules/@types/node/module.d.ts +0 -539
  467. package/visual-editor-proxy/node_modules/@types/node/net.d.ts +0 -1011
  468. package/visual-editor-proxy/node_modules/@types/node/os.d.ts +0 -505
  469. package/visual-editor-proxy/node_modules/@types/node/package.json +0 -140
  470. package/visual-editor-proxy/node_modules/@types/node/path.d.ts +0 -200
  471. package/visual-editor-proxy/node_modules/@types/node/perf_hooks.d.ts +0 -961
  472. package/visual-editor-proxy/node_modules/@types/node/process.d.ts +0 -1944
  473. package/visual-editor-proxy/node_modules/@types/node/punycode.d.ts +0 -117
  474. package/visual-editor-proxy/node_modules/@types/node/querystring.d.ts +0 -152
  475. package/visual-editor-proxy/node_modules/@types/node/readline/promises.d.ts +0 -162
  476. package/visual-editor-proxy/node_modules/@types/node/readline.d.ts +0 -589
  477. package/visual-editor-proxy/node_modules/@types/node/repl.d.ts +0 -430
  478. package/visual-editor-proxy/node_modules/@types/node/sea.d.ts +0 -153
  479. package/visual-editor-proxy/node_modules/@types/node/stream/consumers.d.ts +0 -38
  480. package/visual-editor-proxy/node_modules/@types/node/stream/promises.d.ts +0 -90
  481. package/visual-editor-proxy/node_modules/@types/node/stream/web.d.ts +0 -533
  482. package/visual-editor-proxy/node_modules/@types/node/stream.d.ts +0 -1675
  483. package/visual-editor-proxy/node_modules/@types/node/string_decoder.d.ts +0 -67
  484. package/visual-editor-proxy/node_modules/@types/node/test.d.ts +0 -1787
  485. package/visual-editor-proxy/node_modules/@types/node/timers/promises.d.ts +0 -108
  486. package/visual-editor-proxy/node_modules/@types/node/timers.d.ts +0 -286
  487. package/visual-editor-proxy/node_modules/@types/node/tls.d.ts +0 -1231
  488. package/visual-editor-proxy/node_modules/@types/node/trace_events.d.ts +0 -197
  489. package/visual-editor-proxy/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -460
  490. package/visual-editor-proxy/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -19
  491. package/visual-editor-proxy/node_modules/@types/node/ts5.6/index.d.ts +0 -93
  492. package/visual-editor-proxy/node_modules/@types/node/tty.d.ts +0 -208
  493. package/visual-editor-proxy/node_modules/@types/node/url.d.ts +0 -964
  494. package/visual-editor-proxy/node_modules/@types/node/util.d.ts +0 -2331
  495. package/visual-editor-proxy/node_modules/@types/node/v8.d.ts +0 -808
  496. package/visual-editor-proxy/node_modules/@types/node/vm.d.ts +0 -1000
  497. package/visual-editor-proxy/node_modules/@types/node/wasi.d.ts +0 -181
  498. package/visual-editor-proxy/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -34
  499. package/visual-editor-proxy/node_modules/@types/node/web-globals/domexception.d.ts +0 -68
  500. package/visual-editor-proxy/node_modules/@types/node/web-globals/events.d.ts +0 -97
  501. package/visual-editor-proxy/node_modules/@types/node/web-globals/fetch.d.ts +0 -46
  502. package/visual-editor-proxy/node_modules/@types/node/worker_threads.d.ts +0 -715
  503. package/visual-editor-proxy/node_modules/@types/node/zlib.d.ts +0 -539
  504. package/visual-editor-proxy/node_modules/undici-types/LICENSE +0 -21
  505. package/visual-editor-proxy/node_modules/undici-types/README.md +0 -6
  506. package/visual-editor-proxy/node_modules/undici-types/agent.d.ts +0 -31
  507. package/visual-editor-proxy/node_modules/undici-types/api.d.ts +0 -43
  508. package/visual-editor-proxy/node_modules/undici-types/balanced-pool.d.ts +0 -29
  509. package/visual-editor-proxy/node_modules/undici-types/cache.d.ts +0 -36
  510. package/visual-editor-proxy/node_modules/undici-types/client.d.ts +0 -108
  511. package/visual-editor-proxy/node_modules/undici-types/connector.d.ts +0 -34
  512. package/visual-editor-proxy/node_modules/undici-types/content-type.d.ts +0 -21
  513. package/visual-editor-proxy/node_modules/undici-types/cookies.d.ts +0 -28
  514. package/visual-editor-proxy/node_modules/undici-types/diagnostics-channel.d.ts +0 -66
  515. package/visual-editor-proxy/node_modules/undici-types/dispatcher.d.ts +0 -256
  516. package/visual-editor-proxy/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -21
  517. package/visual-editor-proxy/node_modules/undici-types/errors.d.ts +0 -149
  518. package/visual-editor-proxy/node_modules/undici-types/eventsource.d.ts +0 -61
  519. package/visual-editor-proxy/node_modules/undici-types/fetch.d.ts +0 -209
  520. package/visual-editor-proxy/node_modules/undici-types/file.d.ts +0 -39
  521. package/visual-editor-proxy/node_modules/undici-types/filereader.d.ts +0 -54
  522. package/visual-editor-proxy/node_modules/undici-types/formdata.d.ts +0 -108
  523. package/visual-editor-proxy/node_modules/undici-types/global-dispatcher.d.ts +0 -9
  524. package/visual-editor-proxy/node_modules/undici-types/global-origin.d.ts +0 -7
  525. package/visual-editor-proxy/node_modules/undici-types/handlers.d.ts +0 -15
  526. package/visual-editor-proxy/node_modules/undici-types/header.d.ts +0 -4
  527. package/visual-editor-proxy/node_modules/undici-types/index.d.ts +0 -71
  528. package/visual-editor-proxy/node_modules/undici-types/interceptors.d.ts +0 -17
  529. package/visual-editor-proxy/node_modules/undici-types/mock-agent.d.ts +0 -50
  530. package/visual-editor-proxy/node_modules/undici-types/mock-client.d.ts +0 -25
  531. package/visual-editor-proxy/node_modules/undici-types/mock-errors.d.ts +0 -12
  532. package/visual-editor-proxy/node_modules/undici-types/mock-interceptor.d.ts +0 -93
  533. package/visual-editor-proxy/node_modules/undici-types/mock-pool.d.ts +0 -25
  534. package/visual-editor-proxy/node_modules/undici-types/package.json +0 -55
  535. package/visual-editor-proxy/node_modules/undici-types/patch.d.ts +0 -33
  536. package/visual-editor-proxy/node_modules/undici-types/pool-stats.d.ts +0 -19
  537. package/visual-editor-proxy/node_modules/undici-types/pool.d.ts +0 -39
  538. package/visual-editor-proxy/node_modules/undici-types/proxy-agent.d.ts +0 -28
  539. package/visual-editor-proxy/node_modules/undici-types/readable.d.ts +0 -65
  540. package/visual-editor-proxy/node_modules/undici-types/retry-agent.d.ts +0 -8
  541. package/visual-editor-proxy/node_modules/undici-types/retry-handler.d.ts +0 -116
  542. package/visual-editor-proxy/node_modules/undici-types/util.d.ts +0 -18
  543. package/visual-editor-proxy/node_modules/undici-types/webidl.d.ts +0 -228
  544. package/visual-editor-proxy/node_modules/undici-types/websocket.d.ts +0 -150
@@ -0,0 +1,523 @@
1
+ /**
2
+ * @fileoverview `ConfigArray` class.
3
+ *
4
+ * `ConfigArray` class expresses the full of a configuration. It has the entry
5
+ * config file, base config files that were extended, loaded parsers, and loaded
6
+ * plugins.
7
+ *
8
+ * `ConfigArray` class provides three properties and two methods.
9
+ *
10
+ * - `pluginEnvironments`
11
+ * - `pluginProcessors`
12
+ * - `pluginRules`
13
+ * The `Map` objects that contain the members of all plugins that this
14
+ * config array contains. Those map objects don't have mutation methods.
15
+ * Those keys are the member ID such as `pluginId/memberName`.
16
+ * - `isRoot()`
17
+ * If `true` then this configuration has `root:true` property.
18
+ * - `extractConfig(filePath)`
19
+ * Extract the final configuration for a given file. This means merging
20
+ * every config array element which that `criteria` property matched. The
21
+ * `filePath` argument must be an absolute path.
22
+ *
23
+ * `ConfigArrayFactory` provides the loading logic of config files.
24
+ *
25
+ * @author Toru Nagashima <https://github.com/mysticatea>
26
+ */
27
+
28
+ //------------------------------------------------------------------------------
29
+ // Requirements
30
+ //------------------------------------------------------------------------------
31
+
32
+ import { ExtractedConfig } from "./extracted-config.js";
33
+ import { IgnorePattern } from "./ignore-pattern.js";
34
+
35
+ //------------------------------------------------------------------------------
36
+ // Helpers
37
+ //------------------------------------------------------------------------------
38
+
39
+ // Define types for VSCode IntelliSense.
40
+ /** @typedef {import("../../shared/types").Environment} Environment */
41
+ /** @typedef {import("../../shared/types").GlobalConf} GlobalConf */
42
+ /** @typedef {import("../../shared/types").RuleConf} RuleConf */
43
+ /** @typedef {import("../../shared/types").Rule} Rule */
44
+ /** @typedef {import("../../shared/types").Plugin} Plugin */
45
+ /** @typedef {import("../../shared/types").Processor} Processor */
46
+ /** @typedef {import("./config-dependency").DependentParser} DependentParser */
47
+ /** @typedef {import("./config-dependency").DependentPlugin} DependentPlugin */
48
+ /** @typedef {import("./override-tester")["OverrideTester"]} OverrideTester */
49
+
50
+ /**
51
+ * @typedef {Object} ConfigArrayElement
52
+ * @property {string} name The name of this config element.
53
+ * @property {string} filePath The path to the source file of this config element.
54
+ * @property {InstanceType<OverrideTester>|null} criteria The tester for the `files` and `excludedFiles` of this config element.
55
+ * @property {Record<string, boolean>|undefined} env The environment settings.
56
+ * @property {Record<string, GlobalConf>|undefined} globals The global variable settings.
57
+ * @property {IgnorePattern|undefined} ignorePattern The ignore patterns.
58
+ * @property {boolean|undefined} noInlineConfig The flag that disables directive comments.
59
+ * @property {DependentParser|undefined} parser The parser loader.
60
+ * @property {Object|undefined} parserOptions The parser options.
61
+ * @property {Record<string, DependentPlugin>|undefined} plugins The plugin loaders.
62
+ * @property {string|undefined} processor The processor name to refer plugin's processor.
63
+ * @property {boolean|undefined} reportUnusedDisableDirectives The flag to report unused `eslint-disable` comments.
64
+ * @property {boolean|undefined} root The flag to express root.
65
+ * @property {Record<string, RuleConf>|undefined} rules The rule settings
66
+ * @property {Object|undefined} settings The shared settings.
67
+ * @property {"config" | "ignore" | "implicit-processor"} type The element type.
68
+ */
69
+
70
+ /**
71
+ * @typedef {Object} ConfigArrayInternalSlots
72
+ * @property {Map<string, ExtractedConfig>} cache The cache to extract configs.
73
+ * @property {ReadonlyMap<string, Environment>|null} envMap The map from environment ID to environment definition.
74
+ * @property {ReadonlyMap<string, Processor>|null} processorMap The map from processor ID to environment definition.
75
+ * @property {ReadonlyMap<string, Rule>|null} ruleMap The map from rule ID to rule definition.
76
+ */
77
+
78
+ /** @type {WeakMap<ConfigArray, ConfigArrayInternalSlots>} */
79
+ const internalSlotsMap = new class extends WeakMap {
80
+ get(key) {
81
+ let value = super.get(key);
82
+
83
+ if (!value) {
84
+ value = {
85
+ cache: new Map(),
86
+ envMap: null,
87
+ processorMap: null,
88
+ ruleMap: null
89
+ };
90
+ super.set(key, value);
91
+ }
92
+
93
+ return value;
94
+ }
95
+ }();
96
+
97
+ /**
98
+ * Get the indices which are matched to a given file.
99
+ * @param {ConfigArrayElement[]} elements The elements.
100
+ * @param {string} filePath The path to a target file.
101
+ * @returns {number[]} The indices.
102
+ */
103
+ function getMatchedIndices(elements, filePath) {
104
+ const indices = [];
105
+
106
+ for (let i = elements.length - 1; i >= 0; --i) {
107
+ const element = elements[i];
108
+
109
+ if (!element.criteria || (filePath && element.criteria.test(filePath))) {
110
+ indices.push(i);
111
+ }
112
+ }
113
+
114
+ return indices;
115
+ }
116
+
117
+ /**
118
+ * Check if a value is a non-null object.
119
+ * @param {any} x The value to check.
120
+ * @returns {boolean} `true` if the value is a non-null object.
121
+ */
122
+ function isNonNullObject(x) {
123
+ return typeof x === "object" && x !== null;
124
+ }
125
+
126
+ /**
127
+ * Merge two objects.
128
+ *
129
+ * Assign every property values of `y` to `x` if `x` doesn't have the property.
130
+ * If `x`'s property value is an object, it does recursive.
131
+ * @param {Object} target The destination to merge
132
+ * @param {Object|undefined} source The source to merge.
133
+ * @returns {void}
134
+ */
135
+ function mergeWithoutOverwrite(target, source) {
136
+ if (!isNonNullObject(source)) {
137
+ return;
138
+ }
139
+
140
+ for (const key of Object.keys(source)) {
141
+ if (key === "__proto__") {
142
+ continue;
143
+ }
144
+
145
+ if (isNonNullObject(target[key])) {
146
+ mergeWithoutOverwrite(target[key], source[key]);
147
+ } else if (target[key] === void 0) {
148
+ if (isNonNullObject(source[key])) {
149
+ target[key] = Array.isArray(source[key]) ? [] : {};
150
+ mergeWithoutOverwrite(target[key], source[key]);
151
+ } else if (source[key] !== void 0) {
152
+ target[key] = source[key];
153
+ }
154
+ }
155
+ }
156
+ }
157
+
158
+ /**
159
+ * The error for plugin conflicts.
160
+ */
161
+ class PluginConflictError extends Error {
162
+
163
+ /**
164
+ * Initialize this error object.
165
+ * @param {string} pluginId The plugin ID.
166
+ * @param {{filePath:string, importerName:string}[]} plugins The resolved plugins.
167
+ */
168
+ constructor(pluginId, plugins) {
169
+ super(`Plugin "${pluginId}" was conflicted between ${plugins.map(p => `"${p.importerName}"`).join(" and ")}.`);
170
+ this.messageTemplate = "plugin-conflict";
171
+ this.messageData = { pluginId, plugins };
172
+ }
173
+ }
174
+
175
+ /**
176
+ * Merge plugins.
177
+ * `target`'s definition is prior to `source`'s.
178
+ * @param {Record<string, DependentPlugin>} target The destination to merge
179
+ * @param {Record<string, DependentPlugin>|undefined} source The source to merge.
180
+ * @returns {void}
181
+ */
182
+ function mergePlugins(target, source) {
183
+ if (!isNonNullObject(source)) {
184
+ return;
185
+ }
186
+
187
+ for (const key of Object.keys(source)) {
188
+ if (key === "__proto__") {
189
+ continue;
190
+ }
191
+ const targetValue = target[key];
192
+ const sourceValue = source[key];
193
+
194
+ // Adopt the plugin which was found at first.
195
+ if (targetValue === void 0) {
196
+ if (sourceValue.error) {
197
+ throw sourceValue.error;
198
+ }
199
+ target[key] = sourceValue;
200
+ } else if (sourceValue.filePath !== targetValue.filePath) {
201
+ throw new PluginConflictError(key, [
202
+ {
203
+ filePath: targetValue.filePath,
204
+ importerName: targetValue.importerName
205
+ },
206
+ {
207
+ filePath: sourceValue.filePath,
208
+ importerName: sourceValue.importerName
209
+ }
210
+ ]);
211
+ }
212
+ }
213
+ }
214
+
215
+ /**
216
+ * Merge rule configs.
217
+ * `target`'s definition is prior to `source`'s.
218
+ * @param {Record<string, Array>} target The destination to merge
219
+ * @param {Record<string, RuleConf>|undefined} source The source to merge.
220
+ * @returns {void}
221
+ */
222
+ function mergeRuleConfigs(target, source) {
223
+ if (!isNonNullObject(source)) {
224
+ return;
225
+ }
226
+
227
+ for (const key of Object.keys(source)) {
228
+ if (key === "__proto__") {
229
+ continue;
230
+ }
231
+ const targetDef = target[key];
232
+ const sourceDef = source[key];
233
+
234
+ // Adopt the rule config which was found at first.
235
+ if (targetDef === void 0) {
236
+ if (Array.isArray(sourceDef)) {
237
+ target[key] = [...sourceDef];
238
+ } else {
239
+ target[key] = [sourceDef];
240
+ }
241
+
242
+ /*
243
+ * If the first found rule config is severity only and the current rule
244
+ * config has options, merge the severity and the options.
245
+ */
246
+ } else if (
247
+ targetDef.length === 1 &&
248
+ Array.isArray(sourceDef) &&
249
+ sourceDef.length >= 2
250
+ ) {
251
+ targetDef.push(...sourceDef.slice(1));
252
+ }
253
+ }
254
+ }
255
+
256
+ /**
257
+ * Create the extracted config.
258
+ * @param {ConfigArray} instance The config elements.
259
+ * @param {number[]} indices The indices to use.
260
+ * @returns {ExtractedConfig} The extracted config.
261
+ */
262
+ function createConfig(instance, indices) {
263
+ const config = new ExtractedConfig();
264
+ const ignorePatterns = [];
265
+
266
+ // Merge elements.
267
+ for (const index of indices) {
268
+ const element = instance[index];
269
+
270
+ // Adopt the parser which was found at first.
271
+ if (!config.parser && element.parser) {
272
+ if (element.parser.error) {
273
+ throw element.parser.error;
274
+ }
275
+ config.parser = element.parser;
276
+ }
277
+
278
+ // Adopt the processor which was found at first.
279
+ if (!config.processor && element.processor) {
280
+ config.processor = element.processor;
281
+ }
282
+
283
+ // Adopt the noInlineConfig which was found at first.
284
+ if (config.noInlineConfig === void 0 && element.noInlineConfig !== void 0) {
285
+ config.noInlineConfig = element.noInlineConfig;
286
+ config.configNameOfNoInlineConfig = element.name;
287
+ }
288
+
289
+ // Adopt the reportUnusedDisableDirectives which was found at first.
290
+ if (config.reportUnusedDisableDirectives === void 0 && element.reportUnusedDisableDirectives !== void 0) {
291
+ config.reportUnusedDisableDirectives = element.reportUnusedDisableDirectives;
292
+ }
293
+
294
+ // Collect ignorePatterns
295
+ if (element.ignorePattern) {
296
+ ignorePatterns.push(element.ignorePattern);
297
+ }
298
+
299
+ // Merge others.
300
+ mergeWithoutOverwrite(config.env, element.env);
301
+ mergeWithoutOverwrite(config.globals, element.globals);
302
+ mergeWithoutOverwrite(config.parserOptions, element.parserOptions);
303
+ mergeWithoutOverwrite(config.settings, element.settings);
304
+ mergePlugins(config.plugins, element.plugins);
305
+ mergeRuleConfigs(config.rules, element.rules);
306
+ }
307
+
308
+ // Create the predicate function for ignore patterns.
309
+ if (ignorePatterns.length > 0) {
310
+ config.ignores = IgnorePattern.createIgnore(ignorePatterns.reverse());
311
+ }
312
+
313
+ return config;
314
+ }
315
+
316
+ /**
317
+ * Collect definitions.
318
+ * @template T, U
319
+ * @param {string} pluginId The plugin ID for prefix.
320
+ * @param {Record<string,T>} defs The definitions to collect.
321
+ * @param {Map<string, U>} map The map to output.
322
+ * @param {function(T): U} [normalize] The normalize function for each value.
323
+ * @returns {void}
324
+ */
325
+ function collect(pluginId, defs, map, normalize) {
326
+ if (defs) {
327
+ const prefix = pluginId && `${pluginId}/`;
328
+
329
+ for (const [key, value] of Object.entries(defs)) {
330
+ map.set(
331
+ `${prefix}${key}`,
332
+ normalize ? normalize(value) : value
333
+ );
334
+ }
335
+ }
336
+ }
337
+
338
+ /**
339
+ * Normalize a rule definition.
340
+ * @param {Function|Rule} rule The rule definition to normalize.
341
+ * @returns {Rule} The normalized rule definition.
342
+ */
343
+ function normalizePluginRule(rule) {
344
+ return typeof rule === "function" ? { create: rule } : rule;
345
+ }
346
+
347
+ /**
348
+ * Delete the mutation methods from a given map.
349
+ * @param {Map<any, any>} map The map object to delete.
350
+ * @returns {void}
351
+ */
352
+ function deleteMutationMethods(map) {
353
+ Object.defineProperties(map, {
354
+ clear: { configurable: true, value: void 0 },
355
+ delete: { configurable: true, value: void 0 },
356
+ set: { configurable: true, value: void 0 }
357
+ });
358
+ }
359
+
360
+ /**
361
+ * Create `envMap`, `processorMap`, `ruleMap` with the plugins in the config array.
362
+ * @param {ConfigArrayElement[]} elements The config elements.
363
+ * @param {ConfigArrayInternalSlots} slots The internal slots.
364
+ * @returns {void}
365
+ */
366
+ function initPluginMemberMaps(elements, slots) {
367
+ const processed = new Set();
368
+
369
+ slots.envMap = new Map();
370
+ slots.processorMap = new Map();
371
+ slots.ruleMap = new Map();
372
+
373
+ for (const element of elements) {
374
+ if (!element.plugins) {
375
+ continue;
376
+ }
377
+
378
+ for (const [pluginId, value] of Object.entries(element.plugins)) {
379
+ const plugin = value.definition;
380
+
381
+ if (!plugin || processed.has(pluginId)) {
382
+ continue;
383
+ }
384
+ processed.add(pluginId);
385
+
386
+ collect(pluginId, plugin.environments, slots.envMap);
387
+ collect(pluginId, plugin.processors, slots.processorMap);
388
+ collect(pluginId, plugin.rules, slots.ruleMap, normalizePluginRule);
389
+ }
390
+ }
391
+
392
+ deleteMutationMethods(slots.envMap);
393
+ deleteMutationMethods(slots.processorMap);
394
+ deleteMutationMethods(slots.ruleMap);
395
+ }
396
+
397
+ /**
398
+ * Create `envMap`, `processorMap`, `ruleMap` with the plugins in the config array.
399
+ * @param {ConfigArray} instance The config elements.
400
+ * @returns {ConfigArrayInternalSlots} The extracted config.
401
+ */
402
+ function ensurePluginMemberMaps(instance) {
403
+ const slots = internalSlotsMap.get(instance);
404
+
405
+ if (!slots.ruleMap) {
406
+ initPluginMemberMaps(instance, slots);
407
+ }
408
+
409
+ return slots;
410
+ }
411
+
412
+ //------------------------------------------------------------------------------
413
+ // Public Interface
414
+ //------------------------------------------------------------------------------
415
+
416
+ /**
417
+ * The Config Array.
418
+ *
419
+ * `ConfigArray` instance contains all settings, parsers, and plugins.
420
+ * You need to call `ConfigArray#extractConfig(filePath)` method in order to
421
+ * extract, merge and get only the config data which is related to an arbitrary
422
+ * file.
423
+ * @extends {Array<ConfigArrayElement>}
424
+ */
425
+ class ConfigArray extends Array {
426
+
427
+ /**
428
+ * Get the plugin environments.
429
+ * The returned map cannot be mutated.
430
+ * @type {ReadonlyMap<string, Environment>} The plugin environments.
431
+ */
432
+ get pluginEnvironments() {
433
+ return ensurePluginMemberMaps(this).envMap;
434
+ }
435
+
436
+ /**
437
+ * Get the plugin processors.
438
+ * The returned map cannot be mutated.
439
+ * @type {ReadonlyMap<string, Processor>} The plugin processors.
440
+ */
441
+ get pluginProcessors() {
442
+ return ensurePluginMemberMaps(this).processorMap;
443
+ }
444
+
445
+ /**
446
+ * Get the plugin rules.
447
+ * The returned map cannot be mutated.
448
+ * @returns {ReadonlyMap<string, Rule>} The plugin rules.
449
+ */
450
+ get pluginRules() {
451
+ return ensurePluginMemberMaps(this).ruleMap;
452
+ }
453
+
454
+ /**
455
+ * Check if this config has `root` flag.
456
+ * @returns {boolean} `true` if this config array is root.
457
+ */
458
+ isRoot() {
459
+ for (let i = this.length - 1; i >= 0; --i) {
460
+ const root = this[i].root;
461
+
462
+ if (typeof root === "boolean") {
463
+ return root;
464
+ }
465
+ }
466
+ return false;
467
+ }
468
+
469
+ /**
470
+ * Extract the config data which is related to a given file.
471
+ * @param {string} filePath The absolute path to the target file.
472
+ * @returns {ExtractedConfig} The extracted config data.
473
+ */
474
+ extractConfig(filePath) {
475
+ const { cache } = internalSlotsMap.get(this);
476
+ const indices = getMatchedIndices(this, filePath);
477
+ const cacheKey = indices.join(",");
478
+
479
+ if (!cache.has(cacheKey)) {
480
+ cache.set(cacheKey, createConfig(this, indices));
481
+ }
482
+
483
+ return cache.get(cacheKey);
484
+ }
485
+
486
+ /**
487
+ * Check if a given path is an additional lint target.
488
+ * @param {string} filePath The absolute path to the target file.
489
+ * @returns {boolean} `true` if the file is an additional lint target.
490
+ */
491
+ isAdditionalTargetPath(filePath) {
492
+ for (const { criteria, type } of this) {
493
+ if (
494
+ type === "config" &&
495
+ criteria &&
496
+ !criteria.endsWithWildcard &&
497
+ criteria.test(filePath)
498
+ ) {
499
+ return true;
500
+ }
501
+ }
502
+ return false;
503
+ }
504
+ }
505
+
506
+ /**
507
+ * Get the used extracted configs.
508
+ * CLIEngine will use this method to collect used deprecated rules.
509
+ * @param {ConfigArray} instance The config array object to get.
510
+ * @returns {ExtractedConfig[]} The used extracted configs.
511
+ * @private
512
+ */
513
+ function getUsedExtractedConfigs(instance) {
514
+ const { cache } = internalSlotsMap.get(instance);
515
+
516
+ return Array.from(cache.values());
517
+ }
518
+
519
+
520
+ export {
521
+ ConfigArray,
522
+ getUsedExtractedConfigs
523
+ };
@@ -0,0 +1,124 @@
1
+ /**
2
+ * @fileoverview `ConfigDependency` class.
3
+ *
4
+ * `ConfigDependency` class expresses a loaded parser or plugin.
5
+ *
6
+ * If the parser or plugin was loaded successfully, it has `definition` property
7
+ * and `filePath` property. Otherwise, it has `error` property.
8
+ *
9
+ * When `JSON.stringify()` converted a `ConfigDependency` object to a JSON, it
10
+ * omits `definition` property.
11
+ *
12
+ * `ConfigArrayFactory` creates `ConfigDependency` objects when it loads parsers
13
+ * or plugins.
14
+ *
15
+ * @author Toru Nagashima <https://github.com/mysticatea>
16
+ */
17
+
18
+ import util from "util";
19
+
20
+ /**
21
+ * The class is to store parsers or plugins.
22
+ * This class hides the loaded object from `JSON.stringify()` and `console.log`.
23
+ * @template T
24
+ */
25
+ class ConfigDependency {
26
+
27
+ /**
28
+ * Initialize this instance.
29
+ * @param {Object} data The dependency data.
30
+ * @param {T} [data.definition] The dependency if the loading succeeded.
31
+ * @param {T} [data.original] The original, non-normalized dependency if the loading succeeded.
32
+ * @param {Error} [data.error] The error object if the loading failed.
33
+ * @param {string} [data.filePath] The actual path to the dependency if the loading succeeded.
34
+ * @param {string} data.id The ID of this dependency.
35
+ * @param {string} data.importerName The name of the config file which loads this dependency.
36
+ * @param {string} data.importerPath The path to the config file which loads this dependency.
37
+ */
38
+ constructor({
39
+ definition = null,
40
+ original = null,
41
+ error = null,
42
+ filePath = null,
43
+ id,
44
+ importerName,
45
+ importerPath
46
+ }) {
47
+
48
+ /**
49
+ * The loaded dependency if the loading succeeded.
50
+ * @type {T|null}
51
+ */
52
+ this.definition = definition;
53
+
54
+ /**
55
+ * The original dependency as loaded directly from disk if the loading succeeded.
56
+ * @type {T|null}
57
+ */
58
+ this.original = original;
59
+
60
+ /**
61
+ * The error object if the loading failed.
62
+ * @type {Error|null}
63
+ */
64
+ this.error = error;
65
+
66
+ /**
67
+ * The loaded dependency if the loading succeeded.
68
+ * @type {string|null}
69
+ */
70
+ this.filePath = filePath;
71
+
72
+ /**
73
+ * The ID of this dependency.
74
+ * @type {string}
75
+ */
76
+ this.id = id;
77
+
78
+ /**
79
+ * The name of the config file which loads this dependency.
80
+ * @type {string}
81
+ */
82
+ this.importerName = importerName;
83
+
84
+ /**
85
+ * The path to the config file which loads this dependency.
86
+ * @type {string}
87
+ */
88
+ this.importerPath = importerPath;
89
+ }
90
+
91
+ // eslint-disable-next-line jsdoc/require-description
92
+ /**
93
+ * @returns {Object} a JSON compatible object.
94
+ */
95
+ toJSON() {
96
+ const obj = this[util.inspect.custom]();
97
+
98
+ // Display `error.message` (`Error#message` is unenumerable).
99
+ if (obj.error instanceof Error) {
100
+ obj.error = { ...obj.error, message: obj.error.message };
101
+ }
102
+
103
+ return obj;
104
+ }
105
+
106
+ // eslint-disable-next-line jsdoc/require-description
107
+ /**
108
+ * @returns {Object} an object to display by `console.log()`.
109
+ */
110
+ [util.inspect.custom]() {
111
+ const {
112
+ definition: _ignore1, // eslint-disable-line no-unused-vars
113
+ original: _ignore2, // eslint-disable-line no-unused-vars
114
+ ...obj
115
+ } = this;
116
+
117
+ return obj;
118
+ }
119
+ }
120
+
121
+ /** @typedef {ConfigDependency<import("../../shared/types").Parser>} DependentParser */
122
+ /** @typedef {ConfigDependency<import("../../shared/types").Plugin>} DependentPlugin */
123
+
124
+ export { ConfigDependency };