@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.
- package/.eslintrc +1 -1
- package/.husky/pre-commit +2 -2
- package/.husky/pre-push +0 -0
- package/.turbo.json +1 -1
- package/README.md +25 -14
- package/__mocks__/react-i18next.js +9 -14
- package/dist/147.js +1 -0
- package/dist/147.js.map +1 -0
- package/dist/184.js +2 -0
- package/dist/184.js.LICENSE.txt +14 -0
- package/dist/184.js.map +1 -0
- package/dist/197.js +1 -0
- package/dist/23.js +1 -0
- package/dist/23.js.map +1 -0
- package/dist/26.js +1 -0
- package/dist/26.js.map +1 -0
- package/dist/282.js +2 -0
- package/dist/282.js.LICENSE.txt +32 -0
- package/dist/282.js.map +1 -0
- package/dist/300.js +1 -0
- package/dist/335.js +1 -0
- package/dist/353.js +1 -0
- package/dist/353.js.map +1 -0
- package/dist/471.js +1 -0
- package/dist/471.js.map +1 -0
- package/dist/509.js +2 -0
- package/dist/509.js.LICENSE.txt +54 -0
- package/dist/509.js.map +1 -0
- package/dist/51.js +1 -0
- package/dist/51.js.map +1 -0
- package/dist/540.js +2 -0
- package/dist/540.js.LICENSE.txt +9 -0
- package/dist/540.js.map +1 -0
- package/dist/55.js +1 -0
- package/dist/652.js +1 -0
- package/dist/740.js +1 -0
- package/dist/740.js.map +1 -0
- package/dist/852.js +1 -0
- package/dist/852.js.map +1 -0
- package/dist/864.js +1 -0
- package/dist/864.js.map +1 -0
- package/dist/897.js +2 -0
- package/dist/897.js.LICENSE.txt +24 -0
- package/dist/897.js.map +1 -0
- package/dist/91.js +1 -0
- package/dist/91.js.map +1 -0
- package/dist/961.js +2 -0
- package/dist/961.js.LICENSE.txt +19 -0
- package/dist/961.js.map +1 -0
- package/dist/99.js +1 -0
- package/dist/b8b28cec32e885bb.png +0 -0
- package/dist/main.js +1 -0
- package/dist/main.js.map +1 -0
- package/dist/openmrs-esm-opentms-meet-app.js +1 -0
- package/dist/openmrs-esm-opentms-meet-app.js.buildmanifest.json +678 -0
- package/dist/openmrs-esm-opentms-meet-app.js.map +1 -0
- package/dist/routes.json +1 -0
- package/e2e/core/global-setup.ts +8 -8
- package/e2e/core/index.ts +1 -1
- package/e2e/core/test.ts +3 -3
- package/e2e/fixtures/api.ts +2 -9
- package/e2e/fixtures/index.ts +1 -1
- package/e2e/pages/index.ts +1 -1
- package/e2e/pages/root-page.ts +32 -0
- package/e2e/specs/template-app.spec.ts +23 -0
- package/e2e/support/github/Dockerfile +1 -1
- package/e2e/support/github/docker-compose.yml +2 -2
- package/e2e/support/github/run-e2e-docker-env.sh +13 -25
- package/jest.config.js +19 -17
- package/package.json +44 -45
- package/playwright.config.ts +9 -11
- package/prettier.config.js +8 -0
- package/src/components/Appointment/index.scss +1 -1
- package/src/components/Appointment/index.tsx +30 -58
- package/src/components/Demand/tab.scss +1 -1
- package/src/components/Demand/tab.tsx +38 -58
- package/src/components/EmptyLayout/index.scss +1 -1
- package/src/components/MeetIframe/index.tsx +16 -35
- package/src/config-schema.ts +5 -5
- package/src/dashboard.meta.ts +6 -6
- package/src/extensions/AppointmentTabExt.tsx +17 -0
- package/src/{Extensions → extensions}/DemandTabExt.tsx +2 -2
- package/src/{Extensions → extensions}/MeetIframeExt.tsx +2 -2
- package/src/{Extensions → extensions}/ValidateDemandFormExt.tsx +5 -6
- package/src/index.ts +11 -31
- package/src/pages/home/home.component.tsx +2 -2
- package/src/repositories/opentms/index.ts +10 -0
- package/src/repositories/{Opencare → opentms}/prodRepository.ts +36 -65
- package/src/repositories/{Opencare → opentms}/repository.ts +5 -8
- package/src/root.component.tsx +8 -19
- package/src/root.scss +5 -5
- package/src/root.test.tsx +9 -14
- package/src/routes.json +6 -11
- package/src/services/doctor.ts +13 -22
- package/{i18next-parser.config.js → tools/i18next-parser.config.js} +19 -19
- package/tools/setup-tests.ts +1 -0
- package/tools/update-openmrs-deps.mjs +43 -0
- package/translations/am.json +24 -0
- package/translations/en.json +24 -1
- package/tsconfig.json +1 -1
- package/webpack.config.js +1 -1
- package/.yarn/install-state.gz +0 -0
- package/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs +0 -541
- package/.yarn/releases/yarn-3.6.1.cjs +0 -874
- package/.yarnrc.yml +0 -9
- package/e2e/pages/home-page.ts +0 -9
- package/e2e/specs/sample-test.spec.ts +0 -11
- package/src/Extensions/AppointmentTabExt.tsx +0 -23
- 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":""}
|
package/dist/routes.json
ADDED
|
@@ -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"}
|
package/e2e/core/global-setup.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { request } from
|
|
2
|
-
import * as dotenv from
|
|
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
|
-
|
|
17
|
-
)
|
|
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:
|
|
21
|
+
locale: 'en',
|
|
22
22
|
},
|
|
23
23
|
headers: {
|
|
24
|
-
|
|
24
|
+
'Content-Type': 'application/json',
|
|
25
25
|
Authorization: `Basic ${token}`,
|
|
26
26
|
},
|
|
27
27
|
});
|
|
28
|
-
await requestContext.storageState({ path:
|
|
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
|
|
1
|
+
export * from './test';
|
package/e2e/core/test.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { APIRequestContext, Page, test as base } from
|
|
2
|
-
import { api } from
|
|
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:
|
|
19
|
+
api: [api, { scope: 'worker' }],
|
|
20
20
|
});
|
package/e2e/fixtures/api.ts
CHANGED
|
@@ -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: {
|
package/e2e/fixtures/index.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from
|
|
1
|
+
export * from './api';
|
package/e2e/pages/index.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from
|
|
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,11 +1,11 @@
|
|
|
1
1
|
# This docker compose file is used to create a backend environment for the e2e.yml workflow.
|
|
2
|
-
version:
|
|
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
|
-
-
|
|
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
|
|
8
|
-
|
|
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
|
|
13
|
-
#
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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
|
|
31
|
-
--arg
|
|
32
|
-
'{"@openmrs/esm-primary-navigation-app": "next", "@openmrs/esm-home-app": "next"} +
|
|
33
|
-
($
|
|
34
|
-
|
|
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(
|
|
4
|
+
const path = require('path');
|
|
5
5
|
|
|
6
6
|
module.exports = {
|
|
7
7
|
collectCoverageFrom: [
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
-
|
|
16
|
+
'^.+\\.[jt]sx?$': ['@swc/jest'],
|
|
17
17
|
},
|
|
18
|
-
transformIgnorePatterns: [
|
|
18
|
+
transformIgnorePatterns: ['/node_modules/(?!@openmrs|.+\\.pnp\\.[^\\/]+$)'],
|
|
19
19
|
moduleNameMapper: {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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: [
|
|
26
|
-
testPathIgnorePatterns: [path.resolve(__dirname,
|
|
27
|
-
testEnvironment:
|
|
27
|
+
setupFilesAfterEnv: [path.resolve(__dirname, 'tools', 'setup-tests.ts')],
|
|
28
|
+
testPathIgnorePatterns: [path.resolve(__dirname, 'e2e')],
|
|
29
|
+
testEnvironment: 'jsdom',
|
|
28
30
|
testEnvironmentOptions: {
|
|
29
|
-
url:
|
|
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.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"license": "MPL-2.0",
|
|
5
|
-
"description": "
|
|
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": "
|
|
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/
|
|
33
|
+
"url": "git+https://github.com/openmrs/openmrs-esm-opentms-meet-app.git"
|
|
40
34
|
},
|
|
41
|
-
"homepage": "https://github.com/
|
|
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/
|
|
40
|
+
"url": "https://github.com/openmrs/openmrs-esm-opentms-meet-app/issues"
|
|
47
41
|
},
|
|
48
42
|
"dependencies": {
|
|
49
|
-
"@carbon/react": "^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": "
|
|
55
|
+
"@openmrs/esm-framework": "^8.0.1-pre.3305",
|
|
63
56
|
"@openmrs/esm-styleguide": "next",
|
|
64
|
-
"@playwright/test": "^1.
|
|
65
|
-
"@swc/cli": "^0.
|
|
57
|
+
"@playwright/test": "^1.52.0",
|
|
58
|
+
"@swc/cli": "^0.3.12",
|
|
66
59
|
"@swc/core": "^1.3.68",
|
|
67
|
-
"@swc/jest": "^0.2.
|
|
68
|
-
"@testing-library/dom": "^
|
|
69
|
-
"@testing-library/jest-dom": "^
|
|
70
|
-
"@testing-library/react": "^
|
|
71
|
-
"@testing-library/user-event": "^14.
|
|
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": "^
|
|
78
|
-
"@typescript-eslint/parser": "^
|
|
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.
|
|
76
|
+
"eslint": "^8.50.0",
|
|
82
77
|
"eslint-config-prettier": "^8.8.0",
|
|
83
|
-
"eslint-
|
|
84
|
-
"eslint-plugin-prettier": "^
|
|
85
|
-
"
|
|
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": "^
|
|
83
|
+
"i18next-parser": "^9.0.2",
|
|
88
84
|
"identity-obj-proxy": "^3.0.0",
|
|
89
|
-
"jest": "^
|
|
90
|
-
"jest-cli": "^
|
|
91
|
-
"jest-environment-jsdom": "^
|
|
92
|
-
"
|
|
93
|
-
"
|
|
94
|
-
"
|
|
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": "^
|
|
102
|
-
"typescript": "
|
|
103
|
-
"webpack": "^5.
|
|
104
|
-
"webpack-cli": "^
|
|
105
|
-
|
|
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@
|
|
108
|
-
}
|
|
106
|
+
"packageManager": "yarn@4.9.1"
|
|
107
|
+
}
|
package/playwright.config.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { devices, PlaywrightTestConfig } from
|
|
2
|
-
import * as dotenv from
|
|
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:
|
|
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
|
-
|
|
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:
|
|
22
|
-
video:
|
|
19
|
+
storageState: 'e2e/storageState.json',
|
|
20
|
+
video: 'retain-on-failure',
|
|
23
21
|
},
|
|
24
22
|
projects: [
|
|
25
23
|
{
|
|
26
|
-
name:
|
|
24
|
+
name: 'chromium',
|
|
27
25
|
use: {
|
|
28
|
-
...devices[
|
|
26
|
+
...devices['Desktop Chrome'],
|
|
29
27
|
},
|
|
30
28
|
},
|
|
31
29
|
],
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
@use '@carbon/colors';
|
|
2
2
|
@use '@carbon/styles/scss/spacing';
|
|
3
3
|
@use '@carbon/styles/scss/type';
|
|
4
|
-
@
|
|
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
|