@inlang/sdk 0.36.4 → 2.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (727) hide show
  1. package/README.md +1 -1
  2. package/dist/database/initDb.d.ts +7 -0
  3. package/dist/database/initDb.d.ts.map +1 -0
  4. package/dist/database/initDb.js +36 -0
  5. package/dist/database/initDb.js.map +1 -0
  6. package/dist/database/initDbAndSchema.test.d.ts +2 -0
  7. package/dist/database/initDbAndSchema.test.d.ts.map +1 -0
  8. package/dist/database/initDbAndSchema.test.js +110 -0
  9. package/dist/database/initDbAndSchema.test.js.map +1 -0
  10. package/dist/database/jsonbPlugin.d.ts +20 -0
  11. package/dist/database/jsonbPlugin.d.ts.map +1 -0
  12. package/dist/database/jsonbPlugin.js +183 -0
  13. package/dist/database/jsonbPlugin.js.map +1 -0
  14. package/dist/database/jsonbPlugin.test.d.ts +2 -0
  15. package/dist/database/jsonbPlugin.test.d.ts.map +1 -0
  16. package/dist/database/jsonbPlugin.test.js +119 -0
  17. package/dist/database/jsonbPlugin.test.js.map +1 -0
  18. package/dist/database/schema.d.ts +74 -0
  19. package/dist/database/schema.d.ts.map +1 -0
  20. package/dist/database/schema.js +45 -0
  21. package/dist/database/schema.js.map +1 -0
  22. package/dist/helper.d.ts +71 -0
  23. package/dist/helper.d.ts.map +1 -0
  24. package/dist/helper.js +91 -0
  25. package/dist/helper.js.map +1 -0
  26. package/dist/human-id/human-id.d.ts +3 -0
  27. package/dist/human-id/human-id.d.ts.map +1 -0
  28. package/dist/human-id/human-id.js +12 -0
  29. package/dist/human-id/human-id.js.map +1 -0
  30. package/dist/human-id/words.d.ts.map +1 -0
  31. package/dist/{storage/human-id → human-id}/words.js +4 -0
  32. package/dist/human-id/words.js.map +1 -0
  33. package/dist/human-id/words.test.d.ts.map +1 -0
  34. package/dist/{storage/human-id → human-id}/words.test.js +4 -0
  35. package/dist/human-id/words.test.js.map +1 -0
  36. package/dist/import-export/exportFiles.d.ts +11 -0
  37. package/dist/import-export/exportFiles.d.ts.map +1 -0
  38. package/dist/import-export/exportFiles.js +26 -0
  39. package/dist/import-export/exportFiles.js.map +1 -0
  40. package/dist/import-export/importFiles.d.ts +13 -0
  41. package/dist/import-export/importFiles.d.ts.map +1 -0
  42. package/dist/import-export/importFiles.js +124 -0
  43. package/dist/import-export/importFiles.js.map +1 -0
  44. package/dist/import-export/importFiles.test.d.ts +2 -0
  45. package/dist/import-export/importFiles.test.d.ts.map +1 -0
  46. package/dist/import-export/importFiles.test.js +179 -0
  47. package/dist/import-export/importFiles.test.js.map +1 -0
  48. package/dist/import-export/roundtrip.test.d.ts +2 -0
  49. package/dist/import-export/roundtrip.test.d.ts.map +1 -0
  50. package/dist/import-export/roundtrip.test.js +273 -0
  51. package/dist/import-export/roundtrip.test.js.map +1 -0
  52. package/dist/import-export/upsertBundleNestedMatchByProperties.d.ts +4 -0
  53. package/dist/import-export/upsertBundleNestedMatchByProperties.d.ts.map +1 -0
  54. package/dist/import-export/upsertBundleNestedMatchByProperties.js +58 -0
  55. package/dist/import-export/upsertBundleNestedMatchByProperties.js.map +1 -0
  56. package/dist/index.d.ts +21 -18
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +20 -17
  59. package/dist/index.js.map +1 -0
  60. package/dist/json-schema/old-v1-message/fromMessageV1.d.ts +9 -0
  61. package/dist/json-schema/old-v1-message/fromMessageV1.d.ts.map +1 -0
  62. package/dist/json-schema/old-v1-message/fromMessageV1.js +84 -0
  63. package/dist/json-schema/old-v1-message/fromMessageV1.js.map +1 -0
  64. package/dist/json-schema/old-v1-message/fromMessageV1.test.d.ts +2 -0
  65. package/dist/json-schema/old-v1-message/fromMessageV1.test.d.ts.map +1 -0
  66. package/dist/json-schema/old-v1-message/fromMessageV1.test.js +85 -0
  67. package/dist/json-schema/old-v1-message/fromMessageV1.test.js.map +1 -0
  68. package/dist/json-schema/old-v1-message/schemaV1.d.ts +86 -0
  69. package/dist/json-schema/old-v1-message/schemaV1.d.ts.map +1 -0
  70. package/dist/json-schema/old-v1-message/schemaV1.js +35 -0
  71. package/dist/json-schema/old-v1-message/schemaV1.js.map +1 -0
  72. package/dist/json-schema/old-v1-message/toMessageV1.d.ts +9 -0
  73. package/dist/json-schema/old-v1-message/toMessageV1.d.ts.map +1 -0
  74. package/dist/json-schema/old-v1-message/toMessageV1.js +67 -0
  75. package/dist/json-schema/old-v1-message/toMessageV1.js.map +1 -0
  76. package/dist/json-schema/old-v1-message/toMessageV1.test.d.ts +2 -0
  77. package/dist/json-schema/old-v1-message/toMessageV1.test.d.ts.map +1 -0
  78. package/dist/json-schema/old-v1-message/toMessageV1.test.js +85 -0
  79. package/dist/json-schema/old-v1-message/toMessageV1.test.js.map +1 -0
  80. package/dist/json-schema/pattern.d.ts +190 -0
  81. package/dist/json-schema/pattern.d.ts.map +1 -0
  82. package/dist/json-schema/pattern.js +43 -0
  83. package/dist/json-schema/pattern.js.map +1 -0
  84. package/dist/json-schema/settings.d.ts +31 -0
  85. package/dist/json-schema/settings.d.ts.map +1 -0
  86. package/dist/json-schema/settings.js +96 -0
  87. package/dist/json-schema/settings.js.map +1 -0
  88. package/dist/json-schema/settings.test-d.d.ts +2 -0
  89. package/dist/json-schema/settings.test-d.d.ts.map +1 -0
  90. package/dist/json-schema/settings.test-d.js +20 -0
  91. package/dist/json-schema/settings.test-d.js.map +1 -0
  92. package/dist/lix-plugin/applyChanges.d.ts +3 -0
  93. package/dist/lix-plugin/applyChanges.d.ts.map +1 -0
  94. package/dist/lix-plugin/applyChanges.js +127 -0
  95. package/dist/lix-plugin/applyChanges.js.map +1 -0
  96. package/dist/lix-plugin/applyChanges.test.d.ts +2 -0
  97. package/dist/lix-plugin/applyChanges.test.d.ts.map +1 -0
  98. package/dist/lix-plugin/applyChanges.test.js +135 -0
  99. package/dist/lix-plugin/applyChanges.test.js.map +1 -0
  100. package/dist/lix-plugin/detectConflicts.d.ts +3 -0
  101. package/dist/lix-plugin/detectConflicts.d.ts.map +1 -0
  102. package/dist/lix-plugin/detectConflicts.js +47 -0
  103. package/dist/lix-plugin/detectConflicts.js.map +1 -0
  104. package/dist/lix-plugin/detectConflicts.test.d.ts +2 -0
  105. package/dist/lix-plugin/detectConflicts.test.d.ts.map +1 -0
  106. package/dist/lix-plugin/detectConflicts.test.js +251 -0
  107. package/dist/lix-plugin/detectConflicts.test.js.map +1 -0
  108. package/dist/lix-plugin/inlangLixPluginV1.d.ts +8 -0
  109. package/dist/lix-plugin/inlangLixPluginV1.d.ts.map +1 -0
  110. package/dist/lix-plugin/inlangLixPluginV1.js +109 -0
  111. package/dist/lix-plugin/inlangLixPluginV1.js.map +1 -0
  112. package/dist/lix-plugin/inlangLixPluginV1.test.d.ts +2 -0
  113. package/dist/lix-plugin/inlangLixPluginV1.test.d.ts.map +1 -0
  114. package/dist/lix-plugin/inlangLixPluginV1.test.js +418 -0
  115. package/dist/lix-plugin/inlangLixPluginV1.test.js.map +1 -0
  116. package/dist/lix-plugin/merge.test.d.ts +2 -0
  117. package/dist/lix-plugin/merge.test.d.ts.map +1 -0
  118. package/dist/lix-plugin/merge.test.js +120 -0
  119. package/dist/lix-plugin/merge.test.js.map +1 -0
  120. package/dist/lix-plugin/resolveConflictBySelecting.test.d.ts +2 -0
  121. package/dist/lix-plugin/resolveConflictBySelecting.test.d.ts.map +1 -0
  122. package/dist/lix-plugin/resolveConflictBySelecting.test.js +176 -0
  123. package/dist/lix-plugin/resolveConflictBySelecting.test.js.map +1 -0
  124. package/dist/migrations/v2/createMessageV1.d.ts +28 -0
  125. package/dist/migrations/v2/createMessageV1.d.ts.map +1 -0
  126. package/dist/migrations/v2/createMessageV1.js +31 -0
  127. package/dist/migrations/v2/createMessageV1.js.map +1 -0
  128. package/dist/migrations/v2/withLanguageTagToLocaleMigration.d.ts +9 -0
  129. package/dist/migrations/v2/withLanguageTagToLocaleMigration.d.ts.map +1 -0
  130. package/dist/migrations/v2/withLanguageTagToLocaleMigration.js +31 -0
  131. package/dist/migrations/v2/withLanguageTagToLocaleMigration.js.map +1 -0
  132. package/dist/migrations/v2/withLanguageTagToLocaleMigration.test.d.ts +2 -0
  133. package/dist/migrations/v2/withLanguageTagToLocaleMigration.test.d.ts.map +1 -0
  134. package/dist/migrations/v2/withLanguageTagToLocaleMigration.test.js +45 -0
  135. package/dist/migrations/v2/withLanguageTagToLocaleMigration.test.js.map +1 -0
  136. package/dist/plugin/cache.d.ts +6 -0
  137. package/dist/plugin/cache.d.ts.map +1 -0
  138. package/dist/plugin/cache.js +59 -0
  139. package/dist/plugin/cache.js.map +1 -0
  140. package/dist/plugin/cache.test.d.ts +2 -0
  141. package/dist/plugin/cache.test.d.ts.map +1 -0
  142. package/dist/plugin/cache.test.js +61 -0
  143. package/dist/plugin/cache.test.js.map +1 -0
  144. package/dist/plugin/errors.d.ts +41 -0
  145. package/dist/plugin/errors.d.ts.map +1 -0
  146. package/dist/plugin/errors.js +48 -0
  147. package/dist/plugin/errors.js.map +1 -0
  148. package/dist/plugin/importPlugins.d.ts +19 -0
  149. package/dist/plugin/importPlugins.d.ts.map +1 -0
  150. package/dist/plugin/importPlugins.js +43 -0
  151. package/dist/plugin/importPlugins.js.map +1 -0
  152. package/dist/plugin/importPlugins.test.d.ts +2 -0
  153. package/dist/plugin/importPlugins.test.d.ts.map +1 -0
  154. package/dist/plugin/importPlugins.test.js +95 -0
  155. package/dist/plugin/importPlugins.test.js.map +1 -0
  156. package/dist/plugin/meta/ideExtension.d.ts +54 -0
  157. package/dist/plugin/meta/ideExtension.d.ts.map +1 -0
  158. package/dist/plugin/meta/ideExtension.js +5 -0
  159. package/dist/plugin/meta/ideExtension.js.map +1 -0
  160. package/dist/plugin/schema.d.ts +152 -0
  161. package/dist/plugin/schema.d.ts.map +1 -0
  162. package/dist/plugin/schema.js +5 -0
  163. package/dist/plugin/schema.js.map +1 -0
  164. package/dist/project/api.d.ts +74 -0
  165. package/dist/project/api.d.ts.map +1 -0
  166. package/dist/project/api.js +5 -0
  167. package/dist/project/api.js.map +1 -0
  168. package/dist/project/initHandleSaveToLixOnChange.d.ts +14 -0
  169. package/dist/project/initHandleSaveToLixOnChange.d.ts.map +1 -0
  170. package/dist/project/initHandleSaveToLixOnChange.js +87 -0
  171. package/dist/project/initHandleSaveToLixOnChange.js.map +1 -0
  172. package/dist/project/loadProject.d.ts +53 -0
  173. package/dist/project/loadProject.d.ts.map +1 -0
  174. package/dist/project/loadProject.js +167 -0
  175. package/dist/project/loadProject.js.map +1 -0
  176. package/dist/project/loadProject.test.d.ts.map +1 -0
  177. package/dist/project/loadProject.test.js +146 -0
  178. package/dist/project/loadProject.test.js.map +1 -0
  179. package/dist/project/loadProjectFromDirectory.d.ts +77 -0
  180. package/dist/project/loadProjectFromDirectory.d.ts.map +1 -0
  181. package/dist/project/loadProjectFromDirectory.js +584 -0
  182. package/dist/project/loadProjectFromDirectory.js.map +1 -0
  183. package/dist/project/loadProjectFromDirectory.test.d.ts +2 -0
  184. package/dist/project/loadProjectFromDirectory.test.d.ts.map +1 -0
  185. package/dist/project/loadProjectFromDirectory.test.js +663 -0
  186. package/dist/project/loadProjectFromDirectory.test.js.map +1 -0
  187. package/dist/project/loadProjectInMemory.d.ts +8 -0
  188. package/dist/project/loadProjectInMemory.d.ts.map +1 -0
  189. package/dist/project/loadProjectInMemory.js +32 -0
  190. package/dist/project/loadProjectInMemory.js.map +1 -0
  191. package/dist/project/loadProjectInMemory.test.d.ts +2 -0
  192. package/dist/project/loadProjectInMemory.test.d.ts.map +1 -0
  193. package/dist/project/loadProjectInMemory.test.js +27 -0
  194. package/dist/project/loadProjectInMemory.test.js.map +1 -0
  195. package/dist/project/maybeCaptureTelemetry.d.ts +13 -0
  196. package/dist/project/maybeCaptureTelemetry.d.ts.map +1 -0
  197. package/dist/project/maybeCaptureTelemetry.js +53 -0
  198. package/dist/project/maybeCaptureTelemetry.js.map +1 -0
  199. package/dist/project/maybeCaptureTelemetry.test.d.ts +2 -0
  200. package/dist/project/maybeCaptureTelemetry.test.d.ts.map +1 -0
  201. package/dist/project/maybeCaptureTelemetry.test.js +65 -0
  202. package/dist/project/maybeCaptureTelemetry.test.js.map +1 -0
  203. package/dist/project/newProject.d.ts +17 -0
  204. package/dist/project/newProject.d.ts.map +1 -0
  205. package/dist/project/newProject.js +71 -0
  206. package/dist/project/newProject.js.map +1 -0
  207. package/dist/project/newProject.test.d.ts +2 -0
  208. package/dist/project/newProject.test.d.ts.map +1 -0
  209. package/dist/project/newProject.test.js +37 -0
  210. package/dist/project/newProject.test.js.map +1 -0
  211. package/dist/project/saveProjectToDirectory.d.ts +8 -0
  212. package/dist/project/saveProjectToDirectory.d.ts.map +1 -0
  213. package/dist/project/saveProjectToDirectory.js +86 -0
  214. package/dist/project/saveProjectToDirectory.js.map +1 -0
  215. package/dist/project/saveProjectToDirectory.test.d.ts +2 -0
  216. package/dist/project/saveProjectToDirectory.test.d.ts.map +1 -0
  217. package/dist/project/saveProjectToDirectory.test.js +245 -0
  218. package/dist/project/saveProjectToDirectory.test.js.map +1 -0
  219. package/dist/project/state/id$.d.ts +6 -0
  220. package/dist/project/state/id$.d.ts.map +1 -0
  221. package/dist/project/state/id$.js +19 -0
  222. package/dist/project/state/id$.js.map +1 -0
  223. package/dist/project/state/id$.test.d.ts +2 -0
  224. package/dist/project/state/id$.test.d.ts.map +1 -0
  225. package/dist/project/state/id$.test.js +36 -0
  226. package/dist/project/state/id$.test.js.map +1 -0
  227. package/dist/project/state/setSettings.d.ts +7 -0
  228. package/dist/project/state/setSettings.d.ts.map +1 -0
  229. package/dist/project/state/setSettings.js +16 -0
  230. package/dist/project/state/setSettings.js.map +1 -0
  231. package/dist/project/state/setSettings.test.d.ts +2 -0
  232. package/dist/project/state/setSettings.test.d.ts.map +1 -0
  233. package/dist/project/state/setSettings.test.js +58 -0
  234. package/dist/project/state/setSettings.test.js.map +1 -0
  235. package/dist/project/state/settings$.d.ts +7 -0
  236. package/dist/project/state/settings$.d.ts.map +1 -0
  237. package/dist/project/state/settings$.js +21 -0
  238. package/dist/project/state/settings$.js.map +1 -0
  239. package/dist/project/state/settings$.test.d.ts +2 -0
  240. package/dist/project/state/settings$.test.d.ts.map +1 -0
  241. package/dist/project/state/settings$.test.js +51 -0
  242. package/dist/project/state/settings$.test.js.map +1 -0
  243. package/dist/project/state/state.d.ts +58 -0
  244. package/dist/project/state/state.d.ts.map +1 -0
  245. package/dist/project/state/state.js +67 -0
  246. package/dist/project/state/state.js.map +1 -0
  247. package/dist/project/state/state.test.d.ts +2 -0
  248. package/dist/project/state/state.test.d.ts.map +1 -0
  249. package/dist/project/state/state.test.js +103 -0
  250. package/dist/project/state/state.test.js.map +1 -0
  251. package/dist/query-utilities/index.d.ts +5 -0
  252. package/dist/query-utilities/index.d.ts.map +1 -0
  253. package/dist/query-utilities/index.js +8 -0
  254. package/dist/query-utilities/index.js.map +1 -0
  255. package/dist/query-utilities/insertBundleNested.d.ts +4 -0
  256. package/dist/query-utilities/insertBundleNested.d.ts.map +1 -0
  257. package/dist/query-utilities/insertBundleNested.js +39 -0
  258. package/dist/query-utilities/insertBundleNested.js.map +1 -0
  259. package/dist/query-utilities/pollQuery.d.ts +14 -0
  260. package/dist/query-utilities/pollQuery.d.ts.map +1 -0
  261. package/dist/query-utilities/pollQuery.js +22 -0
  262. package/dist/query-utilities/pollQuery.js.map +1 -0
  263. package/dist/query-utilities/pollQuery.test.d.ts +2 -0
  264. package/dist/query-utilities/pollQuery.test.d.ts.map +1 -0
  265. package/dist/query-utilities/pollQuery.test.js +67 -0
  266. package/dist/query-utilities/pollQuery.test.js.map +1 -0
  267. package/dist/query-utilities/selectBundleNested.d.ts +107 -0
  268. package/dist/query-utilities/selectBundleNested.d.ts.map +1 -0
  269. package/dist/query-utilities/selectBundleNested.js +43 -0
  270. package/dist/query-utilities/selectBundleNested.js.map +1 -0
  271. package/dist/query-utilities/updateBundleNested.d.ts +12 -0
  272. package/dist/query-utilities/updateBundleNested.d.ts.map +1 -0
  273. package/dist/query-utilities/updateBundleNested.js +25 -0
  274. package/dist/query-utilities/updateBundleNested.js.map +1 -0
  275. package/dist/query-utilities/upsertBundleNested.d.ts +4 -0
  276. package/dist/query-utilities/upsertBundleNested.d.ts.map +1 -0
  277. package/dist/query-utilities/upsertBundleNested.js +50 -0
  278. package/dist/query-utilities/upsertBundleNested.js.map +1 -0
  279. package/dist/services/env-variables/index.d.ts +6 -0
  280. package/dist/services/env-variables/index.d.ts.map +1 -0
  281. package/dist/services/env-variables/index.js +9 -0
  282. package/dist/services/env-variables/index.js.map +1 -0
  283. package/dist/services/error-reporting/index.d.ts +15 -0
  284. package/dist/services/error-reporting/index.d.ts.map +1 -0
  285. package/dist/services/error-reporting/index.js +30 -0
  286. package/dist/services/error-reporting/index.js.map +1 -0
  287. package/dist/{telemetry → services/telemetry}/capture.d.ts +4 -2
  288. package/dist/services/telemetry/capture.d.ts.map +1 -0
  289. package/dist/services/telemetry/capture.js +77 -0
  290. package/dist/services/telemetry/capture.js.map +1 -0
  291. package/dist/services/telemetry/capture.test.d.ts +2 -0
  292. package/dist/services/telemetry/capture.test.d.ts.map +1 -0
  293. package/dist/services/telemetry/capture.test.js +44 -0
  294. package/dist/services/telemetry/capture.test.js.map +1 -0
  295. package/dist/utilities/detectJsonFormatting.d.ts +11 -0
  296. package/dist/utilities/detectJsonFormatting.d.ts.map +1 -0
  297. package/dist/utilities/detectJsonFormatting.js +83 -0
  298. package/dist/utilities/detectJsonFormatting.js.map +1 -0
  299. package/dist/utilities/detectJsonFormatting.test.d.ts +2 -0
  300. package/dist/utilities/detectJsonFormatting.test.d.ts.map +1 -0
  301. package/dist/utilities/detectJsonFormatting.test.js +33 -0
  302. package/dist/utilities/detectJsonFormatting.test.js.map +1 -0
  303. package/package.json +32 -40
  304. package/src/database/initDb.ts +34 -0
  305. package/src/database/initDbAndSchema.test.ts +125 -0
  306. package/src/database/jsonbPlugin.test.ts +154 -0
  307. package/src/database/jsonbPlugin.ts +215 -0
  308. package/src/database/schema.ts +127 -0
  309. package/src/helper.ts +113 -0
  310. package/src/human-id/human-id.ts +14 -0
  311. package/src/{storage/human-id → human-id}/words.test.ts +14 -14
  312. package/src/{storage/human-id → human-id}/words.ts +4 -4
  313. package/src/import-export/exportFiles.ts +36 -0
  314. package/src/import-export/importFiles.test.ts +211 -0
  315. package/src/import-export/importFiles.ts +142 -0
  316. package/src/import-export/roundtrip.test.ts +313 -0
  317. package/src/import-export/upsertBundleNestedMatchByProperties.ts +74 -0
  318. package/src/index.ts +29 -37
  319. package/src/json-schema/old-v1-message/README.md +1 -0
  320. package/src/json-schema/old-v1-message/fromMessageV1.test.ts +87 -0
  321. package/src/json-schema/old-v1-message/fromMessageV1.ts +99 -0
  322. package/src/json-schema/old-v1-message/schemaV1.ts +66 -0
  323. package/src/json-schema/old-v1-message/toMessageV1.test.ts +87 -0
  324. package/src/json-schema/old-v1-message/toMessageV1.ts +79 -0
  325. package/src/json-schema/pattern.ts +59 -0
  326. package/src/json-schema/settings.test-d.ts +21 -0
  327. package/src/json-schema/settings.ts +138 -0
  328. package/src/lix-plugin/applyChanges.test.ts +150 -0
  329. package/src/lix-plugin/applyChanges.ts +171 -0
  330. package/src/lix-plugin/detectConflicts.test.ts +286 -0
  331. package/src/lix-plugin/detectConflicts.ts +62 -0
  332. package/src/lix-plugin/inlangLixPluginV1.test.ts +439 -0
  333. package/src/lix-plugin/inlangLixPluginV1.ts +132 -0
  334. package/src/lix-plugin/merge.test.ts +133 -0
  335. package/src/lix-plugin/resolveConflictBySelecting.test.ts +188 -0
  336. package/src/migrations/v2/createMessageV1.ts +37 -0
  337. package/src/migrations/v2/withLanguageTagToLocaleMigration.test.ts +51 -0
  338. package/src/migrations/v2/withLanguageTagToLocaleMigration.ts +31 -0
  339. package/src/plugin/cache.test.ts +83 -0
  340. package/src/plugin/cache.ts +79 -0
  341. package/src/plugin/errors.ts +67 -0
  342. package/src/plugin/importPlugins.test.ts +107 -0
  343. package/src/plugin/importPlugins.ts +60 -0
  344. package/src/plugin/meta/ideExtension.ts +56 -0
  345. package/src/plugin/schema.ts +165 -0
  346. package/src/project/api.ts +77 -0
  347. package/src/project/initHandleSaveToLixOnChange.ts +93 -0
  348. package/src/project/loadProject.test.ts +177 -0
  349. package/src/project/loadProject.ts +245 -0
  350. package/src/project/loadProjectFromDirectory.test.ts +854 -0
  351. package/src/project/loadProjectFromDirectory.ts +752 -0
  352. package/src/project/loadProjectInMemory.test.ts +29 -0
  353. package/src/project/loadProjectInMemory.ts +36 -0
  354. package/src/project/maybeCaptureTelemetry.test.ts +72 -0
  355. package/src/project/maybeCaptureTelemetry.ts +61 -0
  356. package/src/project/newProject.test.ts +36 -0
  357. package/src/project/newProject.ts +78 -0
  358. package/src/project/saveProjectToDirectory.test.ts +310 -0
  359. package/src/project/saveProjectToDirectory.ts +100 -0
  360. package/src/query-utilities/index.ts +4 -0
  361. package/src/query-utilities/insertBundleNested.ts +46 -0
  362. package/src/query-utilities/selectBundleNested.ts +46 -0
  363. package/src/query-utilities/updateBundleNested.ts +35 -0
  364. package/src/query-utilities/upsertBundleNested.ts +61 -0
  365. package/src/services/env-variables/createIndexFile.js +40 -0
  366. package/src/{env-variables → services/env-variables}/index.d.ts +8 -5
  367. package/src/services/error-reporting/index.ts +28 -0
  368. package/src/services/telemetry/capture.test.ts +48 -0
  369. package/src/services/telemetry/capture.ts +98 -0
  370. package/src/utilities/detectJsonFormatting.test.ts +38 -0
  371. package/src/utilities/detectJsonFormatting.ts +109 -0
  372. package/dist/adapter/solidAdapter.d.ts +0 -33
  373. package/dist/adapter/solidAdapter.d.ts.map +0 -1
  374. package/dist/adapter/solidAdapter.js +0 -40
  375. package/dist/adapter/solidAdapter.test.d.ts +0 -2
  376. package/dist/adapter/solidAdapter.test.d.ts.map +0 -1
  377. package/dist/adapter/solidAdapter.test.js +0 -356
  378. package/dist/api.d.ts +0 -113
  379. package/dist/api.d.ts.map +0 -1
  380. package/dist/api.js +0 -1
  381. package/dist/api.test-d.d.ts +0 -2
  382. package/dist/api.test-d.d.ts.map +0 -1
  383. package/dist/api.test-d.js +0 -4
  384. package/dist/createMessageLintReportsQuery.d.ts +0 -12
  385. package/dist/createMessageLintReportsQuery.d.ts.map +0 -1
  386. package/dist/createMessageLintReportsQuery.js +0 -176
  387. package/dist/createMessagesQuery.d.ts +0 -19
  388. package/dist/createMessagesQuery.d.ts.map +0 -1
  389. package/dist/createMessagesQuery.js +0 -451
  390. package/dist/createMessagesQuery.test.d.ts +0 -2
  391. package/dist/createMessagesQuery.test.d.ts.map +0 -1
  392. package/dist/createMessagesQuery.test.js +0 -402
  393. package/dist/createNewProject.d.ts +0 -12
  394. package/dist/createNewProject.d.ts.map +0 -1
  395. package/dist/createNewProject.js +0 -38
  396. package/dist/createNewProject.test.d.ts +0 -2
  397. package/dist/createNewProject.test.d.ts.map +0 -1
  398. package/dist/createNewProject.test.js +0 -91
  399. package/dist/createNodeishFsWithAbsolutePaths.d.ts +0 -12
  400. package/dist/createNodeishFsWithAbsolutePaths.d.ts.map +0 -1
  401. package/dist/createNodeishFsWithAbsolutePaths.js +0 -38
  402. package/dist/createNodeishFsWithAbsolutePaths.test.d.ts +0 -2
  403. package/dist/createNodeishFsWithAbsolutePaths.test.d.ts.map +0 -1
  404. package/dist/createNodeishFsWithAbsolutePaths.test.js +0 -44
  405. package/dist/createNodeishFsWithWatcher.d.ts +0 -14
  406. package/dist/createNodeishFsWithWatcher.d.ts.map +0 -1
  407. package/dist/createNodeishFsWithWatcher.js +0 -75
  408. package/dist/createNodeishFsWithWatcher.test.d.ts +0 -2
  409. package/dist/createNodeishFsWithWatcher.test.d.ts.map +0 -1
  410. package/dist/createNodeishFsWithWatcher.test.js +0 -38
  411. package/dist/defaultProjectSettings.d.ts +0 -14
  412. package/dist/defaultProjectSettings.d.ts.map +0 -1
  413. package/dist/defaultProjectSettings.js +0 -22
  414. package/dist/env-variables/index.d.ts +0 -4
  415. package/dist/env-variables/index.d.ts.map +0 -1
  416. package/dist/env-variables/index.js +0 -3
  417. package/dist/errors.d.ts +0 -48
  418. package/dist/errors.d.ts.map +0 -1
  419. package/dist/errors.js +0 -62
  420. package/dist/lint/index.d.ts +0 -3
  421. package/dist/lint/index.d.ts.map +0 -1
  422. package/dist/lint/index.js +0 -2
  423. package/dist/lint/message/errors.d.ts +0 -7
  424. package/dist/lint/message/errors.d.ts.map +0 -1
  425. package/dist/lint/message/errors.js +0 -9
  426. package/dist/lint/message/lintMessages.d.ts +0 -13
  427. package/dist/lint/message/lintMessages.d.ts.map +0 -1
  428. package/dist/lint/message/lintMessages.js +0 -12
  429. package/dist/lint/message/lintMessages.test.d.ts +0 -2
  430. package/dist/lint/message/lintMessages.test.d.ts.map +0 -1
  431. package/dist/lint/message/lintMessages.test.js +0 -107
  432. package/dist/lint/message/lintSingleMessage.d.ts +0 -19
  433. package/dist/lint/message/lintSingleMessage.d.ts.map +0 -1
  434. package/dist/lint/message/lintSingleMessage.js +0 -38
  435. package/dist/lint/message/lintSingleMessage.test.d.ts +0 -2
  436. package/dist/lint/message/lintSingleMessage.test.d.ts.map +0 -1
  437. package/dist/lint/message/lintSingleMessage.test.js +0 -161
  438. package/dist/listProjects.d.ts +0 -5
  439. package/dist/listProjects.d.ts.map +0 -1
  440. package/dist/listProjects.js +0 -38
  441. package/dist/listProjects.test.d.ts +0 -2
  442. package/dist/listProjects.test.d.ts.map +0 -1
  443. package/dist/listProjects.test.js +0 -72
  444. package/dist/loadProject.d.ts +0 -19
  445. package/dist/loadProject.d.ts.map +0 -1
  446. package/dist/loadProject.js +0 -343
  447. package/dist/loadProject.test.d.ts.map +0 -1
  448. package/dist/loadProject.test.js +0 -975
  449. package/dist/messages/errors.d.ts +0 -13
  450. package/dist/messages/errors.d.ts.map +0 -1
  451. package/dist/messages/errors.js +0 -18
  452. package/dist/messages/index.d.ts +0 -3
  453. package/dist/messages/index.d.ts.map +0 -1
  454. package/dist/messages/index.js +0 -2
  455. package/dist/messages/variant.d.ts +0 -46
  456. package/dist/messages/variant.d.ts.map +0 -1
  457. package/dist/messages/variant.js +0 -176
  458. package/dist/messages/variant.test.d.ts +0 -2
  459. package/dist/messages/variant.test.d.ts.map +0 -1
  460. package/dist/messages/variant.test.js +0 -439
  461. package/dist/migrations/maybeAddModuleCache.d.ts +0 -6
  462. package/dist/migrations/maybeAddModuleCache.d.ts.map +0 -1
  463. package/dist/migrations/maybeAddModuleCache.js +0 -62
  464. package/dist/migrations/maybeCreateFirstProjectId.d.ts +0 -16
  465. package/dist/migrations/maybeCreateFirstProjectId.d.ts.map +0 -1
  466. package/dist/migrations/maybeCreateFirstProjectId.js +0 -46
  467. package/dist/migrations/maybeCreateFirstProjectId.test.d.ts +0 -2
  468. package/dist/migrations/maybeCreateFirstProjectId.test.d.ts.map +0 -1
  469. package/dist/migrations/maybeCreateFirstProjectId.test.js +0 -24
  470. package/dist/migrations/migrateToDirectory.d.ts +0 -10
  471. package/dist/migrations/migrateToDirectory.d.ts.map +0 -1
  472. package/dist/migrations/migrateToDirectory.js +0 -48
  473. package/dist/migrations/migrateToDirectory.test.d.ts +0 -2
  474. package/dist/migrations/migrateToDirectory.test.d.ts.map +0 -1
  475. package/dist/migrations/migrateToDirectory.test.js +0 -48
  476. package/dist/parseConfig.d.ts +0 -8
  477. package/dist/parseConfig.d.ts.map +0 -1
  478. package/dist/parseConfig.js +0 -26
  479. package/dist/persistence/batchedIO.d.ts +0 -11
  480. package/dist/persistence/batchedIO.d.ts.map +0 -1
  481. package/dist/persistence/batchedIO.js +0 -49
  482. package/dist/persistence/batchedIO.test.d.ts +0 -2
  483. package/dist/persistence/batchedIO.test.d.ts.map +0 -1
  484. package/dist/persistence/batchedIO.test.js +0 -56
  485. package/dist/persistence/filelock/acquireFileLock.d.ts +0 -3
  486. package/dist/persistence/filelock/acquireFileLock.d.ts.map +0 -1
  487. package/dist/persistence/filelock/acquireFileLock.js +0 -111
  488. package/dist/persistence/filelock/releaseLock.d.ts +0 -3
  489. package/dist/persistence/filelock/releaseLock.d.ts.map +0 -1
  490. package/dist/persistence/filelock/releaseLock.js +0 -24
  491. package/dist/persistence/store.d.ts +0 -107
  492. package/dist/persistence/store.d.ts.map +0 -1
  493. package/dist/persistence/store.js +0 -99
  494. package/dist/persistence/store.test.d.ts +0 -2
  495. package/dist/persistence/store.test.d.ts.map +0 -1
  496. package/dist/persistence/store.test.js +0 -79
  497. package/dist/persistence/storeApi.d.ts +0 -22
  498. package/dist/persistence/storeApi.d.ts.map +0 -1
  499. package/dist/persistence/storeApi.js +0 -1
  500. package/dist/reactivity/map.d.ts +0 -67
  501. package/dist/reactivity/map.d.ts.map +0 -1
  502. package/dist/reactivity/map.js +0 -143
  503. package/dist/reactivity/solid.d.ts +0 -14
  504. package/dist/reactivity/solid.d.ts.map +0 -1
  505. package/dist/reactivity/solid.js +0 -15
  506. package/dist/reactivity/solid.test.d.ts +0 -2
  507. package/dist/reactivity/solid.test.d.ts.map +0 -1
  508. package/dist/reactivity/solid.test.js +0 -189
  509. package/dist/reactivity/trigger.d.ts +0 -11
  510. package/dist/reactivity/trigger.d.ts.map +0 -1
  511. package/dist/reactivity/trigger.js +0 -46
  512. package/dist/resolve-modules/cache.d.ts +0 -6
  513. package/dist/resolve-modules/cache.d.ts.map +0 -1
  514. package/dist/resolve-modules/cache.js +0 -58
  515. package/dist/resolve-modules/errors.d.ts +0 -41
  516. package/dist/resolve-modules/errors.d.ts.map +0 -1
  517. package/dist/resolve-modules/errors.js +0 -45
  518. package/dist/resolve-modules/import.d.ts +0 -19
  519. package/dist/resolve-modules/import.d.ts.map +0 -1
  520. package/dist/resolve-modules/import.js +0 -102
  521. package/dist/resolve-modules/import.test.d.ts +0 -2
  522. package/dist/resolve-modules/import.test.d.ts.map +0 -1
  523. package/dist/resolve-modules/import.test.js +0 -47
  524. package/dist/resolve-modules/index.d.ts +0 -3
  525. package/dist/resolve-modules/index.d.ts.map +0 -1
  526. package/dist/resolve-modules/index.js +0 -2
  527. package/dist/resolve-modules/message-lint-rules/errors.d.ts +0 -9
  528. package/dist/resolve-modules/message-lint-rules/errors.d.ts.map +0 -1
  529. package/dist/resolve-modules/message-lint-rules/errors.js +0 -6
  530. package/dist/resolve-modules/message-lint-rules/resolveMessageLintRules.d.ts +0 -9
  531. package/dist/resolve-modules/message-lint-rules/resolveMessageLintRules.d.ts.map +0 -1
  532. package/dist/resolve-modules/message-lint-rules/resolveMessageLintRules.js +0 -24
  533. package/dist/resolve-modules/plugins/errors.d.ts +0 -33
  534. package/dist/resolve-modules/plugins/errors.d.ts.map +0 -1
  535. package/dist/resolve-modules/plugins/errors.js +0 -38
  536. package/dist/resolve-modules/plugins/resolvePlugins.d.ts +0 -3
  537. package/dist/resolve-modules/plugins/resolvePlugins.d.ts.map +0 -1
  538. package/dist/resolve-modules/plugins/resolvePlugins.js +0 -92
  539. package/dist/resolve-modules/plugins/resolvePlugins.test.d.ts +0 -2
  540. package/dist/resolve-modules/plugins/resolvePlugins.test.d.ts.map +0 -1
  541. package/dist/resolve-modules/plugins/resolvePlugins.test.js +0 -252
  542. package/dist/resolve-modules/plugins/types.d.ts +0 -57
  543. package/dist/resolve-modules/plugins/types.d.ts.map +0 -1
  544. package/dist/resolve-modules/plugins/types.js +0 -1
  545. package/dist/resolve-modules/plugins/types.test.d.ts +0 -2
  546. package/dist/resolve-modules/plugins/types.test.d.ts.map +0 -1
  547. package/dist/resolve-modules/plugins/types.test.js +0 -45
  548. package/dist/resolve-modules/resolveModules.d.ts +0 -3
  549. package/dist/resolve-modules/resolveModules.d.ts.map +0 -1
  550. package/dist/resolve-modules/resolveModules.js +0 -80
  551. package/dist/resolve-modules/resolveModules.test.d.ts +0 -2
  552. package/dist/resolve-modules/resolveModules.test.d.ts.map +0 -1
  553. package/dist/resolve-modules/resolveModules.test.js +0 -185
  554. package/dist/resolve-modules/types.d.ts +0 -63
  555. package/dist/resolve-modules/types.d.ts.map +0 -1
  556. package/dist/resolve-modules/types.js +0 -1
  557. package/dist/resolve-modules/validateModuleSettings.test.d.ts +0 -2
  558. package/dist/resolve-modules/validateModuleSettings.test.d.ts.map +0 -1
  559. package/dist/resolve-modules/validateModuleSettings.test.js +0 -71
  560. package/dist/resolve-modules/validatedModuleSettings.d.ts +0 -7
  561. package/dist/resolve-modules/validatedModuleSettings.d.ts.map +0 -1
  562. package/dist/resolve-modules/validatedModuleSettings.js +0 -11
  563. package/dist/storage/helper.d.ts +0 -11
  564. package/dist/storage/helper.d.ts.map +0 -1
  565. package/dist/storage/helper.js +0 -63
  566. package/dist/storage/helpers.test.d.ts +0 -2
  567. package/dist/storage/helpers.test.d.ts.map +0 -1
  568. package/dist/storage/helpers.test.js +0 -84
  569. package/dist/storage/human-id/human-readable-id.d.ts +0 -3
  570. package/dist/storage/human-id/human-readable-id.d.ts.map +0 -1
  571. package/dist/storage/human-id/human-readable-id.js +0 -20
  572. package/dist/storage/human-id/words.d.ts.map +0 -1
  573. package/dist/storage/human-id/words.test.d.ts.map +0 -1
  574. package/dist/telemetry/capture.d.ts.map +0 -1
  575. package/dist/telemetry/capture.js +0 -39
  576. package/dist/telemetry/groupIdentify.d.ts +0 -13
  577. package/dist/telemetry/groupIdentify.d.ts.map +0 -1
  578. package/dist/telemetry/groupIdentify.js +0 -35
  579. package/dist/test-utilities/createMessage.d.ts +0 -18
  580. package/dist/test-utilities/createMessage.d.ts.map +0 -1
  581. package/dist/test-utilities/createMessage.js +0 -17
  582. package/dist/test-utilities/createMessage.test.d.ts +0 -2
  583. package/dist/test-utilities/createMessage.test.d.ts.map +0 -1
  584. package/dist/test-utilities/createMessage.test.js +0 -106
  585. package/dist/test-utilities/index.d.ts +0 -3
  586. package/dist/test-utilities/index.d.ts.map +0 -1
  587. package/dist/test-utilities/index.js +0 -2
  588. package/dist/test-utilities/sleep.d.ts +0 -4
  589. package/dist/test-utilities/sleep.d.ts.map +0 -1
  590. package/dist/test-utilities/sleep.js +0 -9
  591. package/dist/v2/helper.d.ts +0 -43
  592. package/dist/v2/helper.d.ts.map +0 -1
  593. package/dist/v2/helper.js +0 -75
  594. package/dist/v2/helper.test.d.ts +0 -2
  595. package/dist/v2/helper.test.d.ts.map +0 -1
  596. package/dist/v2/helper.test.js +0 -92
  597. package/dist/v2/index.d.ts +0 -4
  598. package/dist/v2/index.d.ts.map +0 -1
  599. package/dist/v2/index.js +0 -2
  600. package/dist/v2/mocks/index.d.ts +0 -3
  601. package/dist/v2/mocks/index.d.ts.map +0 -1
  602. package/dist/v2/mocks/index.js +0 -2
  603. package/dist/v2/mocks/multipleMatcher/bundle.d.ts +0 -3
  604. package/dist/v2/mocks/multipleMatcher/bundle.d.ts.map +0 -1
  605. package/dist/v2/mocks/multipleMatcher/bundle.js +0 -194
  606. package/dist/v2/mocks/multipleMatcher/bundle.test.d.ts +0 -2
  607. package/dist/v2/mocks/multipleMatcher/bundle.test.d.ts.map +0 -1
  608. package/dist/v2/mocks/multipleMatcher/bundle.test.js +0 -10
  609. package/dist/v2/mocks/plural/bundle.d.ts +0 -3
  610. package/dist/v2/mocks/plural/bundle.d.ts.map +0 -1
  611. package/dist/v2/mocks/plural/bundle.js +0 -162
  612. package/dist/v2/mocks/plural/bundle.test.d.ts +0 -2
  613. package/dist/v2/mocks/plural/bundle.test.d.ts.map +0 -1
  614. package/dist/v2/mocks/plural/bundle.test.js +0 -15
  615. package/dist/v2/shim.d.ts +0 -12
  616. package/dist/v2/shim.d.ts.map +0 -1
  617. package/dist/v2/shim.js +0 -151
  618. package/dist/v2/shim.test.d.ts +0 -2
  619. package/dist/v2/shim.test.d.ts.map +0 -1
  620. package/dist/v2/shim.test.js +0 -49
  621. package/dist/v2/stubQueryApi.d.ts +0 -9
  622. package/dist/v2/stubQueryApi.d.ts.map +0 -1
  623. package/dist/v2/stubQueryApi.js +0 -38
  624. package/dist/v2/types.d.ts +0 -521
  625. package/dist/v2/types.d.ts.map +0 -1
  626. package/dist/v2/types.js +0 -78
  627. package/dist/validateProjectPath.d.ts +0 -17
  628. package/dist/validateProjectPath.d.ts.map +0 -1
  629. package/dist/validateProjectPath.js +0 -31
  630. package/dist/validateProjectPath.test.d.ts +0 -2
  631. package/dist/validateProjectPath.test.d.ts.map +0 -1
  632. package/dist/validateProjectPath.test.js +0 -40
  633. package/dist/versionedInterfaces.d.ts +0 -8
  634. package/dist/versionedInterfaces.d.ts.map +0 -1
  635. package/dist/versionedInterfaces.js +0 -8
  636. package/src/adapter/solidAdapter.test.ts +0 -472
  637. package/src/adapter/solidAdapter.ts +0 -79
  638. package/src/api.test-d.ts +0 -8
  639. package/src/api.ts +0 -116
  640. package/src/createMessageLintReportsQuery.ts +0 -225
  641. package/src/createMessagesQuery.test.ts +0 -538
  642. package/src/createMessagesQuery.ts +0 -635
  643. package/src/createNewProject.test.ts +0 -105
  644. package/src/createNewProject.ts +0 -46
  645. package/src/createNodeishFsWithAbsolutePaths.test.ts +0 -55
  646. package/src/createNodeishFsWithAbsolutePaths.ts +0 -52
  647. package/src/createNodeishFsWithWatcher.test.ts +0 -50
  648. package/src/createNodeishFsWithWatcher.ts +0 -85
  649. package/src/defaultProjectSettings.ts +0 -26
  650. package/src/env-variables/.prettierignore +0 -1
  651. package/src/env-variables/createIndexFile.js +0 -28
  652. package/src/errors.ts +0 -84
  653. package/src/lint/index.ts +0 -2
  654. package/src/lint/message/errors.ts +0 -9
  655. package/src/lint/message/lintMessages.test.ts +0 -126
  656. package/src/lint/message/lintMessages.ts +0 -25
  657. package/src/lint/message/lintSingleMessage.test.ts +0 -191
  658. package/src/lint/message/lintSingleMessage.ts +0 -57
  659. package/src/listProjects.test.ts +0 -91
  660. package/src/listProjects.ts +0 -48
  661. package/src/loadProject.test.ts +0 -1173
  662. package/src/loadProject.ts +0 -460
  663. package/src/messages/errors.ts +0 -25
  664. package/src/messages/index.ts +0 -2
  665. package/src/messages/variant.test.ts +0 -511
  666. package/src/messages/variant.ts +0 -247
  667. package/src/migrations/maybeAddModuleCache.ts +0 -68
  668. package/src/migrations/maybeCreateFirstProjectId.test.ts +0 -31
  669. package/src/migrations/maybeCreateFirstProjectId.ts +0 -51
  670. package/src/migrations/migrateToDirectory.test.ts +0 -54
  671. package/src/migrations/migrateToDirectory.ts +0 -62
  672. package/src/parseConfig.ts +0 -35
  673. package/src/persistence/batchedIO.test.ts +0 -63
  674. package/src/persistence/batchedIO.ts +0 -64
  675. package/src/persistence/filelock/acquireFileLock.ts +0 -129
  676. package/src/persistence/filelock/releaseLock.ts +0 -29
  677. package/src/persistence/store.test.ts +0 -102
  678. package/src/persistence/store.ts +0 -119
  679. package/src/persistence/storeApi.ts +0 -19
  680. package/src/reactivity/map.ts +0 -135
  681. package/src/reactivity/solid.test.ts +0 -222
  682. package/src/reactivity/solid.ts +0 -42
  683. package/src/reactivity/trigger.ts +0 -46
  684. package/src/resolve-modules/cache.ts +0 -89
  685. package/src/resolve-modules/errors.ts +0 -69
  686. package/src/resolve-modules/import.test.ts +0 -62
  687. package/src/resolve-modules/import.ts +0 -133
  688. package/src/resolve-modules/index.ts +0 -2
  689. package/src/resolve-modules/message-lint-rules/errors.ts +0 -9
  690. package/src/resolve-modules/message-lint-rules/resolveMessageLintRules.ts +0 -27
  691. package/src/resolve-modules/plugins/errors.ts +0 -56
  692. package/src/resolve-modules/plugins/resolvePlugins.test.ts +0 -301
  693. package/src/resolve-modules/plugins/resolvePlugins.ts +0 -129
  694. package/src/resolve-modules/plugins/types.test.ts +0 -53
  695. package/src/resolve-modules/plugins/types.ts +0 -76
  696. package/src/resolve-modules/resolveModules.test.ts +0 -224
  697. package/src/resolve-modules/resolveModules.ts +0 -113
  698. package/src/resolve-modules/types.ts +0 -72
  699. package/src/resolve-modules/validateModuleSettings.test.ts +0 -85
  700. package/src/resolve-modules/validatedModuleSettings.ts +0 -19
  701. package/src/storage/helper.ts +0 -74
  702. package/src/storage/helpers.test.ts +0 -95
  703. package/src/storage/human-id/human-readable-id.ts +0 -27
  704. package/src/telemetry/capture.ts +0 -49
  705. package/src/telemetry/groupIdentify.ts +0 -41
  706. package/src/test-utilities/createMessage.test.ts +0 -118
  707. package/src/test-utilities/createMessage.ts +0 -21
  708. package/src/test-utilities/index.ts +0 -2
  709. package/src/test-utilities/sleep.ts +0 -11
  710. package/src/v2/helper.test.ts +0 -95
  711. package/src/v2/helper.ts +0 -98
  712. package/src/v2/index.ts +0 -3
  713. package/src/v2/mocks/index.ts +0 -2
  714. package/src/v2/mocks/multipleMatcher/bundle.test.ts +0 -11
  715. package/src/v2/mocks/multipleMatcher/bundle.ts +0 -196
  716. package/src/v2/mocks/plural/bundle.test.ts +0 -18
  717. package/src/v2/mocks/plural/bundle.ts +0 -164
  718. package/src/v2/shim.test.ts +0 -56
  719. package/src/v2/shim.ts +0 -173
  720. package/src/v2/stubQueryApi.ts +0 -43
  721. package/src/v2/types.ts +0 -159
  722. package/src/validateProjectPath.test.ts +0 -50
  723. package/src/validateProjectPath.ts +0 -38
  724. package/src/versionedInterfaces.ts +0 -9
  725. /package/dist/{storage/human-id → human-id}/words.d.ts +0 -0
  726. /package/dist/{storage/human-id → human-id}/words.test.d.ts +0 -0
  727. /package/dist/{loadProject.test.d.ts → project/loadProject.test.d.ts} +0 -0
