@globisnv/cypress-core 0.0.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 (308) hide show
  1. package/README.md +255 -0
  2. package/bin/create-customer-repo.mjs +89 -0
  3. package/biome.json +49 -0
  4. package/dist/apiMethods/IGS_request.d.ts +98 -0
  5. package/dist/apiMethods/IGS_request.js +161 -0
  6. package/dist/apiMethods/IGS_response.d.ts +47 -0
  7. package/dist/apiMethods/IGS_response.js +1 -0
  8. package/dist/blueprints/GLO_addressPopup.d.ts +45 -0
  9. package/dist/blueprints/GLO_addressPopup.js +96 -0
  10. package/dist/blueprints/GLO_article.d.ts +45 -0
  11. package/dist/blueprints/GLO_article.js +110 -0
  12. package/dist/blueprints/GLO_articleLot.d.ts +12 -0
  13. package/dist/blueprints/GLO_articleLot.js +23 -0
  14. package/dist/blueprints/GLO_articleVersion.d.ts +4 -0
  15. package/dist/blueprints/GLO_articleVersion.js +4 -0
  16. package/dist/blueprints/GLO_attachmentPopup.d.ts +9 -0
  17. package/dist/blueprints/GLO_attachmentPopup.js +10 -0
  18. package/dist/blueprints/GLO_bankAccount.d.ts +7 -0
  19. package/dist/blueprints/GLO_bankAccount.js +7 -0
  20. package/dist/blueprints/GLO_billingProcess.d.ts +4 -0
  21. package/dist/blueprints/GLO_billingProcess.js +4 -0
  22. package/dist/blueprints/GLO_billingProposal.d.ts +9 -0
  23. package/dist/blueprints/GLO_billingProposal.js +9 -0
  24. package/dist/blueprints/GLO_cancel.d.ts +7 -0
  25. package/dist/blueprints/GLO_cancel.js +7 -0
  26. package/dist/blueprints/GLO_commandlist.d.ts +10 -0
  27. package/dist/blueprints/GLO_commandlist.js +10 -0
  28. package/dist/blueprints/GLO_complaint.d.ts +27 -0
  29. package/dist/blueprints/GLO_complaint.js +51 -0
  30. package/dist/blueprints/GLO_composition.d.ts +14 -0
  31. package/dist/blueprints/GLO_composition.js +20 -0
  32. package/dist/blueprints/GLO_consignment.d.ts +61 -0
  33. package/dist/blueprints/GLO_consignment.js +104 -0
  34. package/dist/blueprints/GLO_consignmentContainerGroup.d.ts +6 -0
  35. package/dist/blueprints/GLO_consignmentContainerGroup.js +6 -0
  36. package/dist/blueprints/GLO_consignmentGoods.d.ts +40 -0
  37. package/dist/blueprints/GLO_consignmentGoods.js +62 -0
  38. package/dist/blueprints/GLO_consignmentHandling.d.ts +4 -0
  39. package/dist/blueprints/GLO_consignmentHandling.js +4 -0
  40. package/dist/blueprints/GLO_consignmentOrder.d.ts +31 -0
  41. package/dist/blueprints/GLO_consignmentOrder.js +37 -0
  42. package/dist/blueprints/GLO_consignmentPart.d.ts +13 -0
  43. package/dist/blueprints/GLO_consignmentPart.js +13 -0
  44. package/dist/blueprints/GLO_consignmentParts.d.ts +5 -0
  45. package/dist/blueprints/GLO_consignmentParts.js +12 -0
  46. package/dist/blueprints/GLO_consignmentPrice.d.ts +11 -0
  47. package/dist/blueprints/GLO_consignmentPrice.js +19 -0
  48. package/dist/blueprints/GLO_consignmentSupplier.d.ts +6 -0
  49. package/dist/blueprints/GLO_consignmentSupplier.js +11 -0
  50. package/dist/blueprints/GLO_contacts.d.ts +10 -0
  51. package/dist/blueprints/GLO_contacts.js +14 -0
  52. package/dist/blueprints/GLO_container.d.ts +6 -0
  53. package/dist/blueprints/GLO_container.js +4 -0
  54. package/dist/blueprints/GLO_contract.d.ts +22 -0
  55. package/dist/blueprints/GLO_contract.js +30 -0
  56. package/dist/blueprints/GLO_contractArticle.d.ts +17 -0
  57. package/dist/blueprints/GLO_contractArticle.js +35 -0
  58. package/dist/blueprints/GLO_contractArticleCost.d.ts +5 -0
  59. package/dist/blueprints/GLO_contractArticleCost.js +8 -0
  60. package/dist/blueprints/GLO_countryVatZone.d.ts +8 -0
  61. package/dist/blueprints/GLO_countryVatZone.js +9 -0
  62. package/dist/blueprints/GLO_currencyDeviation.d.ts +14 -0
  63. package/dist/blueprints/GLO_currencyDeviation.js +15 -0
  64. package/dist/blueprints/GLO_customerArticle.d.ts +12 -0
  65. package/dist/blueprints/GLO_customerArticle.js +15 -0
  66. package/dist/blueprints/GLO_customsFlow.d.ts +8 -0
  67. package/dist/blueprints/GLO_customsFlow.js +19 -0
  68. package/dist/blueprints/GLO_customsFlowDefinition.d.ts +15 -0
  69. package/dist/blueprints/GLO_customsFlowDefinition.js +14 -0
  70. package/dist/blueprints/GLO_customsUnion.d.ts +4 -0
  71. package/dist/blueprints/GLO_customsUnion.js +4 -0
  72. package/dist/blueprints/GLO_deliveryReceipt.d.ts +10 -0
  73. package/dist/blueprints/GLO_deliveryReceipt.js +22 -0
  74. package/dist/blueprints/GLO_departureSchedule.d.ts +27 -0
  75. package/dist/blueprints/GLO_departureSchedule.js +57 -0
  76. package/dist/blueprints/GLO_departureScheduleTimes.d.ts +49 -0
  77. package/dist/blueprints/GLO_departureScheduleTimes.js +61 -0
  78. package/dist/blueprints/GLO_document.d.ts +7 -0
  79. package/dist/blueprints/GLO_document.js +7 -0
  80. package/dist/blueprints/GLO_documentAttachment.d.ts +4 -0
  81. package/dist/blueprints/GLO_documentAttachment.js +4 -0
  82. package/dist/blueprints/GLO_documentDefinitionEntity.d.ts +5 -0
  83. package/dist/blueprints/GLO_documentDefinitionEntity.js +5 -0
  84. package/dist/blueprints/GLO_documentGroup.d.ts +4 -0
  85. package/dist/blueprints/GLO_documentGroup.js +4 -0
  86. package/dist/blueprints/GLO_documentType.d.ts +12 -0
  87. package/dist/blueprints/GLO_documentType.js +11 -0
  88. package/dist/blueprints/GLO_enterCountry.d.ts +21 -0
  89. package/dist/blueprints/GLO_enterCountry.js +47 -0
  90. package/dist/blueprints/GLO_enterDiscount.d.ts +8 -0
  91. package/dist/blueprints/GLO_enterDiscount.js +9 -0
  92. package/dist/blueprints/GLO_equipment.d.ts +34 -0
  93. package/dist/blueprints/GLO_equipment.js +55 -0
  94. package/dist/blueprints/GLO_equipmentCategory.d.ts +15 -0
  95. package/dist/blueprints/GLO_equipmentCategory.js +14 -0
  96. package/dist/blueprints/GLO_equipmentEntity.d.ts +5 -0
  97. package/dist/blueprints/GLO_equipmentEntity.js +5 -0
  98. package/dist/blueprints/GLO_equipmentServiceCategory.d.ts +13 -0
  99. package/dist/blueprints/GLO_equipmentServiceCategory.js +13 -0
  100. package/dist/blueprints/GLO_equipmentType.d.ts +21 -0
  101. package/dist/blueprints/GLO_equipmentType.js +20 -0
  102. package/dist/blueprints/GLO_equipmentTypeServiceCategory.d.ts +13 -0
  103. package/dist/blueprints/GLO_equipmentTypeServiceCategory.js +12 -0
  104. package/dist/blueprints/GLO_fieldInputValidation.d.ts +46 -0
  105. package/dist/blueprints/GLO_fieldInputValidation.js +73 -0
  106. package/dist/blueprints/GLO_formula.d.ts +9 -0
  107. package/dist/blueprints/GLO_formula.js +9 -0
  108. package/dist/blueprints/GLO_gang.d.ts +12 -0
  109. package/dist/blueprints/GLO_gang.js +12 -0
  110. package/dist/blueprints/GLO_holiday.d.ts +7 -0
  111. package/dist/blueprints/GLO_holiday.js +8 -0
  112. package/dist/blueprints/GLO_journey.d.ts +18 -0
  113. package/dist/blueprints/GLO_journey.js +24 -0
  114. package/dist/blueprints/GLO_journeyStop.d.ts +32 -0
  115. package/dist/blueprints/GLO_journeyStop.js +44 -0
  116. package/dist/blueprints/GLO_layout.d.ts +6 -0
  117. package/dist/blueprints/GLO_layout.js +6 -0
  118. package/dist/blueprints/GLO_logging.d.ts +9 -0
  119. package/dist/blueprints/GLO_logging.js +12 -0
  120. package/dist/blueprints/GLO_logisticConnection.d.ts +10 -0
  121. package/dist/blueprints/GLO_logisticConnection.js +11 -0
  122. package/dist/blueprints/GLO_logisticConnectionType.d.ts +5 -0
  123. package/dist/blueprints/GLO_logisticConnectionType.js +5 -0
  124. package/dist/blueprints/GLO_logisticContract.d.ts +28 -0
  125. package/dist/blueprints/GLO_logisticContract.js +80 -0
  126. package/dist/blueprints/GLO_logisticContractDetail.d.ts +42 -0
  127. package/dist/blueprints/GLO_logisticContractDetail.js +122 -0
  128. package/dist/blueprints/GLO_logisticContractDetailHandling.d.ts +11 -0
  129. package/dist/blueprints/GLO_logisticContractDetailHandling.js +14 -0
  130. package/dist/blueprints/GLO_logisticContractDetailItem.d.ts +5 -0
  131. package/dist/blueprints/GLO_logisticContractDetailItem.js +8 -0
  132. package/dist/blueprints/GLO_logisticContractItem.d.ts +14 -0
  133. package/dist/blueprints/GLO_logisticContractItem.js +40 -0
  134. package/dist/blueprints/GLO_logisticContractItemActivity.d.ts +4 -0
  135. package/dist/blueprints/GLO_logisticContractItemActivity.js +4 -0
  136. package/dist/blueprints/GLO_logisticContractItemSurcharge.d.ts +7 -0
  137. package/dist/blueprints/GLO_logisticContractItemSurcharge.js +7 -0
  138. package/dist/blueprints/GLO_logisticContractItemSurchargeItem.d.ts +4 -0
  139. package/dist/blueprints/GLO_logisticContractItemSurchargeItem.js +4 -0
  140. package/dist/blueprints/GLO_logisticContractReference.d.ts +4 -0
  141. package/dist/blueprints/GLO_logisticContractReference.js +4 -0
  142. package/dist/blueprints/GLO_logisticContractVolumeConstraint.d.ts +9 -0
  143. package/dist/blueprints/GLO_logisticContractVolumeConstraint.js +8 -0
  144. package/dist/blueprints/GLO_logisticLocation.d.ts +7 -0
  145. package/dist/blueprints/GLO_logisticLocation.js +7 -0
  146. package/dist/blueprints/GLO_logisticPriceRequestDetailExternalPrice.d.ts +19 -0
  147. package/dist/blueprints/GLO_logisticPriceRequestDetailExternalPrice.js +30 -0
  148. package/dist/blueprints/GLO_logisticPurchaseOrder.d.ts +4 -0
  149. package/dist/blueprints/GLO_logisticPurchaseOrder.js +4 -0
  150. package/dist/blueprints/GLO_logistic_waiting_hours.d.ts +6 -0
  151. package/dist/blueprints/GLO_logistic_waiting_hours.js +6 -0
  152. package/dist/blueprints/GLO_operationalDefault.d.ts +23 -0
  153. package/dist/blueprints/GLO_operationalDefault.js +25 -0
  154. package/dist/blueprints/GLO_outputDetailMail.d.ts +14 -0
  155. package/dist/blueprints/GLO_outputDetailMail.js +13 -0
  156. package/dist/blueprints/GLO_postalcode.d.ts +6 -0
  157. package/dist/blueprints/GLO_postalcode.js +6 -0
  158. package/dist/blueprints/GLO_priceDependency.d.ts +5 -0
  159. package/dist/blueprints/GLO_priceDependency.js +4 -0
  160. package/dist/blueprints/GLO_priceEntry.d.ts +17 -0
  161. package/dist/blueprints/GLO_priceEntry.js +17 -0
  162. package/dist/blueprints/GLO_priceRequest.d.ts +8 -0
  163. package/dist/blueprints/GLO_priceRequest.js +20 -0
  164. package/dist/blueprints/GLO_priceRequestLine.d.ts +12 -0
  165. package/dist/blueprints/GLO_priceRequestLine.js +17 -0
  166. package/dist/blueprints/GLO_principal.d.ts +9 -0
  167. package/dist/blueprints/GLO_principal.js +13 -0
  168. package/dist/blueprints/GLO_printPopup.d.ts +10 -0
  169. package/dist/blueprints/GLO_printPopup.js +62 -0
  170. package/dist/blueprints/GLO_production.d.ts +9 -0
  171. package/dist/blueprints/GLO_production.js +9 -0
  172. package/dist/blueprints/GLO_productionLineMaterial.d.ts +8 -0
  173. package/dist/blueprints/GLO_productionLineMaterial.js +13 -0
  174. package/dist/blueprints/GLO_productionMaterial.d.ts +5 -0
  175. package/dist/blueprints/GLO_productionMaterial.js +5 -0
  176. package/dist/blueprints/GLO_purchaseCosts.d.ts +6 -0
  177. package/dist/blueprints/GLO_purchaseCosts.js +9 -0
  178. package/dist/blueprints/GLO_purchaseInvoice.d.ts +12 -0
  179. package/dist/blueprints/GLO_purchaseInvoice.js +25 -0
  180. package/dist/blueprints/GLO_purchaseInvoiceLine.d.ts +8 -0
  181. package/dist/blueprints/GLO_purchaseInvoiceLine.js +13 -0
  182. package/dist/blueprints/GLO_purchaseOrder.d.ts +14 -0
  183. package/dist/blueprints/GLO_purchaseOrder.js +25 -0
  184. package/dist/blueprints/GLO_purchaseOrderLine.d.ts +10 -0
  185. package/dist/blueprints/GLO_purchaseOrderLine.js +24 -0
  186. package/dist/blueprints/GLO_purchasePrices.d.ts +10 -0
  187. package/dist/blueprints/GLO_purchasePrices.js +10 -0
  188. package/dist/blueprints/GLO_quotation.d.ts +12 -0
  189. package/dist/blueprints/GLO_quotation.js +32 -0
  190. package/dist/blueprints/GLO_quotationLine.d.ts +12 -0
  191. package/dist/blueprints/GLO_quotationLine.js +28 -0
  192. package/dist/blueprints/GLO_receipt.d.ts +13 -0
  193. package/dist/blueprints/GLO_receipt.js +17 -0
  194. package/dist/blueprints/GLO_receiptFromTempReceipt.d.ts +8 -0
  195. package/dist/blueprints/GLO_receiptFromTempReceipt.js +8 -0
  196. package/dist/blueprints/GLO_receiptLine.d.ts +22 -0
  197. package/dist/blueprints/GLO_receiptLine.js +28 -0
  198. package/dist/blueprints/GLO_relationAddress.d.ts +26 -0
  199. package/dist/blueprints/GLO_relationAddress.js +58 -0
  200. package/dist/blueprints/GLO_relationBankAccount.d.ts +9 -0
  201. package/dist/blueprints/GLO_relationBankAccount.js +9 -0
  202. package/dist/blueprints/GLO_relationContact.d.ts +23 -0
  203. package/dist/blueprints/GLO_relationContact.js +45 -0
  204. package/dist/blueprints/GLO_relationGroupType.d.ts +7 -0
  205. package/dist/blueprints/GLO_relationGroupType.js +6 -0
  206. package/dist/blueprints/GLO_relations.d.ts +67 -0
  207. package/dist/blueprints/GLO_relations.js +186 -0
  208. package/dist/blueprints/GLO_relationtype.d.ts +15 -0
  209. package/dist/blueprints/GLO_relationtype.js +31 -0
  210. package/dist/blueprints/GLO_remarkType.d.ts +10 -0
  211. package/dist/blueprints/GLO_remarkType.js +9 -0
  212. package/dist/blueprints/GLO_remarkTypeDefaultValue.d.ts +4 -0
  213. package/dist/blueprints/GLO_remarkTypeDefaultValue.js +14 -0
  214. package/dist/blueprints/GLO_remarkTypeEntityType.d.ts +10 -0
  215. package/dist/blueprints/GLO_remarkTypeEntityType.js +9 -0
  216. package/dist/blueprints/GLO_representative.d.ts +7 -0
  217. package/dist/blueprints/GLO_representative.js +6 -0
  218. package/dist/blueprints/GLO_salesInvoice.d.ts +9 -0
  219. package/dist/blueprints/GLO_salesInvoice.js +15 -0
  220. package/dist/blueprints/GLO_salesInvoiceLine.d.ts +9 -0
  221. package/dist/blueprints/GLO_salesInvoiceLine.js +13 -0
  222. package/dist/blueprints/GLO_salesOrder.d.ts +13 -0
  223. package/dist/blueprints/GLO_salesOrder.js +25 -0
  224. package/dist/blueprints/GLO_salesOrderLine.d.ts +13 -0
  225. package/dist/blueprints/GLO_salesOrderLine.js +34 -0
  226. package/dist/blueprints/GLO_stockCorrection.d.ts +14 -0
  227. package/dist/blueprints/GLO_stockCorrection.js +24 -0
  228. package/dist/blueprints/GLO_stopSchedule.d.ts +4 -0
  229. package/dist/blueprints/GLO_stopSchedule.js +4 -0
  230. package/dist/blueprints/GLO_supplierArticle.d.ts +8 -0
  231. package/dist/blueprints/GLO_supplierArticle.js +8 -0
  232. package/dist/blueprints/GLO_tclSetting.d.ts +6 -0
  233. package/dist/blueprints/GLO_tclSetting.js +6 -0
  234. package/dist/blueprints/GLO_todo.d.ts +10 -0
  235. package/dist/blueprints/GLO_todo.js +21 -0
  236. package/dist/blueprints/GLO_todoSchedule.d.ts +23 -0
  237. package/dist/blueprints/GLO_todoSchedule.js +79 -0
  238. package/dist/blueprints/GLO_tractionDistance.d.ts +6 -0
  239. package/dist/blueprints/GLO_tractionDistance.js +6 -0
  240. package/dist/blueprints/GLO_transportOrder.d.ts +4 -0
  241. package/dist/blueprints/GLO_transportOrder.js +4 -0
  242. package/dist/blueprints/GLO_transportPrice.d.ts +18 -0
  243. package/dist/blueprints/GLO_transportPrice.js +34 -0
  244. package/dist/blueprints/GLO_transportRequirement.d.ts +18 -0
  245. package/dist/blueprints/GLO_transportRequirement.js +32 -0
  246. package/dist/blueprints/GLO_transportRequirementContainer.d.ts +8 -0
  247. package/dist/blueprints/GLO_transportRequirementContainer.js +8 -0
  248. package/dist/blueprints/GLO_transportRequirementGoods.d.ts +33 -0
  249. package/dist/blueprints/GLO_transportRequirementGoods.js +51 -0
  250. package/dist/blueprints/GLO_transportScenarioExecutionLeg.d.ts +6 -0
  251. package/dist/blueprints/GLO_transportScenarioExecutionLeg.js +6 -0
  252. package/dist/blueprints/GLO_transportStock.d.ts +4 -0
  253. package/dist/blueprints/GLO_transportStock.js +4 -0
  254. package/dist/blueprints/GLO_visit.d.ts +9 -0
  255. package/dist/blueprints/GLO_visit.js +10 -0
  256. package/dist/blueprints/GLO_warehouseMove.d.ts +9 -0
  257. package/dist/blueprints/GLO_warehouseMove.js +9 -0
  258. package/dist/blueprints/GLO_warehouseOrderSubline.d.ts +6 -0
  259. package/dist/blueprints/GLO_warehouseOrderSubline.js +11 -0
  260. package/dist/blueprints/GLO_workflowLoggingTable.d.ts +20 -0
  261. package/dist/blueprints/GLO_workflowLoggingTable.js +20 -0
  262. package/dist/blueprints/GLO_workflowVerification.d.ts +10 -0
  263. package/dist/blueprints/GLO_workflowVerification.js +19 -0
  264. package/dist/blueprints/GLO_zone.d.ts +9 -0
  265. package/dist/blueprints/GLO_zone.js +9 -0
  266. package/dist/blueprints/GLO_zone_postalcode.d.ts +12 -0
  267. package/dist/blueprints/GLO_zone_postalcode.js +10 -0
  268. package/dist/blueprints/GLO_zone_type.d.ts +8 -0
  269. package/dist/blueprints/GLO_zone_type.js +7 -0
  270. package/dist/blueprints/GLT_goods.d.ts +2 -0
  271. package/dist/blueprints/GLT_goods.js +12 -0
  272. package/dist/commands/FOB_commands.d.ts +124 -0
  273. package/dist/commands/FOB_commands.js +211 -0
  274. package/dist/commands/GLJ_commands.d.ts +28 -0
  275. package/dist/commands/GLJ_commands.js +40 -0
  276. package/dist/commands/GLO_commands.d.ts +685 -0
  277. package/dist/commands/GLO_commands.js +2315 -0
  278. package/dist/commands/GLS_commands.d.ts +63 -0
  279. package/dist/commands/GLS_commands.js +103 -0
  280. package/dist/commands/GLT_commands.d.ts +78 -0
  281. package/dist/commands/GLT_commands.js +148 -0
  282. package/dist/commands/POR_commands.d.ts +85 -0
  283. package/dist/commands/POR_commands.js +122 -0
  284. package/dist/config.d.ts +9 -0
  285. package/dist/config.js +115 -0
  286. package/dist/index.d.ts +2 -0
  287. package/dist/index.js +15 -0
  288. package/dist/plugins/prometheusWriter.d.ts +15 -0
  289. package/dist/plugins/prometheusWriter.js +111 -0
  290. package/dist/register.d.ts +8 -0
  291. package/dist/register.js +23 -0
  292. package/dist/tsHelper.d.ts +161 -0
  293. package/dist/tsHelper.js +294 -0
  294. package/dist/types.d.ts +363 -0
  295. package/dist/types.js +4 -0
  296. package/dist/websocketDetector.d.ts +71 -0
  297. package/dist/websocketDetector.js +1593 -0
  298. package/package.json +58 -0
  299. package/scripts/check-unnecessary-waiting.mjs +119 -0
  300. package/template/CODEOWNERS +20 -0
  301. package/template/biome.json +7 -0
  302. package/template/cypress/e2e/__CUSTOMER__/template.cy.ts.example +18 -0
  303. package/template/cypress/support/e2e.ts +21 -0
  304. package/template/cypress/support/record.mjs +46 -0
  305. package/template/cypress.config.ts +3 -0
  306. package/template/cypress.env.json.example +24 -0
  307. package/template/package.json +20 -0
  308. package/template/tsconfig.json +11 -0
