@mbehenri/openmrs-esm-opentms-meet-app 1.0.1 → 1.0.3

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 (109) hide show
  1. package/.eslintrc +1 -1
  2. package/.husky/pre-commit +2 -2
  3. package/.husky/pre-push +0 -0
  4. package/.turbo.json +1 -1
  5. package/README.md +25 -14
  6. package/__mocks__/react-i18next.js +9 -14
  7. package/dist/147.js +1 -0
  8. package/dist/147.js.map +1 -0
  9. package/dist/184.js +2 -0
  10. package/dist/184.js.LICENSE.txt +14 -0
  11. package/dist/184.js.map +1 -0
  12. package/dist/197.js +1 -0
  13. package/dist/23.js +1 -0
  14. package/dist/23.js.map +1 -0
  15. package/dist/26.js +1 -0
  16. package/dist/26.js.map +1 -0
  17. package/dist/282.js +2 -0
  18. package/dist/282.js.LICENSE.txt +32 -0
  19. package/dist/282.js.map +1 -0
  20. package/dist/300.js +1 -0
  21. package/dist/335.js +1 -0
  22. package/dist/353.js +1 -0
  23. package/dist/353.js.map +1 -0
  24. package/dist/471.js +1 -0
  25. package/dist/471.js.map +1 -0
  26. package/dist/509.js +2 -0
  27. package/dist/509.js.LICENSE.txt +54 -0
  28. package/dist/509.js.map +1 -0
  29. package/dist/51.js +1 -0
  30. package/dist/51.js.map +1 -0
  31. package/dist/540.js +2 -0
  32. package/dist/540.js.LICENSE.txt +9 -0
  33. package/dist/540.js.map +1 -0
  34. package/dist/55.js +1 -0
  35. package/dist/652.js +1 -0
  36. package/dist/740.js +1 -0
  37. package/dist/740.js.map +1 -0
  38. package/dist/852.js +1 -0
  39. package/dist/852.js.map +1 -0
  40. package/dist/864.js +1 -0
  41. package/dist/864.js.map +1 -0
  42. package/dist/897.js +2 -0
  43. package/dist/897.js.LICENSE.txt +24 -0
  44. package/dist/897.js.map +1 -0
  45. package/dist/91.js +1 -0
  46. package/dist/91.js.map +1 -0
  47. package/dist/961.js +2 -0
  48. package/dist/961.js.LICENSE.txt +19 -0
  49. package/dist/961.js.map +1 -0
  50. package/dist/99.js +1 -0
  51. package/dist/b8b28cec32e885bb.png +0 -0
  52. package/dist/main.js +1 -0
  53. package/dist/main.js.map +1 -0
  54. package/dist/openmrs-esm-opentms-meet-app.js +1 -0
  55. package/dist/openmrs-esm-opentms-meet-app.js.buildmanifest.json +678 -0
  56. package/dist/openmrs-esm-opentms-meet-app.js.map +1 -0
  57. package/dist/routes.json +1 -0
  58. package/e2e/core/global-setup.ts +8 -8
  59. package/e2e/core/index.ts +1 -1
  60. package/e2e/core/test.ts +3 -3
  61. package/e2e/fixtures/api.ts +2 -9
  62. package/e2e/fixtures/index.ts +1 -1
  63. package/e2e/pages/index.ts +1 -1
  64. package/e2e/pages/root-page.ts +32 -0
  65. package/e2e/specs/template-app.spec.ts +23 -0
  66. package/e2e/support/github/Dockerfile +1 -1
  67. package/e2e/support/github/docker-compose.yml +2 -2
  68. package/e2e/support/github/run-e2e-docker-env.sh +13 -25
  69. package/jest.config.js +19 -17
  70. package/package.json +44 -45
  71. package/playwright.config.ts +9 -11
  72. package/prettier.config.js +8 -0
  73. package/src/components/Appointment/index.scss +1 -1
  74. package/src/components/Appointment/index.tsx +30 -58
  75. package/src/components/Demand/tab.scss +1 -1
  76. package/src/components/Demand/tab.tsx +38 -58
  77. package/src/components/EmptyLayout/index.scss +1 -1
  78. package/src/components/MeetIframe/index.tsx +16 -35
  79. package/src/config-schema.ts +5 -5
  80. package/src/dashboard.meta.ts +6 -6
  81. package/src/extensions/AppointmentTabExt.tsx +17 -0
  82. package/src/{Extensions → extensions}/DemandTabExt.tsx +2 -2
  83. package/src/{Extensions → extensions}/MeetIframeExt.tsx +2 -2
  84. package/src/{Extensions → extensions}/ValidateDemandFormExt.tsx +5 -6
  85. package/src/index.ts +11 -31
  86. package/src/pages/home/home.component.tsx +2 -2
  87. package/src/repositories/opentms/index.ts +10 -0
  88. package/src/repositories/{Opencare → opentms}/prodRepository.ts +36 -65
  89. package/src/repositories/{Opencare → opentms}/repository.ts +5 -8
  90. package/src/root.component.tsx +8 -19
  91. package/src/root.scss +5 -5
  92. package/src/root.test.tsx +9 -14
  93. package/src/routes.json +6 -11
  94. package/src/services/doctor.ts +13 -22
  95. package/{i18next-parser.config.js → tools/i18next-parser.config.js} +19 -19
  96. package/tools/setup-tests.ts +1 -0
  97. package/tools/update-openmrs-deps.mjs +43 -0
  98. package/translations/am.json +24 -0
  99. package/translations/en.json +24 -1
  100. package/tsconfig.json +1 -1
  101. package/webpack.config.js +1 -1
  102. package/.yarn/install-state.gz +0 -0
  103. package/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs +0 -541
  104. package/.yarn/releases/yarn-3.6.1.cjs +0 -874
  105. package/.yarnrc.yml +0 -9
  106. package/e2e/pages/home-page.ts +0 -9
  107. package/e2e/specs/sample-test.spec.ts +0 -11
  108. package/src/Extensions/AppointmentTabExt.tsx +0 -23
  109. package/src/repositories/Opencare/index.ts +0 -12
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openmrs-esm-opentms-meet-app.js","mappings":"kEACIA,EADAC,ECAAC,EACAC,ECDAC,EAIAC,EAIAC,EAIAC,EAIAC,EAGAC,EAIAC,EAuBAC,EAMAC,EAUAC,EAMAC,EAWAC,EA0BAC,EAgBAC,EACAC,EASAC,EAgBAC,E,kBCnJJ,IAAIC,EAAY,CACf,UAAW,IACHC,QAAQC,IAAI,CAACC,EAAoBC,EAAE,KAAMD,EAAoBC,EAAE,MAAMC,KAAK,IAAM,IAASF,EAAoB,QAGlHf,EAAM,CAACkB,EAAQC,KAClBJ,EAAoBK,EAAID,EACxBA,EACCJ,EAAoBM,EAAET,EAAWM,GAC9BN,EAAUM,KACVL,QAAQS,UAAUL,KAAK,KACxB,MAAM,IAAIM,MAAM,WAAaL,EAAS,oCAGzCH,EAAoBK,OAAII,EACjBL,GAEJM,EAAO,CAACC,EAAYC,KACvB,GAAKZ,EAAoBa,EAAzB,CACA,IAAIC,EAAO,UACPC,EAAWf,EAAoBa,EAAEC,GACrC,GAAGC,GAAYA,IAAaJ,EAAY,MAAM,IAAIH,MAAM,mGAExD,OADAR,EAAoBa,EAAEC,GAAQH,EACvBX,EAAoBgB,EAAEF,EAAMF,EALD,GASnCZ,EAAoBiB,EAAEC,EAAS,CAC9BjC,IAAK,IAAM,EACXyB,KAAM,IAAM,G,GC5BTS,EAA2B,CAAC,EAGhC,SAASnB,EAAoBoB,GAE5B,IAAIC,EAAeF,EAAyBC,GAC5C,QAAqBX,IAAjBY,EACH,OAAOA,EAAaH,QAGrB,IAAIf,EAASgB,EAAyBC,GAAY,CACjDE,GAAIF,EAEJF,QAAS,CAAC,GAOX,OAHAK,EAAoBH,GAAUI,KAAKrB,EAAOe,QAASf,EAAQA,EAAOe,QAASlB,GAGpEG,EAAOe,OACf,CAGAlB,EAAoByB,EAAIF,EAGxBvB,EAAoB0B,EAAIP,EC3BxBnB,EAAoB2B,EAAKxB,IACxB,IAAIyB,EAASzB,GAAUA,EAAO0B,WAC7B,IAAO1B,EAAiB,QACxB,IAAM,EAEP,OADAH,EAAoBiB,EAAEW,EAAQ,CAAEE,EAAGF,IAC5BA,GLNJnD,EAAWsD,OAAOC,eAAkBC,GAASF,OAAOC,eAAeC,GAASA,GAASA,EAAa,UAQtGjC,EAAoBkC,EAAI,SAASC,EAAOC,GAEvC,GADU,EAAPA,IAAUD,EAAQE,KAAKF,IAChB,EAAPC,EAAU,OAAOD,EACpB,GAAoB,iBAAVA,GAAsBA,EAAO,CACtC,GAAW,EAAPC,GAAaD,EAAMN,WAAY,OAAOM,EAC1C,GAAW,GAAPC,GAAoC,mBAAfD,EAAMjC,KAAqB,OAAOiC,CAC5D,CACA,IAAIG,EAAKP,OAAOQ,OAAO,MACvBvC,EAAoBwC,EAAEF,GACtB,IAAIG,EAAM,CAAC,EACXjE,EAAiBA,GAAkB,CAAC,KAAMC,EAAS,CAAC,GAAIA,EAAS,IAAKA,EAASA,IAC/E,IAAI,IAAIiE,EAAiB,EAAPN,GAAYD,GAA0B,iBAAXO,GAAyC,mBAAXA,MAA4BlE,EAAemE,QAAQD,GAAUA,EAAUjE,EAASiE,GAC1JX,OAAOa,oBAAoBF,GAASG,QAASC,GAASL,EAAIK,GAAO,IAAOX,EAAMW,IAI/E,OAFAL,EAAa,QAAI,IAAM,EACvBzC,EAAoBiB,EAAEqB,EAAIG,GACnBH,CACR,EMxBAtC,EAAoBiB,EAAI,CAACC,EAAS6B,KACjC,IAAI,IAAID,KAAOC,EACX/C,EAAoBM,EAAEyC,EAAYD,KAAS9C,EAAoBM,EAAEY,EAAS4B,IAC5Ef,OAAOiB,eAAe9B,EAAS4B,EAAK,CAAEG,YAAY,EAAMhE,IAAK8D,EAAWD,MCJ3E9C,EAAoBkD,EAAI,CAAC,EAGzBlD,EAAoBC,EAAKkD,GACjBrD,QAAQC,IAAIgC,OAAOqB,KAAKpD,EAAoBkD,GAAGG,OAAO,CAACC,EAAUR,KACvE9C,EAAoBkD,EAAEJ,GAAKK,EAASG,GAC7BA,GACL,KCNJtD,EAAoBuD,EAAKJ,GAEZA,EAAU,MCHvBnD,EAAoBwD,EAAI,WACvB,GAA0B,iBAAfC,WAAyB,OAAOA,WAC3C,IACC,OAAOpB,MAAQ,IAAIqB,SAAS,cAAb,EAChB,CAAE,MAAOzD,GACR,GAAsB,iBAAX0D,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCAxB3D,EAAoBM,EAAI,CAAC2B,EAAK2B,IAAU7B,OAAO8B,UAAUC,eAAetC,KAAKS,EAAK2B,GTA9ElF,EAAa,CAAC,EACdC,EAAoB,0CAExBqB,EAAoB+D,EAAI,CAACC,EAAKC,EAAMnB,EAAKK,KACxC,GAAGzE,EAAWsF,GAAQtF,EAAWsF,GAAKE,KAAKD,OAA3C,CACA,IAAIE,EAAQC,EACZ,QAAW3D,IAARqC,EAEF,IADA,IAAIuB,EAAUC,SAASC,qBAAqB,UACpCC,EAAI,EAAGA,EAAIH,EAAQI,OAAQD,IAAK,CACvC,IAAIE,EAAIL,EAAQG,GAChB,GAAGE,EAAEC,aAAa,QAAUX,GAAOU,EAAEC,aAAa,iBAAmBhG,EAAoBmE,EAAK,CAAEqB,EAASO,EAAG,KAAO,CACpH,CAEGP,IACHC,GAAa,GACbD,EAASG,SAASM,cAAc,WAEzBC,QAAU,QACjBV,EAAOW,QAAU,IACb9E,EAAoB+E,IACvBZ,EAAOa,aAAa,QAAShF,EAAoB+E,IAElDZ,EAAOa,aAAa,eAAgBrG,EAAoBmE,GAExDqB,EAAOc,IAAMjB,GAEdtF,EAAWsF,GAAO,CAACC,GACnB,IAAIiB,EAAmB,CAACC,EAAMC,KAE7BjB,EAAOkB,QAAUlB,EAAOmB,OAAS,KACjCC,aAAaT,GACb,IAAIU,EAAU9G,EAAWsF,GAIzB,UAHOtF,EAAWsF,GAClBG,EAAOsB,YAActB,EAAOsB,WAAWC,YAAYvB,GACnDqB,GAAWA,EAAQ3C,QAAS8C,GAAQA,EAAGP,IACpCD,EAAM,OAAOA,EAAKC,IAElBN,EAAUc,WAAWV,EAAiBW,KAAK,UAAMpF,EAAW,CAAEqF,KAAM,UAAWC,OAAQ5B,IAAW,MACtGA,EAAOkB,QAAUH,EAAiBW,KAAK,KAAM1B,EAAOkB,SACpDlB,EAAOmB,OAASJ,EAAiBW,KAAK,KAAM1B,EAAOmB,QACnDlB,GAAcE,SAAS0B,KAAKC,YAAY9B,EApCkB,GUH3DnE,EAAoBwC,EAAKtB,IACH,oBAAXgF,QAA0BA,OAAOC,aAC1CpE,OAAOiB,eAAe9B,EAASgF,OAAOC,YAAa,CAAEhE,MAAO,WAE7DJ,OAAOiB,eAAe9B,EAAS,aAAc,CAAEiB,OAAO,K,MCLvDnC,EAAoBa,EAAI,CAAC,EACzB,IAAIuF,EAAe,CAAC,EAChBC,EAAa,CAAC,EAClBrG,EAAoBgB,EAAI,CAACF,EAAMF,KAC1BA,IAAWA,EAAY,IAE3B,IAAI0F,EAAYD,EAAWvF,GAE3B,GADIwF,IAAWA,EAAYD,EAAWvF,GAAQ,CAAC,KAC5CF,EAAU+B,QAAQ2D,IAAc,GAAnC,CAGA,GAFA1F,EAAUsD,KAAKoC,GAEZF,EAAatF,GAAO,OAAOsF,EAAatF,GAEvCd,EAAoBM,EAAEN,EAAoBa,EAAGC,KAAOd,EAAoBa,EAAEC,GAAQ,CAAC,GAEvF,IAAIyF,EAAQvG,EAAoBa,EAAEC,GAI9B0F,EAAa,yCACbC,EAAW,CAAC3F,EAAM4F,EAASC,EAASC,KACvC,IAAIC,EAAWN,EAAMzF,GAAQyF,EAAMzF,IAAS,CAAC,EACzCgG,EAAgBD,EAASH,KACzBI,IAAmBA,EAAcC,UAAYH,IAAUE,EAAcF,MAAQA,EAAQJ,EAAaM,EAAcE,SAAQH,EAASH,GAAW,CAAEzH,IAAK0H,EAASK,KAAMR,EAAYI,QAASA,KAaxLtD,EAAW,GAYf,MAVM,YADCxC,IAEL2F,EAAS,yBAA0B,iBAAkB,IAAO3G,QAAQC,IAAI,CAACC,EAAoBC,EAAE,KAAMD,EAAoBC,EAAE,KAAMD,EAAoBC,EAAE,KAAMD,EAAoBC,EAAE,IAAKD,EAAoBC,EAAE,KAAMD,EAAoBC,EAAE,KAAMD,EAAoBC,EAAE,OAAOC,KAAK,IAAM,IAAQF,EAAoB,QACpTyG,EAAS,QAAS,UAAW,IAAOzG,EAAoBC,EAAE,KAAKC,KAAK,IAAM,IAAQF,EAAoB,QACtGyG,EAAS,gBAAiB,UAAW,IAAO3G,QAAQC,IAAI,CAACC,EAAoBC,EAAE,IAAKD,EAAoBC,EAAE,OAAOC,KAAK,IAAM,IAAQF,EAAoB,QACxJyG,EAAS,mBAAoB,SAAU,IAAO3G,QAAQC,IAAI,CAACC,EAAoBC,EAAE,KAAMD,EAAoBC,EAAE,KAAMD,EAAoBC,EAAE,MAAMC,KAAK,IAAM,IAAQF,EAAoB,OACtLyG,EAAS,QAAS,SAAU,IAAOzG,EAAoBC,EAAE,KAAKC,KAAK,IAAM,IAAQF,EAAoB,QACrGyG,EAAS,OAAQ,QAAS,IAAOzG,EAAoBC,EAAE,KAAKC,KAAK,IAAM,IAAQF,EAAoB,SAK9FoG,EAAatF,GADhBwC,EAASmB,OACe3E,QAAQC,IAAIuD,GAAUpD,KAAK,IAAOkG,EAAatF,GAAQ,GADlC,CAxCL,E,WCR7C,IAAImG,EACAjH,EAAoBwD,EAAE0D,gBAAeD,EAAYjH,EAAoBwD,EAAE2D,SAAW,IACtF,IAAI7C,EAAWtE,EAAoBwD,EAAEc,SACrC,IAAK2C,GAAa3C,IACbA,EAAS8C,eAAkE,WAAjD9C,EAAS8C,cAAcC,QAAQC,gBAC5DL,EAAY3C,EAAS8C,cAAcnC,MAC/BgC,GAAW,CACf,IAAI5C,EAAUC,EAASC,qBAAqB,UAC5C,GAAGF,EAAQI,OAEV,IADA,IAAID,EAAIH,EAAQI,OAAS,EAClBD,GAAK,KAAOyC,IAAc,aAAaM,KAAKN,KAAaA,EAAY5C,EAAQG,KAAKS,GAE3F,CAID,IAAKgC,EAAW,MAAM,IAAIzG,MAAM,yDAChCyG,EAAYA,EAAUO,QAAQ,SAAU,IAAIA,QAAQ,OAAQ,IAAIA,QAAQ,QAAS,IAAIA,QAAQ,YAAa,KAC1GxH,EAAoByH,EAAIR,C,KXlBpBrI,EAAgB8I,IAEnB,IAAID,EAAEA,GAAWA,EAAEE,MAAM,KAAKC,IAAIH,IAAWA,GAAGA,GAAGA,EAAEA,GAAK9F,EAAE,sCAAsCkG,KAAKH,GAAKlF,EAAEb,EAAE,GAAG8F,EAAE9F,EAAE,IAAI,GAAG,OAAOA,EAAE,KAAKa,EAAEiC,SAASjC,EAAE0B,KAAK4D,MAAMtF,EAAEiF,EAAE9F,EAAE,MAAMA,EAAE,KAAKa,EAAE0B,KAAK,IAAI1B,EAAE0B,KAAK4D,MAAMtF,EAAEiF,EAAE9F,EAAE,MAAMa,GAExN3D,EAAY,CAACiD,EAAGiG,KAEnBjG,EAAElD,EAAakD,GAAGiG,EAAEnJ,EAAamJ,GAAG,IAAI,IAAIvF,EAAE,IAAI,CAAC,GAAGA,GAAGV,EAAE2C,OAAO,OAAOjC,EAAEuF,EAAEtD,QAAQ,aAAasD,EAAEvF,IAAI,GAAG,IAAIvC,EAAE6B,EAAEU,GAAGb,UAAU1B,GAAG,GAAG,GAAGuC,GAAGuF,EAAEtD,OAAO,MAAM,KAAK9C,EAAE,IAAIO,EAAE6F,EAAEvF,GAAGU,UAAUhB,GAAG,GAAG,GAAGP,GAAGuB,EAAE,MAAM,KAAKvB,GAAG,KAAKuB,GAAI,KAAKA,GAAG,KAAKvB,EAAG,GAAG,KAAKA,GAAG,KAAKA,GAAG1B,GAAGiC,EAAE,OAAOjC,EAAEiC,EAAEM,GAAG,GAE/Q1D,EAAiBkJ,IAEpB,IAAIxF,EAAEwF,EAAM,GAAGrG,EAAE,GAAG,GAAG,IAAIqG,EAAMvD,OAAO,MAAM,IAAI,GAAGjC,EAAE,GAAG,CAACb,GAAG,GAAGa,EAAE,MAAM,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAIA,EAAE,EAAE,IAAI,KAAK,IAAI,IAAIvC,EAAE,EAAE6B,EAAE,EAAEA,EAAEkG,EAAMvD,OAAO3C,IAAK7B,IAAI0B,GAAG,aAAaO,EAAE8F,EAAMlG,KAAK,GAAG,KAAK7B,EAAE,EAAE,IAAI,KAAKA,EAAE,EAAEiC,GAAG,OAAOP,CAAC,CAAC,IAAI6B,EAAE,GAAG,IAAI1B,EAAE,EAAEA,EAAEkG,EAAMvD,OAAO3C,IAAI,CAAC,IAAII,EAAE8F,EAAMlG,GAAG0B,EAAEU,KAAK,IAAIhC,EAAE,OAAO5B,IAAI,IAAI,IAAI4B,EAAE,IAAI5B,IAAI,OAAOA,IAAI,IAAI,IAAI4B,EAAEsB,EAAEyE,MAAM,IAAIzE,EAAEyE,MAAMnJ,EAAcoD,GAAG,CAAC,OAAO5B,IAAI,SAASA,IAAI,OAAOkD,EAAEyE,MAAMT,QAAQ,aAAa,KAAK,GAElbzI,EAAU,CAACiJ,EAAOtB,KAErB,GAAG,KAAKsB,EAAM,CAACtB,EAAQ9H,EAAa8H,GAAS,IAAIzG,EAAE+H,EAAM,GAAGxF,EAAEvC,EAAE,EAAEuC,IAAIvC,GAAGA,EAAE,GAAG,IAAI,IAAI0B,EAAE,EAAE6C,EAAE,EAAE1C,GAAE,GAAI0C,IAAI7C,IAAI,CAAC,IAAIuB,EAAEwB,EAAElB,EAAEgB,EAAEwD,EAAMvD,eAAeuD,EAAMxD,IAAI,GAAG,GAAG,GAAG7C,GAAG+E,EAAQjC,QAAQ,MAAMC,UAAUxB,EAAEwD,EAAQ/E,KAAK,IAAI,OAAOG,IAAI,KAAK0B,EAAEgB,EAAEvE,IAAIuC,EAAE,IAAIgB,GAAGhB,GAAG,GAAG,KAAKkC,GAAG,IAAI5C,GAAG,KAAK0B,EAAE,OAAM,OAAQ,GAAG1B,EAAE,GAAG0B,GAAGkB,EAAE,GAAGF,GAAGvE,GAAG,GAAGiD,GAAG8E,EAAMxD,GAAG,OAAM,MAAO,CAAC,GAAGhC,EAAEU,EAAE8E,EAAMxD,GAAGtB,EAAE8E,EAAMxD,GAAG,OAAM,EAAGtB,GAAG8E,EAAMxD,KAAK1C,GAAE,EAAG,MAAM,GAAG,KAAK0B,GAAG,KAAKA,EAAE,CAAC,GAAGhB,GAAGgC,GAAGvE,EAAE,OAAM,EAAG6B,GAAE,EAAG0C,GAAG,KAAK,CAAC,GAAGA,GAAGvE,GAAGyE,EAAElB,GAAGhB,EAAE,OAAM,EAAGV,GAAE,CAAE,KAAK,KAAK0B,GAAG,KAAKA,IAAI1B,GAAE,EAAG0C,IAAI,CAAC,CAAC,IAAItC,EAAE,GAAG5B,EAAE4B,EAAE+F,IAAIpC,KAAK3D,GAAG,IAAIP,EAAE,EAAEA,EAAEqG,EAAMvD,OAAO9C,IAAI,CAAC,IAAI4B,EAAEyE,EAAMrG,GAAGO,EAAEgC,KAAK,GAAGX,EAAEjD,IAAIA,IAAI,GAAGiD,EAAEjD,IAAIA,IAAIiD,EAAExE,EAAQwE,EAAEmD,IAAUpG,IAAI,CAAC,QAAQA,KAE1oBtB,EAAS,CAACuH,EAAOzD,IACbyD,GAASvG,EAAoBM,EAAEiG,EAAOzD,GAE1C7D,EAAOiJ,IACVA,EAAMnB,OAAS,EACRmB,EAAMjJ,OAEVC,EAAa2H,GACT9E,OAAOqB,KAAKyD,GAAUxD,OAAO,CAAC8E,EAAUzB,KACzCG,EAASH,GAASE,QACrBuB,EAASzB,GAAWG,EAASH,IAEvByB,GACN,CAAC,GAiBDhJ,EAA0B,CAACoH,EAAOzD,EAAK8D,KAC1C,IAAIC,EAAWD,EAAQ1H,EAAUqH,EAAMzD,IAAQyD,EAAMzD,GACrD,OAAOf,OAAOqB,KAAKyD,GAAUxD,OAAO,CAACvB,EAAGiG,KAC/BjG,IAAO+E,EAAS/E,GAAGiF,QAAUlI,EAAUiD,EAAGiG,GAAMA,EAAIjG,EAC1D,IAEA1C,EAAoC,CAACmH,EAAOzD,EAAK4D,EAAS0B,IACtD,uBAAyB1B,EAAU,UAAYA,GAAWH,EAAMzD,GAAK4D,GAASM,MAAQ,+BAAiClE,EAAM,cAAgBhE,EAAcsJ,GAAmB,IASlL/I,EAAQgJ,IACX,MAAM,IAAI7H,MAAM6H,IAKb/I,EAAsB+I,IACF,oBAAZC,SAA2BA,QAAQhJ,MAAMgJ,QAAQhJ,KAAK+I,IAU9D9I,EAAc,CAACgJ,EAAWzF,EAAK0F,IAC3BA,EAAWA,IAfE,EAACD,EAAWzF,IACzBzD,EAAK,iBAAmByD,EAAM,kCAAoCyF,GAc1CE,CAAeF,EAAWzF,GAyBtDtD,EAlCO,CAACmG,GAAO,SAAU4C,EAAWzF,EAAK8D,EAAOlF,EAAGT,GACtD,IAAIyH,EAAU1I,EAAoBgB,EAAEuH,GACpC,OAAIG,GAAWA,EAAQxI,OAAS0G,EACxB8B,EAAQxI,KAAKyF,EAAGE,KAAKF,EAAI4C,EAAWvI,EAAoBa,EAAE0H,GAAYzF,GAAK,EAAOpB,EAAGT,IAEtF0E,EAAG4C,EAAWvI,EAAoBa,EAAE0H,GAAYzF,EAAK8D,EAAOlF,EAAGT,EACtE,EA4BwCP,CAAK,CAAC6H,EAAWhC,EAAOzD,EAAK8D,EAAOwB,EAAiBI,KAC7F,IAAKxJ,EAAOuH,EAAOzD,GAAM,OAAOvD,EAAYgJ,EAAWzF,EAAK0F,GAC5D,IAAI9B,EAAUvH,EAAwBoH,EAAOzD,EAAK8D,GAIlD,OAHK7H,EAAQqJ,EAAiB1B,IAC7BpH,EAAKF,EAAkCmH,EAAOzD,EAAK4D,EAAS0B,IAEtDnJ,EAAIsH,EAAMzD,GAAK4D,MAUnBjH,EAAmB,CAAC,EACpBC,EAAyB,CAC5B,KAAM,IAAOF,EAAqB,UAAW,SAAS,EAAO,CAAC,EAAE,IAAK,IAAOQ,EAAoBC,EAAE,KAAKC,KAAK,IAAM,IAAQF,EAAoB,QAC9I,KAAM,IAAOR,EAAqB,UAAW,iBAAiB,EAAO,CAAC,EAAE,IAAK,IAAOQ,EAAoBC,EAAE,KAAKC,KAAK,IAAM,IAAQF,EAAoB,QACtJ,IAAK,IAAOR,EAAqB,UAAW,SAAS,EAAO,CAAC,EAAE,GAAI,IAAOQ,EAAoBC,EAAE,KAAKC,KAAK,IAAM,IAAQF,EAAoB,QAC5I,KAAM,IAAOR,EAAqB,UAAW,QAAQ,EAAO,CAAC,EAAE,GAAI,IAAOQ,EAAoBC,EAAE,KAAKC,KAAK,IAAM,IAAQF,EAAoB,QAC5I,KAAM,IAAOR,EAAqB,UAAW,oBAAoB,EAAO,CAAC,EAAE,GAAI,IAAOQ,EAAoBC,EAAE,KAAKC,KAAK,IAAM,IAAQF,EAAoB,OACxJ,KAAM,IAAOR,EAAqB,UAAW,0BAA0B,EAAO,CAAC,GAAI,IAAOM,QAAQC,IAAI,CAACC,EAAoBC,EAAE,KAAMD,EAAoBC,EAAE,KAAMD,EAAoBC,EAAE,KAAMD,EAAoBC,EAAE,IAAKD,EAAoBC,EAAE,KAAMD,EAAoBC,EAAE,OAAOC,KAAK,IAAM,IAAQF,EAAoB,SAGnTL,EAAe,CAClB,GAAM,CACL,MAED,IAAO,CACN,IACA,KACA,MAED,IAAO,CACN,MAED,IAAO,CACN,OAGEC,EAAwB,CAAC,EAC7BI,EAAoBkD,EAAEyF,SAAW,CAACxF,EAASG,KACvCtD,EAAoBM,EAAEX,EAAcwD,IACtCxD,EAAawD,GAASN,QAASvB,IAC9B,GAAGtB,EAAoBM,EAAEb,EAAkB6B,GAAK,OAAOgC,EAASY,KAAKzE,EAAiB6B,IACtF,IAAI1B,EAAsB0B,GAAK,CAC/B,IAAIsH,EAAajC,IAChBlH,EAAiB6B,GAAM,EACvBtB,EAAoByB,EAAEH,GAAOnB,WACrBH,EAAoB0B,EAAEJ,GAC7BnB,EAAOe,QAAUyF,MAGnB/G,EAAsB0B,IAAM,EAC5B,IAAIuH,EAAWC,WACPrJ,EAAiB6B,GACxBtB,EAAoByB,EAAEH,GAAOnB,IAE5B,aADOH,EAAoB0B,EAAEJ,GACvBwH,IAGR,IACC,IAAIJ,EAAUhJ,EAAuB4B,KAClCoH,EAAQxI,KACVoD,EAASY,KAAKzE,EAAiB6B,GAAMoH,EAAQxI,KAAK0I,GAAkB,MAAEC,IAChED,EAAUF,EAClB,CAAE,MAAMzI,GAAK4I,EAAQ5I,EAAI,CACzB,K,MYzKH,IAAI8I,EAAkB,CACrB,IAAK,GAGN/I,EAAoBkD,EAAE8F,EAAI,CAAC7F,EAASG,KAElC,IAAI2F,EAAqBjJ,EAAoBM,EAAEyI,EAAiB5F,GAAW4F,EAAgB5F,QAAW1C,EACtG,GAA0B,IAAvBwI,EAGF,GAAGA,EACF3F,EAASY,KAAK+E,EAAmB,SAEjC,GAAI,qBAAqB1B,KAAKpE,GAyBvB4F,EAAgB5F,GAAW,MAzBM,CAEvC,IAAIuF,EAAU,IAAI5I,QAAQ,CAACS,EAAS2I,IAAYD,EAAqBF,EAAgB5F,GAAW,CAAC5C,EAAS2I,IAC1G5F,EAASY,KAAK+E,EAAmB,GAAKP,GAGtC,IAAI1E,EAAMhE,EAAoByH,EAAIzH,EAAoBuD,EAAEJ,GAEpD2F,EAAQ,IAAItI,MAgBhBR,EAAoB+D,EAAEC,EAfFoB,IACnB,GAAGpF,EAAoBM,EAAEyI,EAAiB5F,KAEf,KAD1B8F,EAAqBF,EAAgB5F,MACR4F,EAAgB5F,QAAW1C,GACrDwI,GAAoB,CACtB,IAAIE,EAAY/D,IAAyB,SAAfA,EAAMU,KAAkB,UAAYV,EAAMU,MAChEsD,EAAUhE,GAASA,EAAMW,QAAUX,EAAMW,OAAOd,IACpD6D,EAAMO,QAAU,iBAAmBlG,EAAU,cAAgBgG,EAAY,KAAOC,EAAU,IAC1FN,EAAMhI,KAAO,iBACbgI,EAAMhD,KAAOqD,EACbL,EAAMQ,QAAUF,EAChBH,EAAmB,GAAGH,EACvB,GAGuC,SAAW3F,EAASA,EAC9D,GAgBJ,IAAIoG,EAAuB,CAACC,EAA4BC,KACvD,IAGIrI,EAAU+B,GAHTuG,EAAUC,EAAaC,GAAWH,EAGhBjF,EAAI,EAC3B,GAAGkF,EAASG,KAAMvI,GAAgC,IAAxByH,EAAgBzH,IAAa,CACtD,IAAIF,KAAYuI,EACZ3J,EAAoBM,EAAEqJ,EAAavI,KACrCpB,EAAoByB,EAAEL,GAAYuI,EAAYvI,IAG7CwI,GAAsBA,EAAQ5J,EAClC,CAEA,IADGwJ,GAA4BA,EAA2BC,GACrDjF,EAAIkF,EAASjF,OAAQD,IACzBrB,EAAUuG,EAASlF,GAChBxE,EAAoBM,EAAEyI,EAAiB5F,IAAY4F,EAAgB5F,IACrE4F,EAAgB5F,GAAS,KAE1B4F,EAAgB5F,GAAW,GAKzB2G,EAAqBrG,WAA+D,mDAAIA,WAA+D,oDAAK,GAChKqG,EAAmBjH,QAAQ0G,EAAqB1D,KAAK,KAAM,IAC3DiE,EAAmB5F,KAAOqF,EAAqB1D,KAAK,KAAMiE,EAAmB5F,KAAK2B,KAAKiE,G,KCrFvF9J,EAAoB+E,QAAKtE,ECGzB,IAAIsJ,EAAsB/J,EAAoB,M","sources":["webpack://@mbehenri/openmrs-esm-opentms-meet-app/webpack/runtime/create fake namespace object","webpack://@mbehenri/openmrs-esm-opentms-meet-app/webpack/runtime/load script","webpack://@mbehenri/openmrs-esm-opentms-meet-app/webpack/runtime/consumes","webpack://@mbehenri/openmrs-esm-opentms-meet-app/webpack/container-entry","webpack://@mbehenri/openmrs-esm-opentms-meet-app/webpack/bootstrap","webpack://@mbehenri/openmrs-esm-opentms-meet-app/webpack/runtime/compat get default export","webpack://@mbehenri/openmrs-esm-opentms-meet-app/webpack/runtime/define property getters","webpack://@mbehenri/openmrs-esm-opentms-meet-app/webpack/runtime/ensure chunk","webpack://@mbehenri/openmrs-esm-opentms-meet-app/webpack/runtime/get javascript chunk filename","webpack://@mbehenri/openmrs-esm-opentms-meet-app/webpack/runtime/global","webpack://@mbehenri/openmrs-esm-opentms-meet-app/webpack/runtime/hasOwnProperty shorthand","webpack://@mbehenri/openmrs-esm-opentms-meet-app/webpack/runtime/make namespace object","webpack://@mbehenri/openmrs-esm-opentms-meet-app/webpack/runtime/sharing","webpack://@mbehenri/openmrs-esm-opentms-meet-app/webpack/runtime/publicPath","webpack://@mbehenri/openmrs-esm-opentms-meet-app/webpack/runtime/jsonp chunk loading","webpack://@mbehenri/openmrs-esm-opentms-meet-app/webpack/runtime/nonce","webpack://@mbehenri/openmrs-esm-opentms-meet-app/webpack/startup"],"names":["leafPrototypes","getProto","inProgress","dataWebpackPrefix","parseVersion","versionLt","rangeToString","satisfy","exists","get","eagerOnly","findSingletonVersionKey","getInvalidSingletonVersionMessage","fail","warn","useFallback","loadSingletonVersion","installedModules","moduleToHandlerMapping","chunkMapping","startedInstallModules","moduleMap","Promise","all","__webpack_require__","e","then","module","getScope","R","o","resolve","Error","undefined","init","shareScope","initScope","S","name","oldScope","I","d","exports","__webpack_module_cache__","moduleId","cachedModule","id","__webpack_modules__","call","m","c","n","getter","__esModule","a","Object","getPrototypeOf","obj","t","value","mode","this","ns","create","r","def","current","indexOf","getOwnPropertyNames","forEach","key","definition","defineProperty","enumerable","f","chunkId","keys","reduce","promises","u","g","globalThis","Function","window","prop","prototype","hasOwnProperty","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","i","length","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","fn","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","initPromises","initTokens","initToken","scope","uniqueName","register","version","factory","eager","versions","activeVersion","loaded","from","scriptUrl","importScripts","location","currentScript","tagName","toUpperCase","test","replace","p","str","split","map","exec","apply","b","range","pop","entry","filtered","requiredVersion","msg","console","scopeName","fallback","failAsNotExist","promise","consumes","onFactory","onError","error","installedChunks","j","installedChunkData","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","data","chunkIds","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
@@ -0,0 +1 @@
1
+ {"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"fhir2":">=1.2","webservices.rest":"^2.24.0"},"extensions":[{"component":"demandtab","name":"opentms-demand-tab","slot":"service-queues-dashboard-slot"},{"component":"appointmenttab","name":"opentms-appointment-tab","slot":"patient-chart-appointments-dashboard-slot"},{"component":"meetiframe","name":"opentms-meet-iframe","meta":{"title":{"key":"meetWorkspace","default":"Meet Workspace"}}},{"component":"validatedemandform","name":"opentms-validate-demand-form"}],"pages":[{"component":"root","route":"root"}],"version":"1.0.3"}
@@ -1,5 +1,5 @@
1
- import { request } from "@playwright/test";
2
- import * as dotenv from "dotenv";
1
+ import { request } from '@playwright/test';
2
+ import * as dotenv from 'dotenv';
3
3
 
4
4
  dotenv.config();
5
5
 
@@ -12,20 +12,20 @@ dotenv.config();
12
12
 
13
13
  async function globalSetup() {
14
14
  const requestContext = await request.newContext();
15
- const token = Buffer.from(
16
- `${process.env.E2E_USER_ADMIN_USERNAME}:${process.env.E2E_USER_ADMIN_PASSWORD}`
17
- ).toString("base64");
15
+ const token = Buffer.from(`${process.env.E2E_USER_ADMIN_USERNAME}:${process.env.E2E_USER_ADMIN_PASSWORD}`).toString(
16
+ 'base64',
17
+ );
18
18
  await requestContext.post(`${process.env.E2E_BASE_URL}/ws/rest/v1/session`, {
19
19
  data: {
20
20
  sessionLocation: process.env.E2E_LOGIN_DEFAULT_LOCATION_UUID,
21
- locale: "en",
21
+ locale: 'en',
22
22
  },
23
23
  headers: {
24
- "Content-Type": "application/json",
24
+ 'Content-Type': 'application/json',
25
25
  Authorization: `Basic ${token}`,
26
26
  },
27
27
  });
28
- await requestContext.storageState({ path: "e2e/storageState.json" });
28
+ await requestContext.storageState({ path: 'e2e/storageState.json' });
29
29
  await requestContext.dispose();
30
30
  }
31
31
 
package/e2e/core/index.ts CHANGED
@@ -1 +1 @@
1
- export * from "./test";
1
+ export * from './test';
package/e2e/core/test.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { APIRequestContext, Page, test as base } from "@playwright/test";
2
- import { api } from "../fixtures";
1
+ import { APIRequestContext, Page, test as base } from '@playwright/test';
2
+ import { api } from '../fixtures';
3
3
 
4
4
  // This file sets up our custom test harness using the custom fixtures.
5
5
  // See https://playwright.dev/docs/test-fixtures#creating-a-fixture for details.
@@ -16,5 +16,5 @@ export interface CustomWorkerFixtures {
16
16
  }
17
17
 
18
18
  export const test = base.extend<CustomTestFixtures, CustomWorkerFixtures>({
19
- api: [api, { scope: "worker" }],
19
+ api: [api, { scope: 'worker' }],
20
20
  });
@@ -1,8 +1,4 @@
1
- import {
2
- APIRequestContext,
3
- PlaywrightWorkerArgs,
4
- WorkerFixture,
5
- } from "@playwright/test";
1
+ import { APIRequestContext, PlaywrightWorkerArgs, WorkerFixture } from '@playwright/test';
6
2
 
7
3
  /**
8
4
  * A fixture which initializes an [`APIRequestContext`](https://playwright.dev/docs/api/class-apirequestcontext)
@@ -17,10 +13,7 @@ import {
17
13
  * });
18
14
  * ```
19
15
  */
20
- export const api: WorkerFixture<
21
- APIRequestContext,
22
- PlaywrightWorkerArgs
23
- > = async ({ playwright }, use) => {
16
+ export const api: WorkerFixture<APIRequestContext, PlaywrightWorkerArgs> = async ({ playwright }, use) => {
24
17
  const ctx = await playwright.request.newContext({
25
18
  baseURL: `${process.env.E2E_BASE_URL}/ws/rest/v1/`,
26
19
  httpCredentials: {
@@ -1 +1 @@
1
- export * from "./api";
1
+ export * from './api';
@@ -1 +1 @@
1
- export * from "./home-page";
1
+ export * from './root-page';
@@ -0,0 +1,32 @@
1
+ import type { Page, Locator } from '@playwright/test';
2
+
3
+ export class RootPage {
4
+ readonly page: Page;
5
+ readonly welcomeHeading: Locator;
6
+ readonly configSection: Locator;
7
+ readonly extensionSection: Locator;
8
+ readonly dataFetchingSection: Locator;
9
+ readonly resourcesSection: Locator;
10
+
11
+ constructor(page: Page) {
12
+ this.page = page;
13
+ this.welcomeHeading = page.getByRole('heading', { name: /welcome to the o3 template app/i });
14
+ this.configSection = page.getByRole('heading', { name: /configuration system/i });
15
+ this.extensionSection = page.getByRole('heading', { name: /extension system/i });
16
+ this.dataFetchingSection = page.getByRole('heading', { name: /data fetching/i });
17
+ this.resourcesSection = page.getByRole('heading', { name: /resources/i });
18
+ }
19
+
20
+ async goto() {
21
+ await this.page.goto('/openmrs/spa/root');
22
+ await this.welcomeHeading.waitFor();
23
+ }
24
+
25
+ async waitForPageLoad() {
26
+ await this.welcomeHeading.waitFor();
27
+ await this.configSection.waitFor();
28
+ await this.extensionSection.waitFor();
29
+ await this.dataFetchingSection.waitFor();
30
+ await this.resourcesSection.waitFor();
31
+ }
32
+ }
@@ -0,0 +1,23 @@
1
+ import { test, expect } from '@playwright/test';
2
+ import { RootPage } from '../pages';
3
+
4
+ test('Template app loads and displays all core components', async ({ page }) => {
5
+ const rootPage = new RootPage(page);
6
+ await rootPage.goto();
7
+
8
+ await expect(page).toHaveURL(/\/openmrs\/spa\/root/);
9
+
10
+ await expect(rootPage.welcomeHeading).toBeVisible();
11
+ await expect(
12
+ page.getByText('The following examples demonstrate some key features of the O3 framework'),
13
+ ).toBeVisible();
14
+
15
+ await expect(rootPage.configSection).toBeVisible();
16
+ await expect(rootPage.extensionSection).toBeVisible();
17
+ await expect(rootPage.dataFetchingSection).toBeVisible();
18
+ await expect(rootPage.resourcesSection).toBeVisible();
19
+
20
+ await expect(page.getByText(/hello world!/i)).toBeVisible(); // Configuration greeting tile content
21
+ await expect(page.locator('[data-extension-slot-name="Boxes"]')).toBeVisible(); // Extension boxes slot
22
+ await expect(page.getByRole('button', { name: /get a patient named 'test'/i })).toBeVisible();
23
+ });
@@ -1,5 +1,5 @@
1
1
  # syntax=docker/dockerfile:1.3
2
- FROM --platform=$BUILDPLATFORM node:18-alpine as dev
2
+ FROM --platform=$BUILDPLATFORM node:22-alpine as dev
3
3
 
4
4
  ARG APP_SHELL_VERSION=next
5
5
 
@@ -1,11 +1,11 @@
1
1
  # This docker compose file is used to create a backend environment for the e2e.yml workflow.
2
- version: "3.7"
2
+ version: '3.7'
3
3
 
4
4
  services:
5
5
  gateway:
6
6
  image: openmrs/openmrs-reference-application-3-gateway:${TAG:-nightly}
7
7
  ports:
8
- - "8080:80"
8
+ - '8080:80'
9
9
 
10
10
  frontend:
11
11
  build:
@@ -4,38 +4,26 @@
4
4
  script_dir=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
5
5
  # create a temporary working directory
6
6
  working_dir=$(mktemp -d "${TMPDIR:-/tmp/}openmrs-e2e-frontends.XXXXXXXXXX")
7
- # get a list of all the apps in this workspace
8
- apps=$(yarn workspaces list --json | jq -r 'if ((.location == ".") or (.location | test("form-engine-app")) or (.location | test("-app") | not)) then halt else .name end')
9
- # this array will hold all of the packed app names
10
- app_names=()
7
+ # get the app name
8
+ app_name=$(jq -r '.name' "$script_dir/../../../package.json")
11
9
 
12
- echo "Creating packed archives of apps..."
13
- # for each app
14
- for app in $apps
15
- do
16
- # @openmrs/esm-whatever -> _openmrs_esm_whatever
17
- app_name=$(echo "$app" | tr '[:punct:]' '_');
18
- # add to our array
19
- app_names+=("$app_name.tgz");
20
- # run yarn pack for our app and add it to the working directory
21
- yarn workspace "$app" pack -o "$working_dir/$app_name.tgz" >/dev/null;
22
- done;
23
- echo "Created packed app archives"
10
+ echo "Creating packed archive of the app..."
11
+ # @openmrs/esm-whatever -> _openmrs_esm_whatever
12
+ packed_app_name=$(echo "$app_name" | tr '[:punct:]' '_');
13
+ # run yarn pack for our app and add it to the working directory
14
+ yarn pack -o "$working_dir/$packed_app_name.tgz" >/dev/null;
15
+ echo "Created packed app archives"
24
16
 
25
17
  echo "Creating dynamic spa-assemble-config.json..."
26
18
  # dynamically assemble our list of frontend modules, prepending the login app and
27
19
  # primary navigation apps; apps will all be in the /app directory of the Docker
28
20
  # container
29
21
  jq -n \
30
- --arg apps "$apps" \
31
- --arg app_names "$(echo ${app_names[@]})" \
32
- '{"@openmrs/esm-primary-navigation-app": "next", "@openmrs/esm-home-app": "next"} + (
33
- ($apps | split("\n")) as $apps | ($app_names | split(" ") | map("/app/" + .)) as $app_files
34
- | [$apps, $app_files]
35
- | transpose
36
- | map({"key": .[0], "value": .[1]})
37
- | from_entries
38
- )' | jq '{"frontendModules": .}' > "$working_dir/spa-assemble-config.json"
22
+ --arg app_name "$app_name" \
23
+ --arg app_file "/app/$packed_app_name.tgz" \
24
+ '{"@openmrs/esm-primary-navigation-app": "next", "@openmrs/esm-home-app": "next"} + {
25
+ ($app_name): $app_file
26
+ }' | jq '{"frontendModules": .}' > "$working_dir/spa-assemble-config.json"
39
27
  echo "Created dynamic spa-assemble-config.json"
40
28
 
41
29
  echo "Copying Docker configuration..."
package/jest.config.js CHANGED
@@ -1,31 +1,33 @@
1
1
  /**
2
2
  * @returns {Promise<import('jest').Config>}
3
3
  */
4
- const path = require("path");
4
+ const path = require('path');
5
5
 
6
6
  module.exports = {
7
7
  collectCoverageFrom: [
8
- "**/src/**/*.component.tsx",
9
- "!**/node_modules/**",
10
- "!**/vendor/**",
11
- "!**/src/**/*.test.*",
12
- "!**/src/declarations.d.ts",
13
- "!**/e2e/**",
8
+ '**/src/**/*.component.tsx',
9
+ '!**/node_modules/**',
10
+ '!**/vendor/**',
11
+ '!**/src/**/*.test.*',
12
+ '!**/src/declarations.d.ts',
13
+ '!**/e2e/**',
14
14
  ],
15
15
  transform: {
16
- "^.+\\.tsx?$": ["@swc/jest"],
16
+ '^.+\\.[jt]sx?$': ['@swc/jest'],
17
17
  },
18
- transformIgnorePatterns: ["/node_modules/(?!@openmrs)"],
18
+ transformIgnorePatterns: ['/node_modules/(?!@openmrs|.+\\.pnp\\.[^\\/]+$)'],
19
19
  moduleNameMapper: {
20
- "@openmrs/esm-framework": "@openmrs/esm-framework/mock",
21
- "\\.(s?css)$": "identity-obj-proxy",
22
- "^lodash-es/(.*)$": "lodash/$1",
23
- "^dexie$": require.resolve("dexie"),
20
+ '@openmrs/esm-framework': '@openmrs/esm-framework/mock',
21
+ '\\.(s?css)$': 'identity-obj-proxy',
22
+ '^lodash-es/(.*)$': 'lodash/$1',
23
+ 'lodash-es': 'lodash',
24
+ '^dexie$': require.resolve('dexie'),
25
+ '^dayjs$': require.resolve('dayjs'),
24
26
  },
25
- setupFilesAfterEnv: ["<rootDir>/src/setup-tests.ts"],
26
- testPathIgnorePatterns: [path.resolve(__dirname, "e2e")],
27
- testEnvironment: "jsdom",
27
+ setupFilesAfterEnv: [path.resolve(__dirname, 'tools', 'setup-tests.ts')],
28
+ testPathIgnorePatterns: [path.resolve(__dirname, 'e2e')],
29
+ testEnvironment: 'jsdom',
28
30
  testEnvironmentOptions: {
29
- url: "http://localhost/",
31
+ url: 'http://localhost/',
30
32
  },
31
33
  };
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@mbehenri/openmrs-esm-opentms-meet-app",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "license": "MPL-2.0",
5
- "description": "The OpenMRS Opentms Meet application (micro front-end)",
5
+ "description": "An OpenMRS seed application for building microfrontends",
6
6
  "browser": "dist/openmrs-esm-opentms-meet-app.js",
7
7
  "main": "src/index.ts",
8
8
  "source": true,
@@ -11,22 +11,16 @@
11
11
  "serve": "webpack serve --mode=development",
12
12
  "build": "webpack --mode production",
13
13
  "analyze": "webpack --mode=production --env analyze=true",
14
- "lint": "TIMING=1 eslint src --ext js,jsx,ts,tsx",
14
+ "lint": "eslint src --ext js,jsx,ts,tsx --max-warnings 0",
15
15
  "prettier": "prettier --write \"src/**/*.{ts,tsx}\" --list-different",
16
16
  "typescript": "tsc",
17
17
  "test": "jest --config jest.config.js --passWithNoTests",
18
- "verify": "turbo lint typescript",
19
- "verifyplus": "turbo lint typescript coverage",
18
+ "verify": "turbo lint typescript coverage",
20
19
  "coverage": "yarn test --coverage",
21
20
  "prepare": "husky install",
22
- "extract-translations": "i18next 'src/**/*.component.tsx' --config ./i18next-parser.config.js",
21
+ "extract-translations": "i18next 'src/**/*.component.tsx' --config ./tools/i18next-parser.config.js",
23
22
  "test-e2e": "playwright test"
24
23
  },
25
- "husky": {
26
- "hooks": {
27
- "pre-commit": "pretty-quick --staged && yarn verify"
28
- }
29
- },
30
24
  "browserslist": [
31
25
  "extends browserslist-config-openmrs"
32
26
  ],
@@ -36,19 +30,18 @@
36
30
  ],
37
31
  "repository": {
38
32
  "type": "git",
39
- "url": "https://github.com/OpenSecureFoundation/openmrs-esm-opentms-meet-app"
33
+ "url": "git+https://github.com/openmrs/openmrs-esm-opentms-meet-app.git"
40
34
  },
41
- "homepage": "https://github.com/OpenSecureFoundation/openmrs-esm-opentms-meet-app#readme",
35
+ "homepage": "https://github.com/openmrs/openmrs-esm-opentms-meet-app#readme",
42
36
  "publishConfig": {
43
37
  "access": "public"
44
38
  },
45
39
  "bugs": {
46
- "url": "https://github.com/OpenSecureFoundation/openmrs-esm-opentms-meet-app/issues"
40
+ "url": "https://github.com/openmrs/openmrs-esm-opentms-meet-app/issues"
47
41
  },
48
42
  "dependencies": {
49
- "@carbon/react": "^1.33.1",
50
- "lodash-es": "^4.17.21",
51
- "react-image-annotate": "^1.8.0"
43
+ "@carbon/react": "^1.83.0",
44
+ "lodash-es": "^4.17.21"
52
45
  },
53
46
  "peerDependencies": {
54
47
  "@openmrs/esm-framework": "*",
@@ -59,50 +52,56 @@
59
52
  "rxjs": "6.x"
60
53
  },
61
54
  "devDependencies": {
62
- "@openmrs/esm-framework": "next",
55
+ "@openmrs/esm-framework": "^8.0.1-pre.3305",
63
56
  "@openmrs/esm-styleguide": "next",
64
- "@playwright/test": "^1.30.0",
65
- "@swc/cli": "^0.1.62",
57
+ "@playwright/test": "^1.52.0",
58
+ "@swc/cli": "^0.3.12",
66
59
  "@swc/core": "^1.3.68",
67
- "@swc/jest": "^0.2.26",
68
- "@testing-library/dom": "^8.20.1",
69
- "@testing-library/jest-dom": "^5.16.5",
70
- "@testing-library/react": "^13.4.0",
71
- "@testing-library/user-event": "^14.4.3",
60
+ "@swc/jest": "^0.2.36",
61
+ "@testing-library/dom": "^10.1.0",
62
+ "@testing-library/jest-dom": "^6.4.5",
63
+ "@testing-library/react": "^15.0.6",
64
+ "@testing-library/user-event": "^14.5.2",
65
+ "@types/jest": "^29.5.12",
72
66
  "@types/react": "^18.2.14",
73
67
  "@types/react-dom": "^18.2.6",
74
68
  "@types/react-router": "^5.1.20",
75
69
  "@types/react-router-dom": "^5.3.3",
76
70
  "@types/webpack-env": "^1.18.1",
77
- "@typescript-eslint/eslint-plugin": "^5.61.0",
78
- "@typescript-eslint/parser": "^5.61.0",
71
+ "@typescript-eslint/eslint-plugin": "^7.8.0",
72
+ "@typescript-eslint/parser": "^7.8.0",
79
73
  "css-loader": "^6.8.1",
74
+ "dayjs": "^1.11.13",
80
75
  "dotenv": "^16.0.3",
81
- "eslint": "^8.44.0",
76
+ "eslint": "^8.50.0",
82
77
  "eslint-config-prettier": "^8.8.0",
83
- "eslint-config-ts-react-important-stuff": "^3.0.0",
84
- "eslint-plugin-prettier": "^4.2.1",
85
- "husky": "^8.0.3",
78
+ "eslint-plugin-jest-dom": "^5.4.0",
79
+ "eslint-plugin-prettier": "^5.1.3",
80
+ "eslint-plugin-react-hooks": "^4.6.2",
81
+ "husky": "^9.1.7",
86
82
  "i18next": "^23.2.8",
87
- "i18next-parser": "^8.0.0",
83
+ "i18next-parser": "^9.0.2",
88
84
  "identity-obj-proxy": "^3.0.0",
89
- "jest": "^28.1.3",
90
- "jest-cli": "^28.1.3",
91
- "jest-environment-jsdom": "^28.1.3",
92
- "openmrs": "next",
93
- "prettier": "^2.8.8",
94
- "pretty-quick": "^3.1.3",
85
+ "jest": "^29.7.0",
86
+ "jest-cli": "^29.7.0",
87
+ "jest-environment-jsdom": "^29.7.0",
88
+ "lint-staged": "^15.2.2",
89
+ "openmrs": "^8.0.1-pre.3305",
90
+ "prettier": "^3.3.3",
95
91
  "react": "^18.2.0",
96
92
  "react-dom": "^18.2.0",
97
93
  "react-i18next": "^11.18.6",
98
94
  "react-router-dom": "^6.14.1",
99
95
  "rxjs": "^6.6.7",
100
96
  "swc-loader": "^0.2.3",
101
- "turbo": "^1.12.4",
102
- "typescript": "^4.9.5",
103
- "webpack": "^5.88.1",
104
- "webpack-cli": "^5.1.4",
105
- "webpack-dev-server": "^5.0.4"
97
+ "turbo": "^2.5.2",
98
+ "typescript": "~5.5",
99
+ "webpack": "^5.99.9",
100
+ "webpack-cli": "^6.0.1"
101
+ },
102
+ "lint-staged": {
103
+ "packages/**/src/**/*.{ts,tsx}": "eslint --cache --fix --max-warnings 0",
104
+ "*.{css,scss,ts,tsx}": "prettier --write --list-different"
106
105
  },
107
- "packageManager": "yarn@3.6.1"
108
- }
106
+ "packageManager": "yarn@4.9.1"
107
+ }
@@ -1,10 +1,10 @@
1
- import { devices, PlaywrightTestConfig } from "@playwright/test";
2
- import * as dotenv from "dotenv";
1
+ import { devices, PlaywrightTestConfig } from '@playwright/test';
2
+ import * as dotenv from 'dotenv';
3
3
  dotenv.config();