@@ -1,222 +0,0 @@
1
- import { describe, it, expect } from "vitest"
2
- import { sleep, delay } from "../test-utilities/sleep.js"
3
- import {
4
- createRoot,
5
- createSignal,
6
- createEffect,
7
- createMemo,
8
- createResource,
9
- untrack,
10
- } from "./solid.js"
11
- import { ReactiveMap } from "./map.js"
12
-
13
- describe("vitest", () => {
14
- it("waits for the result of an async function", async () => {
15
- const rval = await delay(42, 1)
16
- expect(rval).toBe(42)
17
- })
18
- })
19
-
20
- describe("solid", () => {
21
- it("await createRoot returns the result the async function", async () => {
22
- let count = 0
23
- await sleep(0)
24
- const rval = await createRoot(async () => {
25
- await sleep(0)
26
- count++
27
- return await delay(42, 1)
28
- })
29
- expect(rval).toBe(42)
30
- expect(count).toBe(1)
31
- })
32
-
33
- it("sets and gets", () => {
34
- const [get, set] = createSignal(0)
35
-
36
- expect(get()).toBe(0)
37
- set(1)
38
- expect(get()).toBe(1)
39
- })
40
-
41
- it("runs an effect whenn the signal value change", () => {
42
- const [get, set] = createSignal(0)
43
- let count = 0
44
- createEffect(() => {
45
- count++
46
- get()
47
- })
48
- expect(count).toBe(1)
49
- set(1)
50
- expect(count).toBe(2)
51
- set(1)
52
- expect(count).toBe(2)
53
- set(0)
54
- expect(count).toBe(3)
55
- })
56
-
57
- it("runs an effect on a derived signal, when the underlying signal changes", () => {
58
- const [get, set] = createSignal(0)
59
- const derived = () => get() * 2
60
- let count = 0
61
- createEffect(() => {
62
- count++
63
- derived()
64
- })
65
- expect(count).toBe(1)
66
- set(1)
67
- expect(count).toBe(2)
68
- set(1)
69
- expect(count).toBe(2)
70
- set(0)
71
- expect(count).toBe(3)
72
- })
73
-
74
- it("signal values are not deep diffed for equality", () => {
75
- const [get, set] = createSignal({ a: 0, b: [1, 2, 3], c: { d: 4 } })
76
- let count = 0
77
- createEffect(() => {
78
- count++
79
- get()
80
- })
81
- expect(count).toBe(1)
82
- set({ a: 0, b: [1, 2, 3], c: { d: 5 } })
83
- expect(count).toBe(2)
84
- set({ a: 0, b: [1, 2, 3], c: { d: 5 } })
85
- expect(count).toBe(3)
86
- set({ a: 0, b: [1, 2, 3], c: { d: 4 } })
87
- expect(count).toBe(4)
88
- })
89
-
90
- it("await in effect prevents signal from being tracked", async () => {
91
- const [get, set] = createSignal(0)
92
- let count = 0
93
- // effect bumps count - depends on get() - never gets called again
94
- createEffect(async () => {
95
- count++
96
- await sleep(0)
97
- get()
98
- })
99
- expect(count).toBe(1)
100
- set(1)
101
- expect(count).toBe(1)
102
- await sleep(0)
103
- set(2)
104
- expect(count).toBe(1)
105
- })
106
-
107
- it("signal behind function call is tracked - same as derived", async () => {
108
- const [get, set] = createSignal(0)
109
- let count = 0
110
- const fn = () => get()
111
- createEffect(async () => {
112
- count++
113
- fn()
114
- })
115
- expect(count).toBe(1)
116
- set(1)
117
- expect(count).toBe(2)
118
- })
119
-
120
- it("Resource async fetch is triggered by signals, and works in effects", async () => {
121
- const [get, set] = createSignal<number>(0)
122
-
123
- const [resource] = createResource(get, async (v) => {
124
- return (await delay(v, 10)) as number
125
- })
126
-
127
- let count = 0
128
- createEffect(() => {
129
- count++
130
- resource()
131
- })
132
-
133
- expect(resource.loading).toBe(true)
134
- expect(resource()).toBe(undefined)
135
- expect(count).toBe(1)
136
-
137
- await sleep(20)
138
- expect(resource.loading).toBe(false)
139
- expect(resource()).toBe(0)
140
- expect(count).toBe(2)
141
-
142
- set(42)
143
- expect(resource.loading).toBe(true)
144
- expect(resource()).toBe(0)
145
- expect(count).toBe(2)
146
-
147
- await sleep(20)
148
- expect(resource.loading).toBe(false)
149
- expect(resource()).toBe(42)
150
- expect(count).toBe(3)
151
- })
152
-
153
- it("memoizes values and updates them when signals change", () => {
154
- const [get, set] = createSignal(0)
155
- let count = 0
156
- const memo = createMemo(() => {
157
- count++
158
- return `memo = ${2 * get()}`
159
- })
160
- expect(count).toBe(1)
161
- expect(memo()).toBe("memo = 0")
162
- expect(count).toBe(1)
163
- expect(memo()).toBe("memo = 0")
164
- expect(count).toBe(1)
165
- set(1)
166
- expect(count).toBe(2)
167
- expect(memo()).toBe("memo = 2")
168
- set(1)
169
- expect(count).toBe(2)
170
- expect(memo()).toBe("memo = 2")
171
- expect(count).toBe(2)
172
- expect(memo()).toBe("memo = 2")
173
- set(1000)
174
- expect(count).toBe(3)
175
- expect(memo()).toBe("memo = 2000")
176
- })
177
- })
178
-
179
- describe("solid", () => {
180
- it("solid reactive map allows to use untrack", () => {
181
- // @ts-expect-error -- ReactiveMap seem to have problems type arguments here
182
- const reactiveMap = new ReactiveMap<string, any>()
183
- const [plainSignal, setPlainSignal] = createSignal(0)
184
-
185
- let shouldTriggerOnBoth = -1
186
- createEffect(() => {
187
- shouldTriggerOnBoth++
188
- reactiveMap.values()
189
- plainSignal()
190
- })
191
-
192
- let shouldTriggerOnReactiveMapOnly = -1
193
- createEffect(() => {
194
- shouldTriggerOnReactiveMapOnly++
195
- reactiveMap.values()
196
- untrack(() => plainSignal())
197
- })
198
-
199
- let shouldTriggerOnPlainSignalOnly = -1
200
- createEffect(() => {
201
- shouldTriggerOnPlainSignalOnly++
202
- untrack(() => reactiveMap.values())
203
- plainSignal()
204
- })
205
-
206
- expect(shouldTriggerOnBoth).toBe(0)
207
- expect(shouldTriggerOnReactiveMapOnly).toBe(0)
208
- expect(shouldTriggerOnPlainSignalOnly).toBe(0)
209
-
210
- setPlainSignal(1)
211
-
212
- expect(shouldTriggerOnBoth).toBe(1)
213
- expect(shouldTriggerOnReactiveMapOnly).toBe(0)
214
- expect(shouldTriggerOnPlainSignalOnly).toBe(1)
215
-
216
- reactiveMap.set("a", "a")
217
-
218
- expect(shouldTriggerOnBoth).toBe(2)
219
- expect(shouldTriggerOnReactiveMapOnly).toBe(1)
220
- expect(shouldTriggerOnPlainSignalOnly).toBe(1)
221
- })
222
- })
@@ -1,42 +0,0 @@
1
- import {
2
- createSignal as _createSignal,
3
- createMemo as _createMemo,
4
- createRoot as _createRoot,
5
- createEffect as _createEffect,
6
- createResource as _createResource,
7
- untrack as _untrack,
8
- observable as _observable,
9
- batch as _batch,
10
- from as _from,
11
- getListener as _getListener,
12
- onCleanup as _onCleanup,
13
- DEV,
14
- // @ts-ignore
15
- } from "solid-js/dist/solid.js"
16
-
17
- const createSignal = _createSignal as typeof import("solid-js")["createSignal"]
18
- const createMemo = _createMemo as typeof import("solid-js")["createMemo"]
19
- const createRoot = _createRoot as typeof import("solid-js")["createRoot"]
20
- const createEffect = _createEffect as typeof import("solid-js")["createEffect"]
21
- const createResource = _createResource as typeof import("solid-js")["createResource"]
22
- const observable = _observable as typeof import("solid-js")["observable"]
23
- const from = _from as typeof import("solid-js")["from"]
24
- const batch = _batch as typeof import("solid-js")["batch"]
25
- const getListener = _getListener as typeof import("solid-js")["getListener"]
26
- const onCleanup = _onCleanup as typeof import("solid-js")["onCleanup"]
27
- const untrack = _untrack as typeof import("solid-js")["untrack"]
28
-
29
- export {
30
- createSignal,
31
- createMemo,
32
- createRoot,
33
- createEffect,
34
- createResource,
35
- observable,
36
- from,
37
- batch,
38
- getListener,
39
- onCleanup,
40
- untrack,
41
- DEV,
42
- }
@@ -1,46 +0,0 @@
1
- // @ts-nocheck
2
- /* eslint-disable */
3
-
4
- import { createSignal, getListener, onCleanup, DEV } from "./solid.js"
5
-
6
- const noop = () => {}
7
-
8
- const isServer = false
9
-
10
- // src/index.ts
11
- var triggerOptions = !isServer && DEV ? { equals: false, name: "trigger" } : { equals: false }
12
- var triggerCacheOptions = !isServer && DEV ? { equals: false, internal: true } : triggerOptions
13
- function createTrigger() {
14
- if (isServer) {
15
- return [noop, noop]
16
- }
17
- return createSignal(void 0, triggerOptions)
18
- }
19
- var TriggerCache = class {
20
- #map
21
- constructor(mapConstructor = Map) {
22
- this.#map = new mapConstructor()
23
- }
24
- dirty(key) {
25
- if (isServer) return
26
- this.#map.get(key)?.$$()
27
- }
28
- track(key) {
29
- if (!getListener()) return
30
- let trigger = this.#map.get(key)
31
- if (!trigger) {
32
- const [$, $$] = createSignal(void 0, triggerCacheOptions)
33
- this.#map.set(key, (trigger = { $, $$, n: 1 }))
34
- } else trigger.n++
35
- onCleanup(() => {
36
- if (trigger.n-- === 1) queueMicrotask(() => trigger.n === 0 && this.#map.delete(key))
37
- })
38
- trigger.$()
39
- }
40
- }
41
- function createTriggerCache(mapConstructor = Map) {
42
- const map = new TriggerCache(mapConstructor)
43
- return [map.track.bind(map), map.dirty.bind(map)]
44
- }
45
-
46
- export { TriggerCache, createTrigger, createTriggerCache }
@@ -1,89 +0,0 @@
1
- import type { NodeishFilesystemSubset } from "@inlang/plugin"
2
- import { type Result, tryCatch } from "@inlang/result"
3
-
4
- function escape(url: string) {
5
- const bytes = new TextEncoder().encode(url)
6
-
7
- // 64-bit FNV1a hash to make the file-names shorter
8
- // https://en.wikipedia.org/wiki/FNV-1a
9
- const hash = bytes.reduce(
10
- (hash, byte) => BigInt.asUintN(64, (hash ^ BigInt(byte)) * 1_099_511_628_211n),
11
- 14_695_981_039_346_656_037n
12
- )
13
-
14
- return hash.toString(36)
15
- }
16
-
17
- async function readModuleFromCache(
18
- moduleURI: string,
19
- projectPath: string,
20
- readFile: NodeishFilesystemSubset["readFile"]
21
- ): Promise<Result<string, Error>> {
22
- const moduleHash = escape(moduleURI)
23
- const filePath = projectPath + `/cache/modules/${moduleHash}`
24
-
25
- return await tryCatch(async () => await readFile(filePath, { encoding: "utf-8" }))
26
- }
27
-
28
- async function writeModuleToCache(
29
- moduleURI: string,
30
- moduleContent: string,
31
- projectPath: string,
32
- writeFile: NodeishFilesystemSubset["writeFile"],
33
- mkdir: NodeishFilesystemSubset["mkdir"]
34
- ): Promise<void> {
35
- const moduleHash = escape(moduleURI)
36
- const filePath = projectPath + `/cache/modules/${moduleHash}`
37
-
38
- const writeFileResult = await tryCatch(() => writeFile(filePath, moduleContent))
39
- if (writeFileResult.error) {
40
- const dirPath = projectPath + `/cache/modules`
41
- const createDirResult = await tryCatch(() => mkdir(dirPath, { recursive: true }))
42
-
43
- // @ts-ignore - If the directory exists we can ignore this error
44
- if (createDirResult.error && createDirResult.error.code !== "EEXIST")
45
- throw new Error("[sdk:module-cacke] failed to create cache-directory. Path: " + dirPath, {
46
- cause: createDirResult.error,
47
- })
48
-
49
- const writeFileResult = await tryCatch(() => writeFile(filePath, moduleContent))
50
- if (writeFileResult.error)
51
- throw new Error("[sdk:module-cacke] failed to write cache-file. Path: " + filePath, {
52
- cause: writeFileResult.error,
53
- })
54
- }
55
- }
56
-
57
- /**
58
- * Implements a "Network-First" caching strategy.
59
- */
60
- export function withCache(
61
- moduleLoader: (uri: string) => Promise<string>,
62
- projectPath: string,
63
- nodeishFs: Pick<NodeishFilesystemSubset, "readFile" | "writeFile" | "mkdir">
64
- ): (uri: string) => Promise<string> {
65
- return async (uri: string) => {
66
- const cachePromise = readModuleFromCache(uri, projectPath, nodeishFs.readFile)
67
- const loaderResult = await tryCatch(async () => await moduleLoader(uri))
68
-
69
- if (loaderResult.error) {
70
- const cacheResult = await cachePromise
71
- if (!cacheResult.error) return cacheResult.data
72
- else throw loaderResult.error
73
- } else {
74
- const moduleAsText = loaderResult.data
75
- try {
76
- await writeModuleToCache(
77
- uri,
78
- moduleAsText,
79
- projectPath,
80
- nodeishFs.writeFile,
81
- nodeishFs.mkdir
82
- )
83
- } catch (error) {
84
- // TODO trigger a warning
85
- }
86
- return moduleAsText
87
- }
88
- }
89
- }
@@ -1,69 +0,0 @@
1
- import type { ValueError } from "@sinclair/typebox/errors"
2
- export * from "./plugins/errors.js"
3
- export * from "./message-lint-rules/errors.js"
4
-
5
- export class ModuleError extends Error {
6
- public readonly module: string
7
-
8
- constructor(message: string, options: { module: string; cause?: Error }) {
9
- super(message)
10
- this.name = "ModuleError"
11
- this.module = options.module
12
- this.cause = options.cause
13
- }
14
- }
15
-
16
- /**
17
- * Error when a Module does not export any plugins or lint rules.
18
- */
19
- export class ModuleHasNoExportsError extends ModuleError {
20
- constructor(options: { module: string; cause?: Error }) {
21
- super(
22
- `Module "${options.module}" has no exports. Every module must have an "export default".`,
23
- options
24
- )
25
- this.name = "ModuleHasNoExportsError"
26
- }
27
- }
28
-
29
- /**
30
- * Error when a Module cannot be imported.
31
- */
32
- export class ModuleImportError extends ModuleError {
33
- constructor(options: { module: string; cause: Error }) {
34
- super(`Couldn't import the plugin "${options.module}":\n\n${options.cause}`, options)
35
- this.name = "ModuleImportError"
36
- }
37
- }
38
-
39
- export class ModuleExportIsInvalidError extends ModuleError {
40
- constructor(options: { module: string; errors: ValueError[] }) {
41
- super(
42
- `The export(s) of "${options.module}" are invalid:\n\n${options.errors
43
- .map(
44
- (error) =>
45
- `"${error.path}" "${JSON.stringify(error.value, undefined, 2)}": "${error.message}"`
46
- )
47
- .join("\n")}`,
48
- options
49
- )
50
- this.name = "ModuleExportIsInvalidError"
51
- }
52
- }
53
-
54
- export class ModuleSettingsAreInvalidError extends ModuleError {
55
- constructor(options: { module: string; errors: ValueError[] }) {
56
- super(
57
- `The settings are invalid of "${options.module}" are invalid:\n\n${options.errors
58
- .map(
59
- (error) =>
60
- `Path "${error.path}" with value "${JSON.stringify(error.value, undefined, 2)}": "${
61
- error.message
62
- }"`
63
- )
64
- .join("\n")}`,
65
- options
66
- )
67
- this.name = "ModuleSettingsAreInvalidError"
68
- }
69
- }
@@ -1,62 +0,0 @@
1
- // @vitest-environment jsdom
2
-
3
- import { createNodeishMemoryFs } from "@lix-js/fs"
4
- import { describe, expect, it } from "vitest"
5
- import { createImport } from "./import.js"
6
-
7
- describe("$import", async () => {
8
- const fs = createNodeishMemoryFs()
9
-
10
- await fs.mkdir("./project.inlang/cache/modules", { recursive: true })
11
-
12
- await fs.writeFile(
13
- "./mock-module.js",
14
- `
15
- export function hello() {
16
- return "hello";
17
- }
18
- `
19
- )
20
-
21
- // mock module in a directory
22
- await fs.mkdir("./nested")
23
- await fs.writeFile(
24
- "./nested/mock-module-two.js",
25
- `
26
- export function hello() {
27
- return "world";
28
- }
29
- `
30
- )
31
-
32
- const _import = createImport("/project.inlang", {
33
- writeFile: fs.writeFile,
34
- readFile: fs.readFile,
35
- mkdir: fs.mkdir,
36
- })
37
-
38
- it("should import a module from a local path", async () => {
39
- const module = await _import("./mock-module.js")
40
- expect(module.hello()).toBe("hello")
41
- })
42
-
43
- it("should import a module from a nested local path", async () => {
44
- const module = await _import("./nested/mock-module-two.js")
45
- expect(module.hello()).toBe("world")
46
- })
47
-
48
- it("should import an ES module from a url", async () => {
49
- const module = await _import("https://cdn.jsdelivr.net/npm/normalize-url@7.2.0/index.js")
50
- const normalizeUrl = module.default
51
- expect(normalizeUrl("inlang.com")).toBe("http://inlang.com")
52
- })
53
-
54
- it("should throw if a module is loaded that is not an ES module", async () => {
55
- try {
56
- await _import("https://cdn.jsdelivr.net/npm/lodash@4.17.21")
57
- throw "function did not throw"
58
- } catch {
59
- expect(true).toBe(true)
60
- }
61
- })
62
- })
@@ -1,133 +0,0 @@
1
- import dedent from "dedent"
2
- import type { NodeishFilesystemSubset } from "@inlang/plugin"
3
- import { ModuleImportError } from "./errors.js"
4
- import { withCache } from "./cache.js"
5
- import { tryCatch } from "@inlang/result"
6
-
7
- /**
8
- * Importing ES modules either from a local path, or from a url.
9
- *
10
- * - Name the import function `_import` to avoid shadowing the
11
- * native import function.
12
- */
13
- export type ImportFunction = (uri: string) => Promise<any>
14
-
15
- /**
16
- * Creates the import function.
17
- *
18
- * This function is required to import modules from a local path.
19
- *
20
- * @example
21
- * const $import = createImport({ readFile: fs.readFile, fetch });
22
- * const module = await _import('./some-module.js');
23
- */
24
- export function createImport(
25
- projectPath: string,
26
- nodeishFs: Pick<NodeishFilesystemSubset, "readFile" | "writeFile" | "mkdir">
27
- ) {
28
- return (uri: string) => $import(uri, projectPath, nodeishFs)
29
- }
30
-
31
- async function $import(
32
- uri: string,
33
- projectPath: string,
34
- nodeishFs: Pick<NodeishFilesystemSubset, "readFile" | "writeFile" | "mkdir">
35
- ): Promise<any> {
36
- const moduleAsText = uri.startsWith("http")
37
- ? await withCache(readModuleFromCDN, projectPath, nodeishFs)(uri)
38
- : await readModulefromDisk(uri, nodeishFs.readFile)
39
-
40
- const moduleWithMimeType = "data:application/javascript," + encodeURIComponent(moduleAsText)
41
-
42
- try {
43
- return await import(/* @vite-ignore */ moduleWithMimeType)
44
- } catch (error) {
45
- if (error instanceof SyntaxError && uri.includes("jsdelivr")) {
46
- error.message += dedent`\n\n
47
- Are you sure that the file exists on JSDelivr?
48
-
49
- The error indicates that the imported file does not exist on JSDelivr. For non-existent files, JSDelivr returns a 404 text that JS cannot parse as a module and throws a SyntaxError.`
50
- }
51
- throw new ModuleImportError({ module: uri, cause: error as Error })
52
- }
53
- }
54
-
55
- /**
56
- * Tries to read the module from disk
57
- * @throws {ModuleImportError}
58
- */
59
- async function readModulefromDisk(
60
- uri: string,
61
- readFile: NodeishFilesystemSubset["readFile"]
62
- ): Promise<string> {
63
- try {
64
- return await readFile(uri, { encoding: "utf-8" })
65
- } catch (error) {
66
- throw new ModuleImportError({ module: uri, cause: error as Error })
67
- }
68
- }
69
-
70
- /**
71
- * Reads a module from a CDN.
72
- * Tries to read local cache first.
73
- *
74
- * @param uri A valid URL
75
- * @throws {ModuleImportError}
76
- */
77
- async function readModuleFromCDN(uri: string): Promise<string> {
78
- if (!isValidUrl(uri))
79
- throw new ModuleImportError({ module: uri, cause: new Error("Malformed URL") })
80
-
81
- const result = await tryCatch(async () => await fetch(uri))
82
- if (result.error) {
83
- throw new ModuleImportError({
84
- module: uri,
85
- cause: result.error,
86
- })
87
- }
88
-
89
- const response = result.data
90
- if (!response.ok) {
91
- throw new ModuleImportError({
92
- module: uri,
93
- cause: new Error(
94
- `Failed to fetch module. HTTP status: ${response.status}, Message: ${response.statusText}`
95
- ),
96
- })
97
- }
98
-
99
- const JS_CONTENT_TYPES = [
100
- "application/javascript",
101
- "text/javascript",
102
- "application/x-javascript",
103
- "text/x-javascript",
104
- ]
105
-
106
- // if there is no content-type header, assume it's a JavaScript module & hope for the best
107
- const contentType = response.headers.get("content-type")?.toLowerCase()
108
- if (contentType && !JS_CONTENT_TYPES.some((knownType) => contentType.includes(knownType))) {
109
- throw new ModuleImportError({
110
- module: uri,
111
- cause: new Error(`Server responded with ${contentType} insetad of a JavaScript module`),
112
- })
113
- }
114
-
115
- return await response.text()
116
- }
117
-
118
- function isValidUrl(url: string) {
119
- // This dance is necessary to both support a fallback in case URL.canParse
120
- // is not present (like in vitest), and also appease typescript
121
- const URLConstructor = URL
122
- if ("canParse" in URL) {
123
- return URL.canParse(url)
124
- }
125
-
126
- try {
127
- new URLConstructor(url)
128
- return true
129
- } catch (e) {
130
- console.warn(`Invalid URL: ${url}`)
131
- return false
132
- }
133
- }
@@ -1,2 +0,0 @@
1
- export { resolveModules } from "./resolveModules.js"
2
- export { type ImportFunction, createImport } from "./import.js"
@@ -1,9 +0,0 @@
1
- import type { MessageLintRule } from "@inlang/message-lint-rule"
2
- import type { ValueError } from "@sinclair/typebox/errors"
3
-
4
- export class MessageLintRuleIsInvalidError extends Error {
5
- constructor(options: { id: MessageLintRule["id"]; errors: ValueError[] }) {
6
- super(`The message lint rule "${options.id}" is invalid:\n\n${options.errors.join("\n")}`)
7
- this.name = "MessageLintRuleIsInvalidError"
8
- }
9
- }
@@ -1,27 +0,0 @@
1
- import { Value } from "@sinclair/typebox/value"
2
- import { MessageLintRule } from "@inlang/message-lint-rule"
3
- import { MessageLintRuleIsInvalidError } from "./errors.js"
4
-
5
- export const resolveMessageLintRules = (args: { messageLintRules: Array<MessageLintRule> }) => {
6
- const result = {
7
- data: [] as Array<MessageLintRule>,
8
- errors: [] as MessageLintRuleIsInvalidError[],
9
- }
10
- for (const rule of args.messageLintRules) {
11
- if (Value.Check(MessageLintRule, rule) === false) {
12
- const errors = [...Value.Errors(MessageLintRule, rule)]
13
- result.errors.push(
14
- new MessageLintRuleIsInvalidError({
15
- // @ts-ignore
16
- id: rule.id,
17
- errors,
18
- })
19
- )
20
- continue
21
- } else {
22
- result.data.push(rule)
23
- }
24
- }
25
-
26
- return result
27
- }