@testspectra/cli 1.0.70 → 1.1.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (365) hide show
  1. package/LICENSE.md +48 -0
  2. package/README.md +36 -270
  3. package/bin/spectra.js +1 -1
  4. package/bin/testspectra-runner +0 -0
  5. package/demo-app/assets/index-BGllUp7o.js +140 -0
  6. package/demo-app/assets/index-BhlW-eXG.css +1 -0
  7. package/demo-app/index.html +2 -2
  8. package/dist/.tsbuildinfo +1 -0
  9. package/dist/commands/__tests__/doctor.test.d.ts +1 -0
  10. package/dist/commands/__tests__/doctor.test.js +39 -0
  11. package/dist/commands/__tests__/init.test.d.ts +1 -0
  12. package/dist/commands/__tests__/init.test.js +148 -0
  13. package/dist/commands/__tests__/license.test.d.ts +1 -0
  14. package/dist/commands/__tests__/license.test.js +13 -0
  15. package/dist/commands/__tests__/refactor.test.d.ts +1 -0
  16. package/dist/commands/__tests__/refactor.test.js +64 -0
  17. package/dist/commands/__tests__/run-e2e.test.d.ts +1 -0
  18. package/dist/commands/__tests__/run-e2e.test.js +422 -0
  19. package/dist/commands/__tests__/run.test.d.ts +1 -0
  20. package/dist/commands/__tests__/run.test.js +277 -0
  21. package/dist/commands/__tests__/watch.test.d.ts +1 -0
  22. package/dist/commands/__tests__/watch.test.js +155 -0
  23. package/dist/commands/add.js +86 -85
  24. package/dist/commands/demo.js +21 -11
  25. package/dist/commands/devices.d.ts +14 -2
  26. package/dist/commands/devices.js +44 -34
  27. package/dist/commands/doctor.d.ts +3 -1
  28. package/dist/commands/doctor.js +43 -264
  29. package/dist/commands/init.d.ts +1 -1
  30. package/dist/commands/init.js +206 -196
  31. package/dist/commands/install.d.ts +4 -0
  32. package/dist/commands/install.js +59 -0
  33. package/dist/commands/license.d.ts +4 -0
  34. package/dist/commands/license.js +30 -0
  35. package/dist/commands/lint.d.ts +5 -0
  36. package/dist/commands/lint.js +55 -0
  37. package/dist/commands/refactor.d.ts +9 -0
  38. package/dist/commands/refactor.js +172 -0
  39. package/dist/commands/run.d.ts +23 -2
  40. package/dist/commands/run.js +321 -111
  41. package/dist/commands/skills.d.ts +9 -0
  42. package/dist/commands/skills.js +28 -0
  43. package/dist/commands/sync-types.d.ts +4 -0
  44. package/dist/commands/sync-types.js +14 -0
  45. package/dist/commands/update.js +39 -43
  46. package/dist/commands/watch.d.ts +6 -0
  47. package/dist/commands/watch.js +46 -43
  48. package/dist/config/loader.d.ts +1 -1
  49. package/dist/config/loader.js +40 -25
  50. package/dist/config/schema.d.ts +117 -54
  51. package/dist/config/schema.js +41 -35
  52. package/dist/generator/__tests__/tsconfig-isolation.test.d.ts +1 -0
  53. package/dist/generator/__tests__/tsconfig-isolation.test.js +278 -0
  54. package/dist/generator/__tests__/type-generator.test.d.ts +1 -0
  55. package/dist/generator/__tests__/type-generator.test.js +386 -0
  56. package/dist/generator/index.d.ts +2 -0
  57. package/dist/generator/index.js +2 -0
  58. package/dist/generator/tsconfig-generator.d.ts +27 -0
  59. package/dist/generator/tsconfig-generator.js +384 -0
  60. package/dist/generator/type-generator.d.ts +36 -0
  61. package/dist/generator/type-generator.js +644 -0
  62. package/dist/index.d.ts +9 -5
  63. package/dist/index.js +151 -51
  64. package/dist/lifecycle/__tests__/lifecycle-engine.test.d.ts +1 -0
  65. package/dist/lifecycle/__tests__/lifecycle-engine.test.js +290 -0
  66. package/dist/lifecycle/hook-discovery.d.ts +24 -0
  67. package/dist/lifecycle/hook-discovery.js +60 -0
  68. package/dist/lifecycle/hook-dispatcher.d.ts +34 -0
  69. package/dist/lifecycle/hook-dispatcher.js +190 -0
  70. package/dist/lifecycle/index.d.ts +3 -0
  71. package/dist/lifecycle/index.js +3 -0
  72. package/dist/lifecycle/parallel-grouping.d.ts +27 -0
  73. package/dist/lifecycle/parallel-grouping.js +151 -0
  74. package/dist/linter/__tests__/anonymous-export.test.d.ts +1 -0
  75. package/dist/linter/__tests__/anonymous-export.test.js +184 -0
  76. package/dist/linter/__tests__/shared-lib-boundary.test.d.ts +1 -0
  77. package/dist/linter/__tests__/shared-lib-boundary.test.js +270 -0
  78. package/dist/linter/__tests__/spec-schema.test.d.ts +1 -0
  79. package/dist/linter/__tests__/spec-schema.test.js +369 -0
  80. package/dist/linter/__tests__/step-parity.test.d.ts +1 -0
  81. package/dist/linter/__tests__/step-parity.test.js +372 -0
  82. package/dist/linter/discovery.d.ts +30 -0
  83. package/dist/linter/discovery.js +249 -0
  84. package/dist/linter/extractor.d.ts +66 -0
  85. package/dist/linter/extractor.js +235 -0
  86. package/dist/linter/index.d.ts +7 -0
  87. package/dist/linter/index.js +7 -0
  88. package/dist/linter/parser.d.ts +24 -0
  89. package/dist/linter/parser.js +219 -0
  90. package/dist/linter/schemas/spec.schema.d.ts +83 -0
  91. package/dist/linter/schemas/spec.schema.js +150 -0
  92. package/dist/linter/schemas/suite.schema.d.ts +59 -0
  93. package/dist/linter/schemas/suite.schema.js +83 -0
  94. package/dist/linter/spec-linter.d.ts +23 -0
  95. package/dist/linter/spec-linter.js +595 -0
  96. package/dist/linter/types.d.ts +28 -0
  97. package/dist/linter/types.js +1 -0
  98. package/dist/mobile/__tests__/android-device-e2e.test.d.ts +1 -0
  99. package/dist/mobile/__tests__/android-device-e2e.test.js +53 -0
  100. package/dist/mobile/__tests__/device-pool.test.d.ts +1 -0
  101. package/dist/mobile/__tests__/device-pool.test.js +97 -0
  102. package/dist/mobile/device-pool.d.ts +23 -0
  103. package/dist/mobile/device-pool.js +1 -0
  104. package/dist/mobile/index.d.ts +1 -0
  105. package/dist/mobile/index.js +1 -0
  106. package/dist/refactor/__tests__/refactor-engine.test.d.ts +1 -0
  107. package/dist/refactor/__tests__/refactor-engine.test.js +873 -0
  108. package/dist/refactor/index.d.ts +1 -0
  109. package/dist/refactor/index.js +1 -0
  110. package/dist/refactor/refactor-engine.d.ts +50 -0
  111. package/dist/refactor/refactor-engine.js +587 -0
  112. package/dist/reporter/__tests__/semantic-formatter.test.d.ts +1 -0
  113. package/dist/reporter/__tests__/semantic-formatter.test.js +73 -0
  114. package/dist/reporter/semantic-formatter.d.ts +6 -0
  115. package/dist/reporter/semantic-formatter.js +191 -0
  116. package/dist/reporter/summary-view.d.ts +12 -0
  117. package/dist/reporter/summary-view.js +19 -0
  118. package/dist/reporter/terminal-stream.d.ts +32 -0
  119. package/dist/reporter/terminal-stream.js +82 -0
  120. package/dist/reporter/types.d.ts +2 -0
  121. package/dist/reporter/types.js +1 -0
  122. package/dist/runner/bridge.d.ts +10 -5
  123. package/dist/runner/bridge.js +101 -45
  124. package/dist/runner/reporter.d.ts +32 -2
  125. package/dist/runner/reporter.js +423 -13
  126. package/dist/server/demo.js +43 -44
  127. package/dist/types/generator.d.ts +1 -17
  128. package/dist/types/generator.js +1 -443
  129. package/dist/utils/__tests__/api-server.test.d.ts +1 -0
  130. package/dist/utils/__tests__/api-server.test.js +62 -0
  131. package/dist/utils/__tests__/demo-server.test.d.ts +1 -0
  132. package/dist/utils/__tests__/demo-server.test.js +35 -0
  133. package/dist/utils/api-server.d.ts +19 -0
  134. package/dist/utils/api-server.js +134 -0
  135. package/dist/utils/demo-server.d.ts +5 -0
  136. package/dist/utils/demo-server.js +46 -36
  137. package/package.json +24 -13
  138. package/templates/default/CLAUDE.md +12 -5
  139. package/templates/default/fixtures/apiData.json +24 -0
  140. package/templates/default/package.json +12 -3
  141. package/templates/default/page-objects/MatchersPage/mobile.ts +53 -17
  142. package/templates/default/page-objects/MatchersPage/web.ts +17 -2
  143. package/templates/default/page-objects/NavigationPage/mobile.ts +11 -2
  144. package/templates/default/page-objects/NavigationPage/web.ts +1 -1
  145. package/templates/default/page-objects/PlaygroundPage/mobile.ts +28 -18
  146. package/templates/default/page-objects/PlaygroundPage/web.ts +4 -2
  147. package/templates/default/specs/ApiInterception/TC-0008-fetch-mocking/mobile.test.ts +53 -0
  148. package/templates/default/specs/ApiInterception/TC-0008-fetch-mocking/spec.md +19 -0
  149. package/templates/default/specs/ApiInterception/TC-0008-fetch-mocking/web.test.ts +31 -0
  150. package/templates/default/specs/ApiInterception/TC-0009-post-mocking/android.test.ts +3 -0
  151. package/templates/default/specs/ApiInterception/TC-0009-post-mocking/common.test.ts +3 -0
  152. package/templates/default/specs/ApiInterception/TC-0009-post-mocking/mobile.test.ts +27 -0
  153. package/templates/default/specs/ApiInterception/TC-0009-post-mocking/spec.md +19 -0
  154. package/templates/default/specs/ApiInterception/TC-0009-post-mocking/web.test.ts +26 -0
  155. package/templates/default/specs/ApiInterception/TC-0012-direct-and-late-response/common.test.ts +33 -0
  156. package/templates/default/specs/ApiInterception/TC-0012-direct-and-late-response/spec.md +22 -0
  157. package/templates/default/specs/ApiInterception/TC-0013-real-network-call-recorded/common.test.ts +27 -0
  158. package/templates/default/specs/ApiInterception/TC-0013-real-network-call-recorded/spec.md +20 -0
  159. package/templates/default/specs/ApiInterception/TC-0015-mock-server-sent-events/spec.md +24 -0
  160. package/templates/default/specs/ApiInterception/TC-0015-mock-server-sent-events/web.test.ts +26 -0
  161. package/templates/default/specs/ApiInterception/TC-0016-bypass-websocket-with-app-level-mock/spec.md +37 -0
  162. package/templates/default/specs/ApiInterception/TC-0016-bypass-websocket-with-app-level-mock/web.test.ts +21 -0
  163. package/templates/default/specs/ApiInterception/TC-0017-bypass-captcha-with-test-mode-flag/spec.md +29 -0
  164. package/templates/default/specs/ApiInterception/TC-0017-bypass-captcha-with-test-mode-flag/web.test.ts +16 -0
  165. package/templates/default/specs/ApiInterception/suite.md +10 -0
  166. package/templates/default/specs/ApiSeeding/TC-0014-seed-and-cleanup-via-hooks/common.test.ts +30 -0
  167. package/templates/default/specs/ApiSeeding/TC-0014-seed-and-cleanup-via-hooks/spec.md +23 -0
  168. package/templates/default/specs/ApiSeeding/hooks/after/common.hook.ts +16 -0
  169. package/templates/default/specs/ApiSeeding/hooks/before/common.hook.ts +28 -0
  170. package/templates/default/specs/ApiSeeding/suite.md +9 -0
  171. package/templates/default/specs/BrowserContext/TC-0007-title-and-navigation/mobile.test.ts +7 -1
  172. package/templates/default/specs/BrowserContext/TC-0007-title-and-navigation/spec.md +5 -0
  173. package/templates/default/specs/BrowserContext/TC-0007-title-and-navigation/web.test.ts +17 -3
  174. package/templates/default/specs/ContentMatchers/TC-0005-text-and-values/common.test.ts +26 -0
  175. package/templates/default/specs/ContentMatchers/TC-0005-text-and-values/spec.md +7 -0
  176. package/templates/default/specs/ContentMatchers/TC-0006-collections-and-empty/mobile.test.ts +9 -1
  177. package/templates/default/specs/ContentMatchers/TC-0006-collections-and-empty/spec.md +5 -0
  178. package/templates/default/specs/ContentMatchers/TC-0006-collections-and-empty/web.test.ts +9 -4
  179. package/templates/default/specs/DeepLink/TC-0018-navigate-via-deep-link/mobile.test.ts +28 -0
  180. package/templates/default/specs/DeepLink/TC-0018-navigate-via-deep-link/spec.md +29 -0
  181. package/templates/default/specs/DeepLink/suite.md +9 -0
  182. package/templates/default/specs/ElementMatchers/TC-0003-visibility-and-dom/mobile.test.ts +9 -1
  183. package/templates/default/specs/ElementMatchers/TC-0003-visibility-and-dom/spec.md +5 -0
  184. package/templates/default/specs/ElementMatchers/TC-0003-visibility-and-dom/web.test.ts +9 -3
  185. package/templates/default/specs/ElementMatchers/TC-0004-states-and-attributes/mobile.test.ts +27 -1
  186. package/templates/default/specs/ElementMatchers/TC-0004-states-and-attributes/spec.md +7 -0
  187. package/templates/default/specs/ElementMatchers/TC-0004-states-and-attributes/web.test.ts +27 -6
  188. package/templates/default/specs/ElementMatchers/suite.md +2 -1
  189. package/templates/default/specs/PermissionRationale/TC-0010-camera-permission-allow/mobile.test.ts +26 -0
  190. package/templates/default/specs/PermissionRationale/TC-0010-camera-permission-allow/spec.md +22 -0
  191. package/templates/default/specs/PermissionRationale/TC-0011-camera-permission-deny/mobile.test.ts +13 -0
  192. package/templates/default/specs/PermissionRationale/TC-0011-camera-permission-deny/spec.md +20 -0
  193. package/templates/default/specs/PermissionRationale/suite.md +9 -0
  194. package/templates/default/specs/Playground/TC-0001-form-controls/mobile.test.ts +4 -1
  195. package/templates/default/specs/Playground/TC-0001-form-controls/spec.md +6 -0
  196. package/templates/default/specs/Playground/TC-0001-form-controls/web.test.ts +4 -4
  197. package/templates/default/specs/Playground/TC-0002-toggle-elements/mobile.test.ts +4 -1
  198. package/templates/default/specs/Playground/TC-0002-toggle-elements/spec.md +6 -0
  199. package/templates/default/specs/Playground/TC-0002-toggle-elements/web.test.ts +3 -3
  200. package/templates/default/spectra.config.ts +21 -15
  201. package/templates/default/support/actions/fillCredentials/mobile.action.ts +3 -3
  202. package/templates/default/support/actions/fillCredentials/web.action.ts +1 -1
  203. package/templates/default/support/steps/togglePlaygroundStates/mobile.step.ts +3 -1
  204. package/templates/default/support/steps/togglePlaygroundStates/web.step.ts +3 -3
  205. package/templates/default/support/steps/verifyPlaygroundState/mobile.step.ts +4 -2
  206. package/templates/default/support/steps/verifyPlaygroundState/web.step.ts +4 -4
  207. package/templates/default/tsconfig.json +3 -1
  208. package/templates/nx/.nx/workspace-data/70094CFD-E89B-57A1-9619-2FC5F4963C54.db +0 -0
  209. package/templates/nx/.nx/workspace-data/70094CFD-E89B-57A1-9619-2FC5F4963C54.db-shm +0 -0
  210. package/templates/nx/.nx/workspace-data/70094CFD-E89B-57A1-9619-2FC5F4963C54.db-wal +0 -0
  211. package/templates/nx/.nx/workspace-data/d/daemon.log +4306 -0
  212. package/templates/nx/.nx/workspace-data/d/server-process.json +3 -0
  213. package/templates/nx/.nx/workspace-data/file-map.json +452 -0
  214. package/templates/nx/.nx/workspace-data/lockfile.hash +1 -0
  215. package/templates/nx/.nx/workspace-data/nx_files.nxt +0 -0
  216. package/templates/nx/.nx/workspace-data/parsed-lock-file.json +13485 -0
  217. package/templates/nx/.nx/workspace-data/project-graph.json +14389 -0
  218. package/templates/nx/CLAUDE.md +2 -2
  219. package/templates/nx/package.json +6 -4
  220. package/templates/nx/packages/matchers/e2e/specs/ApiInterception/TC-0008-fetch-mocking/mobile.test.ts +27 -0
  221. package/templates/nx/packages/matchers/e2e/specs/ApiInterception/TC-0008-fetch-mocking/spec.md +12 -0
  222. package/templates/nx/packages/matchers/e2e/specs/ApiInterception/TC-0008-fetch-mocking/web.test.ts +27 -0
  223. package/templates/nx/packages/matchers/e2e/specs/ApiInterception/TC-0009-post-mocking/mobile.test.ts +24 -0
  224. package/templates/nx/packages/matchers/e2e/specs/ApiInterception/TC-0009-post-mocking/spec.md +12 -0
  225. package/templates/nx/packages/matchers/e2e/specs/ApiInterception/TC-0009-post-mocking/web.test.ts +24 -0
  226. package/templates/nx/packages/matchers/e2e/specs/ApiInterception/suite.md +9 -0
  227. package/templates/nx/packages/matchers/e2e/specs/BrowserContext/TC-0007-title-and-navigation/mobile.test.ts +1 -1
  228. package/templates/nx/packages/matchers/e2e/specs/BrowserContext/TC-0007-title-and-navigation/web.test.ts +17 -3
  229. package/templates/nx/packages/matchers/e2e/specs/ContentMatchers/TC-0005-text-and-values/mobile.test.ts +1 -1
  230. package/templates/nx/packages/matchers/e2e/specs/ContentMatchers/TC-0005-text-and-values/web.test.ts +15 -5
  231. package/templates/nx/packages/matchers/e2e/specs/ContentMatchers/TC-0006-collections-and-empty/mobile.test.ts +1 -1
  232. package/templates/nx/packages/matchers/e2e/specs/ContentMatchers/TC-0006-collections-and-empty/web.test.ts +9 -4
  233. package/templates/nx/packages/matchers/e2e/specs/ElementMatchers/TC-0003-visibility-and-dom/mobile.test.ts +1 -1
  234. package/templates/nx/packages/matchers/e2e/specs/ElementMatchers/TC-0003-visibility-and-dom/web.test.ts +9 -3
  235. package/templates/nx/packages/matchers/e2e/specs/ElementMatchers/TC-0004-states-and-attributes/mobile.test.ts +1 -1
  236. package/templates/nx/packages/matchers/e2e/specs/ElementMatchers/TC-0004-states-and-attributes/web.test.ts +27 -6
  237. package/templates/nx/packages/playground/e2e/specs/Playground/TC-0001-form-controls/mobile.test.ts +1 -1
  238. package/templates/nx/packages/playground/e2e/specs/Playground/TC-0001-form-controls/web.test.ts +4 -4
  239. package/templates/nx/packages/playground/e2e/specs/Playground/TC-0002-toggle-elements/mobile.test.ts +1 -1
  240. package/templates/nx/packages/playground/e2e/specs/Playground/TC-0002-toggle-elements/web.test.ts +3 -3
  241. package/templates/nx/pnpm-lock.yaml +6663 -0
  242. package/templates/nx/pnpm-workspace.yaml +2 -1
  243. package/templates/nx/shared/testing/fixtures/apiData.json +24 -0
  244. package/templates/nx/shared/testing/page-objects/MatchersPage/mobile.ts +13 -1
  245. package/templates/nx/shared/testing/page-objects/MatchersPage/web.ts +85 -17
  246. package/templates/nx/shared/testing/page-objects/NavigationPage/mobile.ts +1 -1
  247. package/templates/nx/shared/testing/page-objects/NavigationPage/web.ts +1 -1
  248. package/templates/nx/shared/testing/page-objects/PlaygroundPage/mobile.ts +1 -1
  249. package/templates/nx/shared/testing/page-objects/PlaygroundPage/web.ts +4 -2
  250. package/templates/nx/shared/testing/project.json +19 -0
  251. package/templates/nx/shared/testing/support/actions/fillCredentials/mobile.action.ts +1 -1
  252. package/templates/nx/shared/testing/support/actions/fillCredentials/web.action.ts +1 -1
  253. package/templates/nx/shared/testing/support/steps/togglePlaygroundStates/mobile.step.ts +1 -1
  254. package/templates/nx/shared/testing/support/steps/togglePlaygroundStates/web.step.ts +3 -3
  255. package/templates/nx/shared/testing/support/steps/verifyPlaygroundState/mobile.step.ts +2 -2
  256. package/templates/nx/shared/testing/support/steps/verifyPlaygroundState/web.step.ts +4 -4
  257. package/templates/nx/spectra.config.ts +19 -13
  258. package/templates/nx/tsconfig.json +3 -1
  259. package/demo-app/assets/index-DAUlrHTr.css +0 -1
  260. package/demo-app/assets/index-DN2Kb0A8.js +0 -100
  261. package/dist/index.cjs +0 -101
  262. package/dist/plugin.cjs +0 -575
  263. package/dist/plugin.d.ts +0 -16
  264. package/dist/plugin.js +0 -184
  265. package/dist/step/index.d.ts +0 -6
  266. package/dist/step/index.js +0 -6
  267. package/dist/step/matchers.d.ts +0 -14
  268. package/dist/step/matchers.js +0 -114
  269. package/dist/step/proto.d.ts +0 -46
  270. package/dist/step/proto.js +0 -114
  271. package/dist/step/runner/collection.d.ts +0 -13
  272. package/dist/step/runner/collection.js +0 -51
  273. package/dist/step/runner/single.d.ts +0 -21
  274. package/dist/step/runner/single.js +0 -138
  275. package/dist/step/spectra.d.ts +0 -34
  276. package/dist/step/spectra.js +0 -156
  277. package/dist/step/types.d.ts +0 -32
  278. package/dist/step/types.js +0 -5
  279. package/templates/default/specs/ContentMatchers/TC-0005-text-and-values/mobile.test.ts +0 -3
  280. package/templates/default/specs/ContentMatchers/TC-0005-text-and-values/web.test.ts +0 -7
  281. package/templates/default/tsconfig.spectra.android.json +0 -46
  282. package/templates/default/tsconfig.spectra.ios.json +0 -46
  283. package/templates/default/tsconfig.spectra.json +0 -22
  284. package/templates/default/tsconfig.spectra.web.json +0 -53
  285. package/templates/nx/fixtures/playgroundData.json +0 -7
  286. package/templates/nx/global-hooks/after/mobile.hook.ts +0 -3
  287. package/templates/nx/global-hooks/after/web.hook.ts +0 -3
  288. package/templates/nx/global-hooks/before/mobile.hook.ts +0 -3
  289. package/templates/nx/global-hooks/before/web.hook.ts +0 -3
  290. package/templates/nx/page-objects/MatchersPage/mobile.ts +0 -21
  291. package/templates/nx/page-objects/MatchersPage/web.ts +0 -23
  292. package/templates/nx/page-objects/NavigationPage/mobile.ts +0 -5
  293. package/templates/nx/page-objects/NavigationPage/web.ts +0 -8
  294. package/templates/nx/page-objects/PlaygroundPage/mobile.ts +0 -26
  295. package/templates/nx/page-objects/PlaygroundPage/web.ts +0 -29
  296. package/templates/nx/specs/BrowserContext/TC-0007-title-and-navigation/mobile.test.ts +0 -3
  297. package/templates/nx/specs/BrowserContext/TC-0007-title-and-navigation/spec.md +0 -12
  298. package/templates/nx/specs/BrowserContext/TC-0007-title-and-navigation/web.test.ts +0 -5
  299. package/templates/nx/specs/BrowserContext/suite.md +0 -9
  300. package/templates/nx/specs/ContentMatchers/TC-0005-text-and-values/mobile.test.ts +0 -3
  301. package/templates/nx/specs/ContentMatchers/TC-0005-text-and-values/spec.md +0 -12
  302. package/templates/nx/specs/ContentMatchers/TC-0005-text-and-values/web.test.ts +0 -7
  303. package/templates/nx/specs/ContentMatchers/TC-0006-collections-and-empty/mobile.test.ts +0 -3
  304. package/templates/nx/specs/ContentMatchers/TC-0006-collections-and-empty/spec.md +0 -12
  305. package/templates/nx/specs/ContentMatchers/TC-0006-collections-and-empty/web.test.ts +0 -6
  306. package/templates/nx/specs/ContentMatchers/suite.md +0 -9
  307. package/templates/nx/specs/ElementMatchers/TC-0003-visibility-and-dom/mobile.test.ts +0 -3
  308. package/templates/nx/specs/ElementMatchers/TC-0003-visibility-and-dom/spec.md +0 -12
  309. package/templates/nx/specs/ElementMatchers/TC-0003-visibility-and-dom/web.test.ts +0 -5
  310. package/templates/nx/specs/ElementMatchers/TC-0004-states-and-attributes/mobile.test.ts +0 -3
  311. package/templates/nx/specs/ElementMatchers/TC-0004-states-and-attributes/spec.md +0 -12
  312. package/templates/nx/specs/ElementMatchers/TC-0004-states-and-attributes/web.test.ts +0 -8
  313. package/templates/nx/specs/ElementMatchers/hooks/after/mobile.hook.ts +0 -1
  314. package/templates/nx/specs/ElementMatchers/hooks/after/web.hook.ts +0 -1
  315. package/templates/nx/specs/ElementMatchers/hooks/afterEach/mobile.hook.ts +0 -1
  316. package/templates/nx/specs/ElementMatchers/hooks/afterEach/web.hook.ts +0 -1
  317. package/templates/nx/specs/ElementMatchers/hooks/before/mobile.hook.ts +0 -1
  318. package/templates/nx/specs/ElementMatchers/hooks/before/web.hook.ts +0 -1
  319. package/templates/nx/specs/ElementMatchers/hooks/beforeEach/mobile.hook.ts +0 -1
  320. package/templates/nx/specs/ElementMatchers/hooks/beforeEach/web.hook.ts +0 -1
  321. package/templates/nx/specs/ElementMatchers/suite.md +0 -9
  322. package/templates/nx/specs/Playground/TC-0001-form-controls/mobile.test.ts +0 -3
  323. package/templates/nx/specs/Playground/TC-0001-form-controls/spec.md +0 -12
  324. package/templates/nx/specs/Playground/TC-0001-form-controls/web.test.ts +0 -6
  325. package/templates/nx/specs/Playground/TC-0002-toggle-elements/mobile.test.ts +0 -3
  326. package/templates/nx/specs/Playground/TC-0002-toggle-elements/spec.md +0 -12
  327. package/templates/nx/specs/Playground/TC-0002-toggle-elements/web.test.ts +0 -6
  328. package/templates/nx/specs/Playground/hooks/after/mobile.hook.ts +0 -1
  329. package/templates/nx/specs/Playground/hooks/after/web.hook.ts +0 -1
  330. package/templates/nx/specs/Playground/hooks/afterEach/mobile.hook.ts +0 -1
  331. package/templates/nx/specs/Playground/hooks/afterEach/web.hook.ts +0 -1
  332. package/templates/nx/specs/Playground/hooks/before/mobile.hook.ts +0 -1
  333. package/templates/nx/specs/Playground/hooks/before/web.hook.ts +0 -1
  334. package/templates/nx/specs/Playground/hooks/beforeEach/mobile.hook.ts +0 -1
  335. package/templates/nx/specs/Playground/hooks/beforeEach/web.hook.ts +0 -1
  336. package/templates/nx/specs/Playground/suite.md +0 -9
  337. package/templates/nx/support/actions/fillCredentials/mobile.action.ts +0 -4
  338. package/templates/nx/support/actions/fillCredentials/web.action.ts +0 -4
  339. package/templates/nx/support/steps/togglePlaygroundStates/mobile.step.ts +0 -3
  340. package/templates/nx/support/steps/togglePlaygroundStates/step.md +0 -7
  341. package/templates/nx/support/steps/togglePlaygroundStates/web.step.ts +0 -5
  342. package/templates/nx/support/steps/verifyPlaygroundState/mobile.step.ts +0 -4
  343. package/templates/nx/support/steps/verifyPlaygroundState/step.md +0 -7
  344. package/templates/nx/support/steps/verifyPlaygroundState/web.step.ts +0 -6
  345. package/templates/nx/tsconfig.spectra.android.json +0 -39
  346. package/templates/nx/tsconfig.spectra.ios.json +0 -39
  347. package/templates/nx/tsconfig.spectra.json +0 -25
  348. package/templates/nx/tsconfig.spectra.shared.json +0 -25
  349. package/templates/nx/tsconfig.spectra.web.json +0 -45
  350. /package/templates/{nx/specs/BrowserContext → default/specs/ApiInterception}/hooks/after/mobile.hook.ts +0 -0
  351. /package/templates/{nx/specs/BrowserContext → default/specs/ApiInterception}/hooks/after/web.hook.ts +0 -0
  352. /package/templates/{nx/specs/BrowserContext → default/specs/ApiInterception}/hooks/afterEach/mobile.hook.ts +0 -0
  353. /package/templates/{nx/specs/BrowserContext → default/specs/ApiInterception}/hooks/afterEach/web.hook.ts +0 -0
  354. /package/templates/{nx/specs/BrowserContext → default/specs/ApiInterception}/hooks/before/mobile.hook.ts +0 -0
  355. /package/templates/{nx/specs/BrowserContext → default/specs/ApiInterception}/hooks/before/web.hook.ts +0 -0
  356. /package/templates/{nx/specs/BrowserContext → default/specs/ApiInterception}/hooks/beforeEach/mobile.hook.ts +0 -0
  357. /package/templates/{nx/specs/BrowserContext → default/specs/ApiInterception}/hooks/beforeEach/web.hook.ts +0 -0
  358. /package/templates/nx/{specs/ContentMatchers → packages/matchers/e2e/specs/ApiInterception}/hooks/after/mobile.hook.ts +0 -0
  359. /package/templates/nx/{specs/ContentMatchers → packages/matchers/e2e/specs/ApiInterception}/hooks/after/web.hook.ts +0 -0
  360. /package/templates/nx/{specs/ContentMatchers → packages/matchers/e2e/specs/ApiInterception}/hooks/afterEach/mobile.hook.ts +0 -0
  361. /package/templates/nx/{specs/ContentMatchers → packages/matchers/e2e/specs/ApiInterception}/hooks/afterEach/web.hook.ts +0 -0
  362. /package/templates/nx/{specs/ContentMatchers → packages/matchers/e2e/specs/ApiInterception}/hooks/before/mobile.hook.ts +0 -0
  363. /package/templates/nx/{specs/ContentMatchers → packages/matchers/e2e/specs/ApiInterception}/hooks/before/web.hook.ts +0 -0
  364. /package/templates/nx/{specs/ContentMatchers → packages/matchers/e2e/specs/ApiInterception}/hooks/beforeEach/mobile.hook.ts +0 -0
  365. /package/templates/nx/{specs/ContentMatchers → packages/matchers/e2e/specs/ApiInterception}/hooks/beforeEach/web.hook.ts +0 -0