package/package.json ADDED
@@ -0,0 +1,58 @@
1
+ {
2
+ "name": "@globisnv/cypress-core",
3
+ "version": "0.0.1",
4
+ "description": "Core building blocks for Globis Cypress E2E tests",
5
+ "type": "module",
6
+ "publishConfig": {
7
+ "access": "public"
8
+ },
9
+ "globisOnline": {
10
+ "minVersion": "11.0.2"
11
+ },
12
+ "exports": {
13
+ ".": "./dist/index.js",
14
+ "./register": "./dist/register.js",
15
+ "./config": "./dist/config.js",
16
+ "./tsHelper": "./dist/tsHelper.js",
17
+ "./types": "./dist/types.js",
18
+ "./blueprints/*": "./dist/blueprints/*.js",
19
+ "./apiMethods/*": "./dist/apiMethods/*.js",
20
+ "./commands/*": "./dist/commands/*.js"
21
+ },
22
+ "types": "./dist/index.d.ts",
23
+ "bin": {
24
+ "create-globis-customer-repo": "bin/create-customer-repo.mjs"
25
+ },
26
+ "files": [
27
+ "dist",
28
+ "scripts",
29
+ "bin",
30
+ "template",
31
+ "biome.json"
32
+ ],
33
+ "scripts": {
34
+ "build": "tsc -p tsconfig.build.json",
35
+ "build:watch": "tsc -p tsconfig.build.json --watch --preserveWatchOutput",
36
+ "lint": "biome check .",
37
+ "lint:fix": "biome check . --write",
38
+ "typescript": "tsc --noEmit --skipLibCheck"
39
+ },
40
+ "peerDependencies": {
41
+ "cypress": "^15.19.0",
42
+ "cypress-real-events": "^1.15.0"
43
+ },
44
+ "dependencies": {
45
+ "@aws-crypto/sha256-js": "^5.2.0",
46
+ "@aws-sdk/credential-provider-imds": "^3.374.0",
47
+ "@aws-sdk/signature-v4": "^3.374.0",
48
+ "snappyjs": "^0.7.0",
49
+ "uuid": "^14.0.1"
50
+ },
51
+ "devDependencies": {
52
+ "@biomejs/biome": "^2.5.7",
53
+ "@types/node": "^26.1.2",
54
+ "cypress": "^15.19.0",
55
+ "cypress-real-events": "^1.15.0",
56
+ "typescript": "^7.0.2"
57
+ }
58
+ }
@@ -0,0 +1,119 @@
1
+ #!/usr/bin/env node
2
+ // Standalone replacement for the biome-plugins/no-unnecessary-waiting.grit plugin.
3
+ //
4
+ // Biome's GritQL plugins (2.5.7) have no suppression mechanism - a
5
+ // register_diagnostic() call either fires or it doesn't, with no per-line
6
+ // ignore comment support (confirmed: `biome lint --suppress` writes nothing
7
+ // for plugin-sourced diagnostics). Blocking on cy.wait(<number>) while still
8
+ // allowing a documented exception needs code that can check for a preceding
9
+ // comment itself, so this is a plain AST walk instead of a Grit plugin.
10
+ //
11
+ // Flags cy.wait(<number literal>[, options]) unless the line directly above
12
+ // the call has a `// biome-ignore plugin: <reason>` comment.
13
+
14
+ import path from 'node:path';
15
+ import * as ts from 'typescript/unstable/ast';
16
+ import { API } from 'typescript/unstable/sync';
17
+
18
+ const ROOT = process.cwd(); // invoking repo's root, not this script's install location
19
+ const TSCONFIG = 'tsconfig.json';
20
+ const IGNORE_COMMENT = /^\s*\/\/\s*biome-ignore\s+plugin:/;
21
+
22
+ function walkAll(node, visit) {
23
+ visit(node);
24
+ node.forEachChild((child) => walkAll(child, visit));
25
+ }
26
+
27
+ function isIgnored(sourceFile, node) {
28
+ const line = sourceFile.getLineAndCharacterOfPosition(node.getStart()).line;
29
+ if (line === 0) return false;
30
+ const lineStarts = sourceFile.getLineStarts();
31
+ const prevLineText = sourceFile.text.slice(lineStarts[line - 1], lineStarts[line]);
32
+ return IGNORE_COMMENT.test(prevLineText);
33
+ }
34
+
35
+ // A cy.wait(x) call is just as arbitrary when x is a const/default-param alias for a
36
+ // numeric literal (e.g. `const serverTimeout = 5000`) as when it's inlined. Resolve by
37
+ // walking up to the nearest enclosing block/function and looking for a declaration of
38
+ // that name among its statements/parameters - not a file-wide name search, since two
39
+ // unrelated functions can each declare their own same-named local (e.g. `pollInterval`).
40
+ function resolveNumericAlias(identifier) {
41
+ const name = identifier.text;
42
+ for (let scope = identifier.parent; scope; scope = scope.parent) {
43
+ if (ts.isFunctionLikeDeclaration(scope)) {
44
+ for (const param of scope.parameters) {
45
+ if (ts.isIdentifier(param.name) && param.name.text === name && param.initializer && ts.isNumericLiteral(param.initializer)) {
46
+ return param.initializer.text;
47
+ }
48
+ }
49
+ }
50
+ if (ts.isBlock(scope) || ts.isSourceFile(scope)) {
51
+ const statements = scope.statements;
52
+ for (const statement of statements) {
53
+ if (!ts.isVariableStatement(statement)) continue;
54
+ for (const decl of statement.declarationList.declarations) {
55
+ if (ts.isIdentifier(decl.name) && decl.name.text === name && decl.initializer && ts.isNumericLiteral(decl.initializer)) {
56
+ return decl.initializer.text;
57
+ }
58
+ }
59
+ }
60
+ }
61
+ }
62
+ return undefined;
63
+ }
64
+
65
+ function checkSourceFile(sourceFile) {
66
+ const violations = [];
67
+ walkAll(sourceFile, (node) => {
68
+ if (!ts.isCallExpression(node)) return;
69
+ const callee = node.expression;
70
+ if (!ts.isPropertyAccessExpression(callee) || !ts.isIdentifier(callee.expression) || callee.expression.text !== 'cy') return;
71
+ if (callee.name.text !== 'wait') return;
72
+
73
+ const msArg = node.arguments[0];
74
+ if (!msArg) return;
75
+ const isDirectLiteral = ts.isNumericLiteral(msArg);
76
+ const isNumericAlias = ts.isIdentifier(msArg) && resolveNumericAlias(msArg) !== undefined;
77
+ if (!isDirectLiteral && !isNumericAlias) return;
78
+ if (isIgnored(sourceFile, node)) return;
79
+
80
+ violations.push({
81
+ file: sourceFile.fileName,
82
+ line: sourceFile.getLineAndCharacterOfPosition(node.getStart()).line + 1
83
+ });
84
+ });
85
+ return violations;
86
+ }
87
+
88
+ function main() {
89
+ const api = new API({ cwd: ROOT });
90
+ try {
91
+ const snapshot = api.updateSnapshot({ openProjects: [TSCONFIG] });
92
+ const project = snapshot.getProject(TSCONFIG);
93
+
94
+ const cypressRoot = path.join(ROOT, 'cypress') + path.sep;
95
+ const fileNames = project.rootFiles.filter((f) => f.startsWith(cypressRoot) && f.endsWith('.ts') && !f.endsWith('.d.ts'));
96
+
97
+ const allViolations = [];
98
+ for (const fileName of fileNames) {
99
+ const sourceFile = project.program.getSourceFile(fileName);
100
+ if (!sourceFile) continue;
101
+ allViolations.push(...checkSourceFile(sourceFile));
102
+ }
103
+
104
+ for (const v of allViolations) {
105
+ console.log(
106
+ `${path.relative(ROOT, v.file)}:${v.line} Avoid arbitrary cy.wait(ms); prefer cy.intercept()/should() polling instead. (add "// biome-ignore plugin: <reason>" above the line if intentional)`
107
+ );
108
+ }
109
+
110
+ if (allViolations.length > 0) {
111
+ console.log(`\n${allViolations.length} unguarded cy.wait(ms) call(s) found.`);
112
+ process.exit(1);
113
+ }
114
+ } finally {
115
+ api.close();
116
+ }
117
+ }
118
+
119
+ main();
@@ -0,0 +1,20 @@
1
+ #No blanket rule here on purpose — the customer owns and merges their own specs,
2
+ #blueprints, and command files without Globis review. Only the config/workflow
3
+ #surface below needs a Globis reviewer.
4
+
5
+ #These rules protect the packages
6
+ package.json @robrecht-vanmelckebeke @DVersavel @pascal-jacob @stinobook
7
+ package-lock.json @robrecht-vanmelckebeke @DVersavel @pascal-jacob @stinobook
8
+
9
+ #These rules protect the github actions
10
+ /.github/ @robrecht-vanmelckebeke @DVersavel @pascal-jacob @stinobook
11
+
12
+ #This rule protects the config file
13
+ cypress.config.ts @robrecht-vanmelckebeke @DVersavel @pascal-jacob @stinobook
14
+ tsconfig.json @robrecht-vanmelckebeke @DVersavel @pascal-jacob @stinobook
15
+
16
+ #This rule protects the linter rules
17
+ biome.json @robrecht-vanmelckebeke @DVersavel @pascal-jacob @stinobook
18
+
19
+ #This rule protects the support entrypoint (wires in the core package + testFailed hooks)
20
+ /cypress/support/ @robrecht-vanmelckebeke @DVersavel @pascal-jacob @stinobook
@@ -0,0 +1,7 @@
1
+ {
2
+ "$schema": "https://biomejs.dev/schemas/2.5.7/schema.json",
3
+ "extends": ["./node_modules/@globisnv/cypress-core/biome.json"],
4
+ "files": {
5
+ "includes": ["!cypress/screenshots", "!cypress/videos", "!cypress/downloads", "!cypress/reports", "!cypress.env*.json"]
6
+ }
7
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @author - Your name here
3
+ */
4
+
5
+ describe('description of the test case group', () => {
6
+ beforeEach('Login', () => {
7
+ cy.GLO_checkUser();
8
+ cy.GLO_login(); // Optional company name
9
+ });
10
+
11
+ afterEach('Close dashboard', () => {
12
+ cy.GLO_closeDashboard();
13
+ });
14
+
15
+ it('description of the specific test case', () => {
16
+ // Write your code here
17
+ });
18
+ });
@@ -0,0 +1,21 @@
1
+ // ***********************************************************
2
+ // This example support/e2e.js is processed and
3
+ // loaded automatically before your test files.
4
+ //
5
+ // This is a great place to put global configuration and
6
+ // behavior that modifies Cypress.
7
+ //
8
+ // You can change the location of this file or turn off
9
+ // automatically serving support files with the
10
+ // 'supportFile' configuration option.
11
+ //
12
+ // You can read more here:
13
+ // https://on.cypress.io/configuration
14
+ // ***********************************************************
15
+
16
+ // Generic commands, websocketDetector, cypress-real-events, and the
17
+ // testFailed hooks all come from the core package.
18
+ import '@globisnv/cypress-core/register';
19
+
20
+ // Your own commands go here, colocated with your specs, e.g.:
21
+ // import '../e2e/__CUSTOMER_LOWER__/__CUSTOMER_UPPER___commands';
@@ -0,0 +1,46 @@
1
+ import { spawnSync } from 'node:child_process';
2
+ import fs from 'node:fs';
3
+ import * as path from 'node:path';
4
+ import process from 'node:process';
5
+
6
+ const envFile = path.resolve(process.cwd(), 'cypress.env.json');
7
+ let projectId;
8
+ let recordKey;
9
+
10
+ try {
11
+ const envContent = fs.readFileSync(envFile, 'utf-8');
12
+ const envConfig = JSON.parse(envContent);
13
+ projectId = envConfig.projectId;
14
+ recordKey = envConfig.recordKey;
15
+ } catch (error) {
16
+ console.error(`ERROR: Could not read ${envFile}.`, error);
17
+ }
18
+
19
+ const spec = process.argv[2];
20
+
21
+ if (!projectId || !recordKey) {
22
+ console.error('ERROR: Missing `projectId` or `recordKey` in .env file.');
23
+ process.exit(1);
24
+ }
25
+
26
+ if (!spec || spec.startsWith('-')) {
27
+ console.error('ERROR: No spec file provided! Usage: npm run record <spec-file.cy.ts>');
28
+ process.exit(1);
29
+ }
30
+
31
+ const cypressPath = path.resolve(process.cwd(), 'node_modules/.bin/cypress');
32
+
33
+ // Run Cypress
34
+ const result = spawnSync(cypressPath, ['run', '--browser', 'chrome', '--record', '--key', recordKey, '--config', `projectId=${projectId}`, '--spec', spec], {
35
+ stdio: 'inherit',
36
+ shell: true,
37
+ cwd: process.cwd(),
38
+ env: process.env
39
+ });
40
+
41
+ if (result.error) {
42
+ console.error('ERROR:', result.error);
43
+ process.exit(1);
44
+ }
45
+
46
+ process.exit(result.status ?? 1);
@@ -0,0 +1,3 @@
1
+ import { defineGlobisConfig } from '@globisnv/cypress-core/config';
2
+
3
+ export default defineGlobisConfig();
@@ -0,0 +1,24 @@
1
+ // Copy and rename this file to cypress.env.json
2
+ // Delete these comments
3
+
4
+ {
5
+ "loginType": "<default/servoy/okta>",
6
+ "username": "<enter your username here>",
7
+ "password": "<enter your password here>",
8
+ "username2": "<optional - alternate login user, used by tests that switch users>",
9
+ "password2": "<optional - password for username2>",
10
+
11
+ "globisUrl": "<enter your globisUrl here>",
12
+ "oktaUrl": "<optional - only used when loginType is okta>",
13
+ "ownerName": "<optional - only used for a local Servoy instance>",
14
+
15
+ "api_key": "<optional - only used when a command needs an API key>",
16
+
17
+ "projectId": "<Cypress Cloud project id - only needed for `npm run record`>",
18
+ "recordKey": "<Cypress Cloud record key - only needed for `npm run record`>",
19
+
20
+ "extraParams": {
21
+ "cypressWebsocketLoader": "true",
22
+ "cypressWebsocketDebug": "false"
23
+ }
24
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "__PACKAGE_NAME__",
3
+ "dependencies": {
4
+ "@globisnv/cypress-core": "^__CORE_VERSION__",
5
+ "cypress-real-events": "^1.15.0",
6
+ "typescript": "^7.0.2"
7
+ },
8
+ "devDependencies": {
9
+ "@biomejs/biome": "^2.5.7",
10
+ "@types/node": "^26.1.2",
11
+ "cypress": "^15.19.0"
12
+ },
13
+ "scripts": {
14
+ "lint": "biome check . && node node_modules/@globisnv/cypress-core/scripts/check-unnecessary-waiting.mjs",
15
+ "lint:fix": "biome check . --write && node node_modules/@globisnv/cypress-core/scripts/check-unnecessary-waiting.mjs",
16
+ "typescript": "tsc --noEmit --skipLibCheck",
17
+ "open": "cypress open --e2e --browser chrome",
18
+ "record": "node ./cypress/support/record.mjs"
19
+ }
20
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "lib": ["ES2022", "dom"],
5
+ "types": ["cypress", "node"],
6
+ "strict": true,
7
+ "moduleResolution": "bundler",
8
+ "esModuleInterop": true
9
+ },
10
+ "include": ["**/*.ts", "./node_modules/@globisnv/cypress-core/dist/types.d.ts"]
11
+ }