@digital-alchemy/hass 24.9.3 → 24.9.5

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 (276) hide show
  1. package/README.md +3 -0
  2. package/dist/dynamic.d.ts +1 -1
  3. package/dist/dynamic.js +7 -2
  4. package/dist/dynamic.js.map +1 -1
  5. package/dist/extensions/area.extension.d.ts +2 -12
  6. package/dist/extensions/area.extension.js +20 -26
  7. package/dist/extensions/area.extension.js.map +1 -1
  8. package/dist/extensions/backup.extension.d.ts +2 -7
  9. package/dist/extensions/backup.extension.js +5 -8
  10. package/dist/extensions/backup.extension.js.map +1 -1
  11. package/dist/extensions/call-proxy.extension.d.ts +1 -1
  12. package/dist/extensions/call-proxy.extension.js +3 -22
  13. package/dist/extensions/call-proxy.extension.js.map +1 -1
  14. package/dist/extensions/config.extension.d.ts +2 -6
  15. package/dist/extensions/config.extension.js +21 -25
  16. package/dist/extensions/config.extension.js.map +1 -1
  17. package/dist/extensions/conversation.extension.d.ts +2 -6
  18. package/dist/extensions/conversation.extension.js +5 -8
  19. package/dist/extensions/conversation.extension.js.map +1 -1
  20. package/dist/extensions/device.extension.d.ts +2 -5
  21. package/dist/extensions/device.extension.js +16 -22
  22. package/dist/extensions/device.extension.js.map +1 -1
  23. package/dist/extensions/entity.extension.d.ts +2 -61
  24. package/dist/extensions/entity.extension.js +42 -83
  25. package/dist/extensions/entity.extension.js.map +1 -1
  26. package/dist/extensions/events.extension.d.ts +3 -11
  27. package/dist/extensions/events.extension.js +8 -11
  28. package/dist/extensions/events.extension.js.map +1 -1
  29. package/dist/extensions/fetch-api.extension.d.ts +12 -4
  30. package/dist/extensions/fetch-api.extension.js +23 -35
  31. package/dist/extensions/fetch-api.extension.js.map +1 -1
  32. package/dist/extensions/floor.extension.d.ts +2 -9
  33. package/dist/extensions/floor.extension.js +17 -23
  34. package/dist/extensions/floor.extension.js.map +1 -1
  35. package/dist/extensions/id-by.extension.js +15 -20
  36. package/dist/extensions/id-by.extension.js.map +1 -1
  37. package/dist/extensions/index.d.ts +1 -0
  38. package/dist/extensions/index.js +16 -18
  39. package/dist/extensions/index.js.map +1 -1
  40. package/dist/extensions/internal.extension.d.ts +18 -0
  41. package/dist/extensions/internal.extension.js +102 -0
  42. package/dist/extensions/internal.extension.js.map +1 -0
  43. package/dist/extensions/label.extension.d.ts +2 -9
  44. package/dist/extensions/label.extension.js +17 -23
  45. package/dist/extensions/label.extension.js.map +1 -1
  46. package/dist/extensions/reference.extension.d.ts +2 -12
  47. package/dist/extensions/reference.extension.js +19 -25
  48. package/dist/extensions/reference.extension.js.map +1 -1
  49. package/dist/extensions/registry.extension.d.ts +2 -7
  50. package/dist/extensions/registry.extension.js +1 -4
  51. package/dist/extensions/registry.extension.js.map +1 -1
  52. package/dist/extensions/websocket-api.extension.d.ts +3 -78
  53. package/dist/extensions/websocket-api.extension.js +82 -165
  54. package/dist/extensions/websocket-api.extension.js.map +1 -1
  55. package/dist/extensions/zone.extension.d.ts +2 -7
  56. package/dist/extensions/zone.extension.js +15 -21
  57. package/dist/extensions/zone.extension.js.map +1 -1
  58. package/dist/hass.module.d.ts +47 -36
  59. package/dist/hass.module.js +70 -70
  60. package/dist/hass.module.js.map +1 -1
  61. package/dist/helpers/backup.helper.js +1 -2
  62. package/dist/helpers/constants.helper.js +15 -18
  63. package/dist/helpers/constants.helper.js.map +1 -1
  64. package/dist/helpers/device.helper.js +2 -5
  65. package/dist/helpers/device.helper.js.map +1 -1
  66. package/dist/helpers/entity-state.helper.d.ts +3 -8
  67. package/dist/helpers/entity-state.helper.js +1 -8
  68. package/dist/helpers/entity-state.helper.js.map +1 -1
  69. package/dist/helpers/features.helper.js +79 -85
  70. package/dist/helpers/features.helper.js.map +1 -1
  71. package/dist/helpers/fetch/calendar.js +1 -2
  72. package/dist/helpers/fetch/configuration.js +2 -5
  73. package/dist/helpers/fetch/configuration.js.map +1 -1
  74. package/dist/helpers/fetch/index.js +5 -8
  75. package/dist/helpers/fetch/index.js.map +1 -1
  76. package/dist/helpers/fetch/server-log.js +1 -2
  77. package/dist/helpers/fetch/server-log.js.map +1 -1
  78. package/dist/helpers/fetch/service-list.js +1 -2
  79. package/dist/helpers/fetch/weather-forecasts.js +1 -2
  80. package/dist/helpers/fetch/weather-forecasts.js.map +1 -1
  81. package/dist/helpers/fetch.helper.d.ts +162 -0
  82. package/dist/helpers/fetch.helper.js +161 -0
  83. package/dist/helpers/fetch.helper.js.map +1 -0
  84. package/dist/helpers/id-by.helper.js +1 -2
  85. package/dist/helpers/index.d.ts +2 -1
  86. package/dist/helpers/index.js +13 -15
  87. package/dist/helpers/index.js.map +1 -1
  88. package/dist/helpers/interfaces.helper.d.ts +228 -0
  89. package/dist/helpers/interfaces.helper.js +10 -0
  90. package/dist/helpers/interfaces.helper.js.map +1 -0
  91. package/dist/helpers/manifest.helper.d.ts +0 -1
  92. package/dist/helpers/manifest.helper.js +0 -1
  93. package/dist/helpers/notify.helper.d.ts +13 -5
  94. package/dist/helpers/notify.helper.js +1 -2
  95. package/dist/helpers/registry.js +7 -10
  96. package/dist/helpers/registry.js.map +1 -1
  97. package/dist/helpers/utility.helper.d.ts +6 -1
  98. package/dist/helpers/utility.helper.js +9 -13
  99. package/dist/helpers/utility.helper.js.map +1 -1
  100. package/dist/helpers/websocket.helper.d.ts +1 -2
  101. package/dist/helpers/websocket.helper.js +1 -2
  102. package/dist/index.js +5 -8
  103. package/dist/index.js.map +1 -1
  104. package/dist/mock_assistant/extensions/area.extension.d.ts +8 -0
  105. package/dist/mock_assistant/extensions/area.extension.js +51 -0
  106. package/dist/mock_assistant/extensions/area.extension.js.map +1 -0
  107. package/dist/mock_assistant/extensions/config.extension.d.ts +14 -0
  108. package/dist/mock_assistant/extensions/config.extension.js +29 -0
  109. package/dist/mock_assistant/extensions/config.extension.js.map +1 -0
  110. package/dist/mock_assistant/extensions/device.extension.d.ts +8 -0
  111. package/dist/mock_assistant/extensions/device.extension.js +33 -0
  112. package/dist/mock_assistant/extensions/device.extension.js.map +1 -0
  113. package/dist/mock_assistant/extensions/entity-registry.extension.d.ts +13 -0
  114. package/dist/mock_assistant/extensions/entity-registry.extension.js +28 -0
  115. package/dist/mock_assistant/extensions/entity-registry.extension.js.map +1 -0
  116. package/dist/mock_assistant/extensions/entity.extension.d.ts +30 -0
  117. package/dist/mock_assistant/extensions/entity.extension.js +77 -0
  118. package/dist/mock_assistant/extensions/entity.extension.js.map +1 -0
  119. package/dist/mock_assistant/extensions/events.extension.d.ts +1 -1
  120. package/dist/mock_assistant/extensions/events.extension.js +3 -6
  121. package/dist/mock_assistant/extensions/events.extension.js.map +1 -1
  122. package/dist/mock_assistant/extensions/fetch.extension.d.ts +1 -0
  123. package/dist/mock_assistant/extensions/fetch.extension.js +4 -0
  124. package/dist/mock_assistant/extensions/fetch.extension.js.map +1 -0
  125. package/dist/mock_assistant/extensions/fixtures.extension.d.ts +1 -1
  126. package/dist/mock_assistant/extensions/fixtures.extension.js +29 -33
  127. package/dist/mock_assistant/extensions/fixtures.extension.js.map +1 -1
  128. package/dist/mock_assistant/extensions/floor.extension.d.ts +8 -0
  129. package/dist/mock_assistant/extensions/floor.extension.js +51 -0
  130. package/dist/mock_assistant/extensions/floor.extension.js.map +1 -0
  131. package/dist/mock_assistant/extensions/index.d.ts +10 -0
  132. package/dist/mock_assistant/extensions/index.js +12 -5
  133. package/dist/mock_assistant/extensions/index.js.map +1 -1
  134. package/dist/mock_assistant/extensions/label.extension.d.ts +8 -0
  135. package/dist/mock_assistant/extensions/label.extension.js +51 -0
  136. package/dist/mock_assistant/extensions/label.extension.js.map +1 -0
  137. package/dist/mock_assistant/extensions/services.extension.d.ts +12 -0
  138. package/dist/mock_assistant/extensions/services.extension.js +20 -0
  139. package/dist/mock_assistant/extensions/services.extension.js.map +1 -0
  140. package/dist/mock_assistant/extensions/websocket-api.extension.d.ts +15 -0
  141. package/dist/mock_assistant/extensions/websocket-api.extension.js +68 -0
  142. package/dist/mock_assistant/extensions/websocket-api.extension.js.map +1 -0
  143. package/dist/mock_assistant/extensions/zone.extension.d.ts +8 -0
  144. package/dist/mock_assistant/extensions/zone.extension.js +51 -0
  145. package/dist/mock_assistant/extensions/zone.extension.js.map +1 -0
  146. package/dist/mock_assistant/helpers/fixtures.js +1 -2
  147. package/dist/mock_assistant/helpers/index.d.ts +0 -1
  148. package/dist/mock_assistant/helpers/index.js +1 -5
  149. package/dist/mock_assistant/helpers/index.js.map +1 -1
  150. package/dist/mock_assistant/index.js +3 -6
  151. package/dist/mock_assistant/index.js.map +1 -1
  152. package/dist/mock_assistant/main.js +11 -15
  153. package/dist/mock_assistant/main.js.map +1 -1
  154. package/dist/mock_assistant/mock-assistant.module.d.ts +156 -3
  155. package/dist/mock_assistant/mock-assistant.module.js +56 -11
  156. package/dist/mock_assistant/mock-assistant.module.js.map +1 -1
  157. package/dist/quickboot.module.js +5 -8
  158. package/dist/quickboot.module.js.map +1 -1
  159. package/dist/testing/area.spec.js +106 -194
  160. package/dist/testing/area.spec.js.map +1 -1
  161. package/dist/testing/backup.spec.js +97 -139
  162. package/dist/testing/backup.spec.js.map +1 -1
  163. package/dist/testing/config.spec.js +79 -153
  164. package/dist/testing/config.spec.js.map +1 -1
  165. package/dist/testing/device.spec.js +35 -69
  166. package/dist/testing/device.spec.js.map +1 -1
  167. package/dist/testing/entity.spec.js +94 -149
  168. package/dist/testing/entity.spec.js.map +1 -1
  169. package/dist/testing/events.spec.js +33 -57
  170. package/dist/testing/events.spec.js.map +1 -1
  171. package/dist/testing/fetch-api.spec.js +242 -427
  172. package/dist/testing/fetch-api.spec.js.map +1 -1
  173. package/dist/testing/fixtures.spec.d.ts +1 -0
  174. package/dist/testing/fixtures.spec.js +150 -0
  175. package/dist/testing/fixtures.spec.js.map +1 -0
  176. package/dist/testing/floor.spec.js +106 -194
  177. package/dist/testing/floor.spec.js.map +1 -1
  178. package/dist/testing/id-by.spec.js +68 -107
  179. package/dist/testing/id-by.spec.js.map +1 -1
  180. package/dist/testing/label.spec.js +106 -194
  181. package/dist/testing/label.spec.js.map +1 -1
  182. package/dist/testing/ref-by.spec.js +155 -219
  183. package/dist/testing/ref-by.spec.js.map +1 -1
  184. package/dist/testing/websocket.spec.d.ts +1 -8
  185. package/dist/testing/websocket.spec.js +35 -50
  186. package/dist/testing/websocket.spec.js.map +1 -1
  187. package/dist/testing/workflow.spec.js +82 -81
  188. package/dist/testing/workflow.spec.js.map +1 -1
  189. package/dist/testing/zone.spec.js +61 -113
  190. package/dist/testing/zone.spec.js.map +1 -1
  191. package/package.json +62 -44
  192. package/scripts/mock-assistant.sh +5 -0
  193. package/scripts/run-e2e.sh +7 -0
  194. package/scripts/test.sh +2 -0
  195. package/src/dynamic.ts +4254 -0
  196. package/src/extensions/area.extension.ts +118 -0
  197. package/src/extensions/backup.extension.ts +63 -0
  198. package/src/extensions/call-proxy.extension.ts +113 -0
  199. package/src/extensions/config.extension.ts +119 -0
  200. package/src/extensions/conversation.extension.ts +46 -0
  201. package/src/extensions/device.extension.ts +56 -0
  202. package/src/extensions/entity.extension.ts +344 -0
  203. package/src/extensions/events.extension.ts +25 -0
  204. package/src/extensions/fetch-api.extension.ts +269 -0
  205. package/src/extensions/floor.extension.ts +76 -0
  206. package/src/extensions/id-by.extension.ts +157 -0
  207. package/src/extensions/index.ts +16 -0
  208. package/src/extensions/internal.extension.ts +145 -0
  209. package/src/extensions/label.extension.ts +83 -0
  210. package/src/extensions/reference.extension.ts +330 -0
  211. package/src/extensions/registry.extension.ts +44 -0
  212. package/src/extensions/websocket-api.extension.ts +554 -0
  213. package/src/extensions/zone.extension.ts +69 -0
  214. package/src/hass.module.ts +217 -0
  215. package/src/helpers/backup.helper.ts +11 -0
  216. package/src/helpers/constants.helper.ts +30 -0
  217. package/src/helpers/device.helper.ts +25 -0
  218. package/src/helpers/entity-state.helper.ts +171 -0
  219. package/src/helpers/features.helper.ts +580 -0
  220. package/src/helpers/fetch/calendar.ts +54 -0
  221. package/src/helpers/fetch/configuration.ts +75 -0
  222. package/src/helpers/fetch/index.ts +5 -0
  223. package/src/helpers/fetch/server-log.ts +28 -0
  224. package/src/helpers/fetch/service-list.ts +64 -0
  225. package/src/helpers/fetch/weather-forecasts.ts +86 -0
  226. package/src/helpers/fetch.helper.ts +328 -0
  227. package/src/helpers/id-by.helper.ts +53 -0
  228. package/src/helpers/index.ts +13 -0
  229. package/src/helpers/interfaces.helper.ts +340 -0
  230. package/src/helpers/manifest.helper.ts +0 -0
  231. package/src/helpers/notify.helper.ts +302 -0
  232. package/src/helpers/registry.ts +281 -0
  233. package/src/helpers/utility.helper.ts +147 -0
  234. package/src/helpers/websocket.helper.ts +117 -0
  235. package/src/index.ts +5 -0
  236. package/src/mock_assistant/extensions/area.extension.ts +62 -0
  237. package/src/mock_assistant/extensions/config.extension.ts +33 -0
  238. package/src/mock_assistant/extensions/device.extension.ts +44 -0
  239. package/src/mock_assistant/extensions/entity-registry.extension.ts +41 -0
  240. package/src/mock_assistant/extensions/entity.extension.ts +114 -0
  241. package/src/mock_assistant/extensions/events.extension.ts +37 -0
  242. package/src/mock_assistant/extensions/fetch.extension.ts +3 -0
  243. package/src/mock_assistant/extensions/fixtures.extension.ts +79 -0
  244. package/src/mock_assistant/extensions/floor.extension.ts +64 -0
  245. package/src/mock_assistant/extensions/index.ts +12 -0
  246. package/src/mock_assistant/extensions/label.extension.ts +64 -0
  247. package/src/mock_assistant/extensions/services.extension.ts +25 -0
  248. package/src/mock_assistant/extensions/websocket-api.extension.ts +84 -0
  249. package/src/mock_assistant/extensions/zone.extension.ts +65 -0
  250. package/src/mock_assistant/helpers/fixtures.ts +22 -0
  251. package/src/mock_assistant/helpers/index.ts +1 -0
  252. package/src/mock_assistant/index.ts +3 -0
  253. package/src/mock_assistant/main.ts +46 -0
  254. package/src/mock_assistant/mock-assistant.module.ts +90 -0
  255. package/src/quickboot.module.ts +23 -0
  256. package/src/testing/area.spec.ts +189 -0
  257. package/src/testing/backup.spec.ts +157 -0
  258. package/src/testing/config.spec.ts +188 -0
  259. package/src/testing/device.spec.ts +89 -0
  260. package/src/testing/entity.spec.ts +171 -0
  261. package/src/testing/events.spec.ts +78 -0
  262. package/src/testing/fetch-api.spec.ts +410 -0
  263. package/src/testing/fixtures.spec.ts +158 -0
  264. package/src/testing/floor.spec.ts +186 -0
  265. package/src/testing/id-by.spec.ts +140 -0
  266. package/src/testing/label.spec.ts +186 -0
  267. package/src/testing/ref-by.spec.ts +300 -0
  268. package/src/testing/websocket.spec.ts +63 -0
  269. package/src/testing/workflow.spec.ts +195 -0
  270. package/src/testing/zone.spec.ts +109 -0
  271. package/dist/helpers/metrics.helper.d.ts +0 -29
  272. package/dist/helpers/metrics.helper.js +0 -62
  273. package/dist/helpers/metrics.helper.js.map +0 -1
  274. package/dist/mock_assistant/helpers/utils.d.ts +0 -4
  275. package/dist/mock_assistant/helpers/utils.js +0 -57
  276. package/dist/mock_assistant/helpers/utils.js.map +0 -1