@@ -1,29 +0,0 @@
1
- export class PlaygroundPage {
2
- get visibleElement() { return Spectra.get("#demo-visible-el-pg"); }
3
- get hiddenElement() { return Spectra.get("#demo-hidden-el-pg"); }
4
- get existingElement() { return Spectra.get("#demo-existing-el-pg"); }
5
- get removedElement() { return Spectra.get("#demo-removed-el-pg"); }
6
- get enabledButton() { return Spectra.get("#demo-enabled-btn"); }
7
- get disabledButton() { return Spectra.get("#demo-disabled-btn-pg"); }
8
- get termsCheckbox() { return Spectra.get("#demo-terms-checkbox"); }
9
- get modeRadio() { return Spectra.get("#demo-mode-radio"); }
10
- get emailInput() { return Spectra.get("#demo-email-input-pg"); }
11
- get tokenInput() { return Spectra.get("#demo-token-input-pg"); }
12
- get exactText() { return Spectra.get("#demo-exact-text-pg"); }
13
- get partialText() { return Spectra.get("#demo-partial-text-pg"); }
14
- get activeTab() { return Spectra.get("#demo-active-tab-pg"); }
15
- get navLink() { return Spectra.get("#demo-nav-link-pg"); }
16
- get productItems() { return Spectra.getAll(".demo-product-item"); }
17
- get emptyList() { return Spectra.getAll("#demo-empty-list-pg > *"); }
18
-
19
- async open() {
20
- await browser.url("/#playground");
21
- }
22
-
23
- async fillCredentials(email = Fixture.playgroundData.defaultEmail, token = Fixture.playgroundData.defaultToken) {
24
- await this.emailInput.type(email);
25
- await this.tokenInput.type(token);
26
- }
27
- }
28
-
29
- export default new PlaygroundPage();
@@ -1,3 +0,0 @@
1
- it("should verify title on Mobile", async () => {
2
- await MatchersPage.open();
3
- });
@@ -1,12 +0,0 @@
1
- ---
2
- id: TC-0007-title-and-navigation
3
- title: Verify page title and sidebar navigation links
4
- priority: High
5
- caseType: Positive
6
- status: ready-for-automation
7
- coverage:
8
- web: automated
9
- mobile: automated
10
- ---
11
-
12
- # Verify page title and sidebar navigation links
@@ -1,5 +0,0 @@
1
- it("should verify browser page title and navigation links on Web", async () => {
2
- await MatchersPage.open();
3
- await browser.shouldContainTitle("TestSpectra");
4
- await NavigationPage.sidebarLinks.should("have.length.greaterThan", 0);
5
- });
@@ -1,9 +0,0 @@
1
- ---
2
- id: suite-browser-context
3
- name: BrowserContext
4
- description: Browser page title, current URL, and navigation
5
- executionOrder: 1.0
6
- parallel: true
7
- ---
8
-
9
- # Suite: BrowserContext
@@ -1,3 +0,0 @@
1
- it("should verify text on Mobile", async () => {
2
- await MatchersPage.open("text");
3
- });
@@ -1,12 +0,0 @@
1
- ---
2
- id: TC-0005-text-and-values
3
- title: Verify exact text, substring text, and input values
4
- priority: High
5
- caseType: Positive
6
- status: ready-for-automation
7
- coverage:
8
- web: automated
9
- mobile: automated
10
- ---
11
-
12
- # Verify exact text, substring text, and input values
@@ -1,7 +0,0 @@
1
- it("should verify text and value matchers on Web", async () => {
2
- await MatchersPage.open("text");
3
- await MatchersPage.exactText.should("have.text", Fixture.playgroundData.welcomeText);
4
- await MatchersPage.partialText.should("contain.text", "Welcome");
5
- await MatchersPage.emailInput.should("have.value", Fixture.playgroundData.defaultEmail);
6
- await MatchersPage.tokenInput.should("contain.value", "JWT_");
7
- });
@@ -1,3 +0,0 @@
1
- it("should verify collection length on Mobile", async () => {
2
- await MatchersPage.open("length");
3
- });
@@ -1,12 +0,0 @@
1
- ---
2
- id: TC-0006-collections-and-empty
3
- title: Verify collection lengths, counts, and empty lists
4
- priority: High
5
- caseType: Positive
6
- status: ready-for-automation
7
- coverage:
8
- web: automated
9
- mobile: automated
10
- ---
11
-
12
- # Verify collection lengths, counts, and empty lists
@@ -1,6 +0,0 @@
1
- it("should verify collection lengths and empty lists on Web", async () => {
2
- await MatchersPage.open("length");
3
- await MatchersPage.productCards.should("have.length", 4);
4
- await MatchersPage.productCards.should("have.length.greaterThan", 0);
5
- await MatchersPage.emptyList.should("be.empty");
6
- });
@@ -1,9 +0,0 @@
1
- ---
2
- id: suite-content-matchers
3
- name: ContentMatchers
4
- description: Text content, substring matching, values and collections
5
- executionOrder: 1.0
6
- parallel: true
7
- ---
8
-
9
- # Suite: ContentMatchers
@@ -1,3 +0,0 @@
1
- it("should verify visibility on Mobile", async () => {
2
- await MatchersPage.open("visibility");
3
- });
@@ -1,12 +0,0 @@
1
- ---
2
- id: TC-0003-visibility-and-dom
3
- title: Verify element visibility and existence matchers
4
- priority: High
5
- caseType: Positive
6
- status: ready-for-automation
7
- coverage:
8
- web: automated
9
- mobile: automated
10
- ---
11
-
12
- # Verify element visibility and existence matchers
@@ -1,5 +0,0 @@
1
- it("should verify be.visible and exist matchers on Web", async () => {
2
- await MatchersPage.open("visibility");
3
- await MatchersPage.visibleElement.should("be.visible");
4
- await MatchersPage.existingElement.should("exist");
5
- });
@@ -1,3 +0,0 @@
1
- it("should verify button state on Mobile", async () => {
2
- await MatchersPage.open("state");
3
- });
@@ -1,12 +0,0 @@
1
- ---
2
- id: TC-0004-states-and-attributes
3
- title: Verify button state, checkbox, radio and attributes
4
- priority: High
5
- caseType: Positive
6
- status: ready-for-automation
7
- coverage:
8
- web: automated
9
- mobile: automated
10
- ---
11
-
12
- # Verify button state, checkbox, radio and attributes
@@ -1,8 +0,0 @@
1
- it("should verify enabled/disabled states and HTML attributes on Web", async () => {
2
- await MatchersPage.open("state");
3
- await MatchersPage.submitButton.should("be.enabled");
4
- await MatchersPage.disabledButton.should("be.disabled");
5
- await MatchersPage.checkbox.should("not.be.checked");
6
- await MatchersPage.activeTab.should("have.class", "is-active");
7
- await MatchersPage.navLink.should("have.attr", "href", Fixture.playgroundData.dashboardHref);
8
- });
@@ -1 +0,0 @@
1
- export default async function () {}
@@ -1 +0,0 @@
1
- export default async function () {}
@@ -1 +0,0 @@
1
- export default async function () {}
@@ -1 +0,0 @@
1
- export default async function () {}
@@ -1 +0,0 @@
1
- export default async function () {}
@@ -1 +0,0 @@
1
- export default async function () {}
@@ -1 +0,0 @@
1
- export default async function () {}
@@ -1 +0,0 @@
1
- export default async function () {}
@@ -1,9 +0,0 @@
1
- ---
2
- id: suite-element-matchers
3
- name: ElementMatchers
4
- description: Element visibility, existence, form states and attributes
5
- executionOrder: 1.0
6
- parallel: true
7
- ---
8
-
9
- # Suite: ElementMatchers
@@ -1,3 +0,0 @@
1
- it("should verify playground states (Mobile)", async () => {
2
- await Step.verifyPlaygroundState();
3
- });
@@ -1,12 +0,0 @@
1
- ---
2
- id: TC-0001-form-controls
3
- title: Verify playground form inputs and default states
4
- priority: High
5
- caseType: Positive
6
- status: ready-for-automation
7
- coverage:
8
- web: automated
9
- mobile: automated
10
- ---
11
-
12
- # Verify playground form inputs and default states
@@ -1,6 +0,0 @@
1
- it("should verify live playground form inputs and default states (Web)", async () => {
2
- await Step.verifyPlaygroundState();
3
- await PlaygroundPage.emailInput.should("have.value", Fixture.playgroundData.defaultEmail);
4
- await PlaygroundPage.tokenInput.should("contain.value", "JWT_");
5
- await PlaygroundPage.exactText.should("have.text", Fixture.playgroundData.welcomeText);
6
- });
@@ -1,3 +0,0 @@
1
- it("should fill credentials (Mobile)", async () => {
2
- await PlaygroundPage.open();
3
- });
@@ -1,12 +0,0 @@
1
- ---
2
- id: TC-0002-toggle-elements
3
- title: Verify typing credentials and updating playground inputs
4
- priority: High
5
- caseType: Positive
6
- status: ready-for-automation
7
- coverage:
8
- web: automated
9
- mobile: automated
10
- ---
11
-
12
- # Verify typing credentials and updating playground inputs
@@ -1,6 +0,0 @@
1
- it("should update input values and verify updated state (Web)", async () => {
2
- await PlaygroundPage.open();
3
- await PlaygroundPage.fillCredentials("qa.expert@testspectra.dev", "JWT_custom_session_token");
4
- await PlaygroundPage.emailInput.should("have.value", "qa.expert@testspectra.dev");
5
- await PlaygroundPage.tokenInput.should("contain.value", "JWT_custom_session_token");
6
- });
@@ -1 +0,0 @@
1
- export default async function () {}
@@ -1 +0,0 @@
1
- export default async function () {}
@@ -1 +0,0 @@
1
- export default async function () {}
@@ -1 +0,0 @@
1
- export default async function () {}
@@ -1 +0,0 @@
1
- export default async function () {}
@@ -1 +0,0 @@
1
- export default async function () {}
@@ -1 +0,0 @@
1
- export default async function () {}
@@ -1 +0,0 @@
1
- export default async function () {}
@@ -1,9 +0,0 @@
1
- ---
2
- id: suite-playground
3
- name: Playground
4
- description: Live Playground form controls and interactive toggles
5
- executionOrder: 1.0
6
- parallel: true
7
- ---
8
-
9
- # Suite: Playground
@@ -1,4 +0,0 @@
1
- export default async function fillCredentials(this: any, email: string, token: string) {
2
- await this.get("~email_input").type(email);
3
- await this.get("~token_input").type(token);
4
- }
@@ -1,4 +0,0 @@
1
- export default async function fillCredentials(this: any, email: string, token: string) {
2
- await this.get("#demo-email-input-pg").type(email);
3
- await this.get("#demo-token-input-pg").type(token);
4
- }
@@ -1,3 +0,0 @@
1
- export default async function togglePlaygroundStates() {
2
- await PlaygroundPage.open();
3
- }
@@ -1,7 +0,0 @@
1
- ---
2
- id: step-togglePlaygroundStates
3
- name: Toggle Playground States
4
- description: Toggles hidden/removed elements and verifies dynamic states
5
- ---
6
-
7
- # Step: Toggle Playground States
@@ -1,5 +0,0 @@
1
- export default async function togglePlaygroundStates() {
2
- await PlaygroundPage.open();
3
- await PlaygroundPage.hiddenElement.should("be.visible");
4
- await PlaygroundPage.existingElement.should("exist");
5
- }
@@ -1,4 +0,0 @@
1
- export default async function verifyPlaygroundState() {
2
- await PlaygroundPage.open();
3
- await PlaygroundPage.visibleElement.should("be.visible");
4
- }
@@ -1,7 +0,0 @@
1
- ---
2
- id: step-verifyPlaygroundState
3
- name: Verify Playground State
4
- description: Verifies default form values and matcher element states on demo web app
5
- ---
6
-
7
- # Step: Verify Playground State
@@ -1,6 +0,0 @@
1
- export default async function verifyPlaygroundState() {
2
- await PlaygroundPage.open();
3
- await PlaygroundPage.visibleElement.should("be.visible");
4
- await PlaygroundPage.enabledButton.should("be.enabled");
5
- await PlaygroundPage.termsCheckbox.should("be.checked");
6
- }
@@ -1,39 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2022",
4
- "module": "NodeNext",
5
- "moduleResolution": "NodeNext",
6
- "composite": true,
7
- "noEmit": true,
8
- "skipLibCheck": true,
9
- "strict": true,
10
- "types": [
11
- "node",
12
- "@wdio/globals/types",
13
- "@wdio/mocha-framework"
14
- ]
15
- },
16
- "include": [
17
- ".testspectra/types/android.d.ts",
18
- ".testspectra/types/fixtures.d.ts",
19
- "spectra.config.ts",
20
- "modules/**/e2e/**/*.ts",
21
- "packages/**/e2e/**/*.ts"
22
- ],
23
- "exclude": [
24
- "node_modules",
25
- "dist",
26
- "**/page-objects/**/web.ts",
27
- "**/page-objects/**/ios.ts",
28
- "**/steps/**/web.step.ts",
29
- "**/steps/**/ios.step.ts",
30
- "**/actions/**/web.action.ts",
31
- "**/actions/**/ios.action.ts",
32
- "**/global-hooks/**/web.hook.ts",
33
- "**/global-hooks/**/ios.hook.ts",
34
- "**/specs/**/hooks/**/web.hook.ts",
35
- "**/specs/**/hooks/**/ios.hook.ts",
36
- "**/specs/**/web.test.ts",
37
- "**/specs/**/ios.test.ts"
38
- ]
39
- }
@@ -1,39 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2022",
4
- "module": "NodeNext",
5
- "moduleResolution": "NodeNext",
6
- "composite": true,
7
- "noEmit": true,
8
- "skipLibCheck": true,
9
- "strict": true,
10
- "types": [
11
- "node",
12
- "@wdio/globals/types",
13
- "@wdio/mocha-framework"
14
- ]
15
- },
16
- "include": [
17
- ".testspectra/types/ios.d.ts",
18
- ".testspectra/types/fixtures.d.ts",
19
- "spectra.config.ts",
20
- "modules/**/e2e/**/*.ts",
21
- "packages/**/e2e/**/*.ts"
22
- ],
23
- "exclude": [
24
- "node_modules",
25
- "dist",
26
- "**/page-objects/**/web.ts",
27
- "**/page-objects/**/android.ts",
28
- "**/steps/**/web.step.ts",
29
- "**/steps/**/android.step.ts",
30
- "**/actions/**/web.action.ts",
31
- "**/actions/**/android.action.ts",
32
- "**/global-hooks/**/web.hook.ts",
33
- "**/global-hooks/**/android.hook.ts",
34
- "**/specs/**/hooks/**/web.hook.ts",
35
- "**/specs/**/hooks/**/android.hook.ts",
36
- "**/specs/**/web.test.ts",
37
- "**/specs/**/android.test.ts"
38
- ]
39
- }
@@ -1,25 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2022",
4
- "module": "NodeNext",
5
- "moduleResolution": "NodeNext",
6
- "skipLibCheck": true,
7
- "strict": true,
8
- "noEmit": true
9
- },
10
- "files": [],
11
- "references": [
12
- {
13
- "path": "./tsconfig.spectra.shared.json"
14
- },
15
- {
16
- "path": "./tsconfig.spectra.web.json"
17
- },
18
- {
19
- "path": "./tsconfig.spectra.android.json"
20
- },
21
- {
22
- "path": "./tsconfig.spectra.ios.json"
23
- }
24
- ]
25
- }
@@ -1,25 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2022",
4
- "module": "NodeNext",
5
- "moduleResolution": "NodeNext",
6
- "composite": true,
7
- "noEmit": true,
8
- "skipLibCheck": true,
9
- "strict": true,
10
- "types": [
11
- "node",
12
- "@wdio/globals/types",
13
- "@wdio/mocha-framework"
14
- ]
15
- },
16
- "include": [
17
- ".testspectra/types/shared/common.d.ts",
18
- ".testspectra/types/shared/fixtures.d.ts",
19
- "shared/testing/**/*.ts"
20
- ],
21
- "exclude": [
22
- "node_modules",
23
- "dist"
24
- ]
25
- }
@@ -1,45 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2022",
4
- "module": "NodeNext",
5
- "moduleResolution": "NodeNext",
6
- "composite": true,
7
- "noEmit": true,
8
- "skipLibCheck": true,
9
- "strict": true,
10
- "types": [
11
- "node",
12
- "@wdio/globals/types",
13
- "@wdio/mocha-framework"
14
- ]
15
- },
16
- "include": [
17
- ".testspectra/types/web.d.ts",
18
- ".testspectra/types/fixtures.d.ts",
19
- "spectra.config.ts",
20
- "modules/**/e2e/**/*.ts",
21
- "packages/**/e2e/**/*.ts"
22
- ],
23
- "exclude": [
24
- "node_modules",
25
- "dist",
26
- "**/page-objects/**/android.ts",
27
- "**/page-objects/**/ios.ts",
28
- "**/page-objects/**/mobile.ts",
29
- "**/steps/**/android.step.ts",
30
- "**/steps/**/ios.step.ts",
31
- "**/steps/**/mobile.step.ts",
32
- "**/actions/**/android.action.ts",
33
- "**/actions/**/ios.action.ts",
34
- "**/actions/**/mobile.action.ts",
35
- "**/global-hooks/**/android.hook.ts",
36
- "**/global-hooks/**/ios.hook.ts",
37
- "**/global-hooks/**/mobile.hook.ts",
38
- "**/specs/**/hooks/**/android.hook.ts",
39
- "**/specs/**/hooks/**/ios.hook.ts",
40
- "**/specs/**/hooks/**/mobile.hook.ts",
41
- "**/specs/**/android.test.ts",
42
- "**/specs/**/ios.test.ts",
43
- "**/specs/**/mobile.test.ts"
44
- ]
45
- }