4
4
 
5
5
  // See https://playwright.dev/docs/test-configuration.
6
6
  const config: PlaywrightTestConfig = {
7
- testDir: "./e2e/specs",
7
+ testDir: './e2e/specs',
8
8
  timeout: 3 * 60 * 1000,
9
9
  expect: {
10
10
  timeout: 40 * 1000,
@@ -12,20 +12,18 @@ const config: PlaywrightTestConfig = {
12
12
  fullyParallel: true,
13
13
  forbidOnly: !!process.env.CI,
14
14
  retries: 0,
15
- reporter: process.env.CI
16
- ? [["junit", { outputFile: "results.xml" }], ["html"]]
17
- : [["html"]],
18
- globalSetup: require.resolve("./e2e/core/global-setup"),
15
+ reporter: process.env.CI ? [['junit', { outputFile: 'results.xml' }], ['html']] : [['html']],
16
+ globalSetup: require.resolve('./e2e/core/global-setup'),
19
17
  use: {
20
18
  baseURL: `${process.env.E2E_BASE_URL}/spa/`,
21
- storageState: "e2e/storageState.json",
22
- video: "retain-on-failure",
19
+ storageState: 'e2e/storageState.json',
20
+ video: 'retain-on-failure',
23
21
  },
24
22
  projects: [
25
23
  {
26
- name: "chromium",
24
+ name: 'chromium',
27
25
  use: {
28
- ...devices["Desktop Chrome"],
26
+ ...devices['Desktop Chrome'],
29
27
  },
30
28
  },
31
29
  ],
@@ -0,0 +1,8 @@
1
+ module.exports = {
2
+ bracketSpacing: true,
3
+ printWidth: 120,
4
+ semi: true,
5
+ singleQuote: true,
6
+ tabWidth: 2,
7
+ trailingComma: 'all',
8
+ };
@@ -1,7 +1,7 @@
1
1
  @use '@carbon/colors';
2
2
  @use '@carbon/styles/scss/spacing';
3
3
  @use '@carbon/styles/scss/type';
4
- @import '@openmrs/esm-styleguide/src/vars';
4
+ @use '@openmrs/esm-styleguide/src/vars' as *;
5
5
 
6
6
  // TO DO Move this styles to style - guide
7
7
  // https://github.com/openmrs/openmrs-esm-core/blob/master/packages/framework/esm-styleguide/src/_vars.scss