package/package.json CHANGED
@@ -1,15 +1,16 @@
1
1
  {
2
+ "type": "module",
2
3
  "name": "@digital-alchemy/hass",
3
4
  "repository": "https://github.com/Digital-Alchemy-TS/hass",
4
5
  "homepage": "https://docs.digital-alchemy.app",
5
- "version": "24.9.3",
6
+ "version": "24.9.5",
6
7
  "description": "Typescript APIs for Home Assistant. Includes rest & websocket bindings",
7
8
  "scripts": {
8
9
  "build": "rm -rf dist/; tsc",
9
10
  "lint": "eslint src",
10
11
  "test": "./scripts/test.sh",
11
12
  "prepublishOnly": "yarn build",
12
- "upgrade": "ncu -f '@digital-alchemy/*' -u; yarn"
13
+ "upgrade": "yarn up '@digital-alchemy/*'"
13
14
  },
14
15
  "bugs": {
15
16
  "email": "bugs@digital-alchemy.app",
@@ -25,7 +26,7 @@
25
26
  "digital-alchemy"
26
27
  ],
27
28
  "bin": {
28
- "mock-assistant": "./dist/mock_assistant/main.js"
29
+ "mock-assistant": "./scripts/mock-assistant.sh"
29
30
  },
30
31
  "funding": [
31
32
  {
@@ -42,7 +43,9 @@
42
43
  "name": "Zoe Codez"
43
44
  },
44
45
  "files": [
45
- "dist/**/*"
46
+ "dist/**/*",
47
+ "scripts/**/*",
48
+ "src/**/*"
46
49
  ],
47
50
  "engines": {
48
51
  "node": ">=20"
@@ -51,60 +54,71 @@
51
54
  ".": "./dist/index.js",
52
55
  "./mock-assistant": "./dist/mock_assistant/index.js"
53
56
  },
54
- "dependencies": {
55
- "dayjs": "^1.11.11",
56
- "prom-client": "^15.1.2",
57
- "semver": "^7.6.3",
58
- "validator": "^13.12.0",
59
- "ws": "^8.17.0"
60
- },
61
57
  "license": "MIT",
62
58
  "devDependencies": {
63
- "@cspell/eslint-plugin": "^8.8.4",
64
- "@digital-alchemy/core": "^24.8.4",
65
- "@digital-alchemy/synapse": "^24.9.3",
66
- "@digital-alchemy/type-writer": "^24.9.2",
67
- "@types/figlet": "^1.5.8",
68
- "@types/jest": "^29.5.12",
59
+ "@cspell/eslint-plugin": "^8.14.4",
60
+ "@digital-alchemy/core": "^24.9.5",
61
+ "@digital-alchemy/synapse": "^24.9.4",
62
+ "@digital-alchemy/type-writer": "^24.9.7",
63
+ "@eslint/compat": "^1.1.1",
64
+ "@eslint/eslintrc": "^3.1.0",
65
+ "@eslint/js": "^9.11.1",
66
+ "@faker-js/faker": "^9.0.3",
67
+ "@types/jest": "^29.5.13",
69
68
  "@types/js-yaml": "^4.0.9",
70
- "@types/minimist": "^1.2.5",
71
- "@types/mute-stream": "^0.0.4",
72
- "@types/node": "^20.14.2",
69
+ "@types/node": "^22.7.4",
70
+ "@types/node-cron": "^3.0.11",
73
71
  "@types/semver": "^7.5.8",
74
- "@types/uuid": "^9.0.8",
75
- "@types/validator": "^13.11.10",
76
- "@types/ws": "^8.5.10",
77
- "@typescript-eslint/eslint-plugin": "7.13.0",
78
- "@typescript-eslint/parser": "7.13.0",
79
- "eslint": "8.57.0",
72
+ "@types/uuid": "^10.0.0",
73
+ "@types/ws": "^8.5.12",
74
+ "@typescript-eslint/eslint-plugin": "8.8.0",
75
+ "@typescript-eslint/parser": "8.8.0",
76
+ "dayjs": "^1.11.13",
77
+ "dotenv": "^16.4.5",
78
+ "eslint": "9.11.1",
80
79
  "eslint-config-prettier": "9.1.0",
81
- "eslint-plugin-import": "^2.29.1",
82
- "eslint-plugin-jsonc": "^2.15.1",
83
- "eslint-plugin-no-unsanitized": "^4.0.2",
84
- "eslint-plugin-prettier": "^5.1.3",
85
- "eslint-plugin-security": "^3.0.0",
86
- "eslint-plugin-simple-import-sort": "^12.1.0",
87
- "eslint-plugin-sonarjs": "^0.25.1",
80
+ "eslint-plugin-import": "^2.30.0",
81
+ "eslint-plugin-jsonc": "^2.16.0",
82
+ "eslint-plugin-no-unsanitized": "^4.1.2",
83
+ "eslint-plugin-prettier": "^5.2.1",
84
+ "eslint-plugin-security": "^3.0.1",
85
+ "eslint-plugin-simple-import-sort": "^12.1.1",
86
+ "eslint-plugin-sonarjs": "^2.0.3",
88
87
  "eslint-plugin-sort-keys-fix": "^1.1.2",
89
- "eslint-plugin-unicorn": "^52.0.0",
88
+ "eslint-plugin-unicorn": "^55.0.0",
89
+ "globals": "^15.10.0",
90
90
  "jest": "^29.7.0",
91
91
  "jest-environment-node": "^29.7.0",
92
- "npm-check-updates": "^16.14.20",
93
- "prettier": "^3.3.2",
94
- "ts-jest": "^29.1.4",
95
- "tsx": "^4.15.3",
96
- "type-fest": "^4.20.0",
97
- "typescript": "^5.4.5"
92
+ "node-cron": "^3.0.3",
93
+ "prettier": "^3.3.3",
94
+ "semver": "^7.6.3",
95
+ "ts-jest": "^29.2.5",
96
+ "tsx": "^4.19.1",
97
+ "type-fest": "^4.26.1",
98
+ "typescript": "^5.6.2",
99
+ "uuid": "^10.0.0",
100
+ "ws": "^8.18.0"
98
101
  },
99
102
  "peerDependencies": {
100
- "@digital-alchemy/core": "*"
103
+ "@digital-alchemy/core": "*",
104
+ "dayjs": "^1",
105
+ "semver": "^7",
106
+ "uuid": "^10",
107
+ "ws": "^8"
101
108
  },
102
109
  "jest": {
110
+ "extensionsToTreatAsEsm": [
111
+ ".ts"
112
+ ],
103
113
  "collectCoverage": true,
104
114
  "coverageReporters": [
105
115
  "text",
106
116
  "cobertura"
107
117
  ],
118
+ "coveragePathIgnorePatterns": [
119
+ "testing/",
120
+ "src/mock_assistant"
121
+ ],
108
122
  "preset": "ts-jest",
109
123
  "testEnvironment": "node",
110
124
  "moduleFileExtensions": [
@@ -114,16 +128,20 @@
114
128
  "node"
115
129
  ],
116
130
  "testMatch": [
117
- "**/?(*.)+(spec|test).ts"
131
+ "**/testing/?(*.)+(spec|test).ts"
132
+ ],
133
+ "setupFiles": [
134
+ "<rootDir>/test-setup.ts"
118
135
  ],
119
136
  "transform": {
120
137
  "^.+\\.ts$": [
121
138
  "ts-jest",
122
139
  {
123
- "tsconfig": "tsconfig.spec.json"
140
+ "tsconfig": "tsconfig.spec.json",
141
+ "useESM": true
124
142
  }
125
143
  ]
126
144
  }
127
145
  },
128
- "packageManager": "yarn@4.4.0"
146
+ "packageManager": "yarn@4.5.0"
129
147
  }
@@ -0,0 +1,5 @@
1
+ #!/bin/sh
2
+
3
+ FULL_PATH=$(realpath "$0")
4
+ FILE_BASE=$(dirname "$FULL_PATH")
5
+ npx tsx "$FILE_BASE/../src/mock_assistant/main.ts" "$1"
@@ -0,0 +1,7 @@
1
+ #!/bin/sh
2
+
3
+ CONTAINER_NAME="digital_alchemy_e2e_homeassistant"
4
+
5
+ if ! docker inspect -f '{{.State.Running}}' "$CONTAINER_NAME" >/dev/null 2>&1 || [ "$(docker inspect -f '{{.State.Running}}' "$CONTAINER_NAME")" != "true" ]; then
6
+ docker-compose -f ./e2e/hass/docker-compose.yaml up -d
7
+ fi
@@ -0,0 +1,2 @@
1
+ #!/bin/bash
2
+ NODE_OPTIONS="$NODE_OPTIONS --experimental-vm-modules" npx jest --pass-with-no-tests --runInBand "$1"